- Home »

Создание раздела в Linux — пошаговое руководство
Когда-то давно, в те времена, когда дисковое пространство измерялось в мегабайтах, а не терабайтах, управление разделами было настоящим искусством. Сегодня же многие админы просто кликают “далее-далее-готово” в инсталляторе и забывают про эту тему. Но когда дело доходит до серьёзной настройки сервера, вопросы партиционирования встают ребром.
Эта статья поможет вам разобраться с созданием разделов в Linux с нуля — от понимания основ до практических кейсов. Мы пройдём весь путь от теории к практике, рассмотрим популярные утилиты, их плюсы и минусы, а также поделимся лайфхаками для автоматизации.
Как это работает: основы партиционирования
Прежде чем копаться в командах, давайте разберёмся, что происходит под капотом. Жёсткий диск — это не просто куча байтов, а структурированное пространство с таблицами разделов, файловыми системами и метаданными.
Существует два основных типа таблиц разделов:
- MBR (Master Boot Record) — старый формат, поддерживает диски до 2TB и максимум 4 основных раздела
- GPT (GUID Partition Table) — современный стандарт, поддерживает диски до 8ZB и до 128 разделов
Интересный факт: GPT на самом деле хранит копию таблицы разделов в конце диска для восстановления данных. MBR такой роскоши не предоставляет — одна ошибка в первых 512 байтах, и привет новый диск.
Быстрый старт: создаём раздел за 5 минут
Для нетерпеливых — вот минимальный набор команд для создания раздела на новом диске:
# Смотрим, какие диски у нас есть
lsblk
# Создаём раздел с помощью fdisk (для MBR) или gdisk (для GPT)
sudo fdisk /dev/sdb
# В интерактивном режиме:
# n - создать новый раздел
# p - основной раздел (для MBR)
# 1 - номер раздела
# Enter - начальный сектор по умолчанию
# +10G - размер раздела
# w - записать изменения
# Создаём файловую систему
sudo mkfs.ext4 /dev/sdb1
# Монтируем
sudo mkdir /mnt/newdisk
sudo mount /dev/sdb1 /mnt/newdisk
# Добавляем в fstab для автомонтирования
echo "/dev/sdb1 /mnt/newdisk ext4 defaults 0 2" | sudo tee -a /etc/fstab
Но это только верхушка айсберга. Давайте копнём глубже.
Утилиты для работы с разделами: сравнение и выбор
Утилита | Тип таблицы | Плюсы | Минусы | Рекомендации |
---|---|---|---|---|
fdisk | MBR | Есть везде, простой интерфейс | Не работает с GPT | Только для старых систем или маленьких дисков |
gdisk | GPT | Современный, поддерживает большие диски | Нужно доустанавливать | Лучший выбор для новых серверов |
parted | MBR/GPT | Универсальный, есть GUI версия | Сложнее в освоении | Для профессиональной работы |
cfdisk | MBR | Псевдографический интерфейс | Только MBR | Для тех, кто не любит fdisk |
Практические кейсы: от простого к сложному
Кейс 1: Разбивка диска для веб-сервера
Представьте, что вы настраиваете VPS для веб-проекта. Классическая схема разделов:
# Проверяем доступное пространство
df -h
# Создаём разделы для веб-сервера
sudo gdisk /dev/sdb
# Создаём разделы:
# /dev/sdb1 - 2GB для /var/log (логи)
# /dev/sdb2 - 10GB для /var/www (сайты)
# /dev/sdb3 - 5GB для /var/lib/mysql (база данных)
# /dev/sdb4 - остальное для бэкапов
# Форматируем разделы
sudo mkfs.ext4 /dev/sdb1
sudo mkfs.ext4 /dev/sdb2
sudo mkfs.ext4 /dev/sdb3
sudo mkfs.ext4 /dev/sdb4
# Монтируем
sudo mkdir -p /mnt/{logs,www,mysql,backups}
sudo mount /dev/sdb1 /mnt/logs
sudo mount /dev/sdb2 /mnt/www
sudo mount /dev/sdb3 /mnt/mysql
sudo mount /dev/sdb4 /mnt/backups
Кейс 2: Автоматизация через скрипт
Для тех, кто разворачивает серверы пачками, вот скрипт автоматического партиционирования:
#!/bin/bash
# Скрипт автоматического создания разделов
DISK="/dev/sdb"
MOUNT_BASE="/mnt"
# Проверяем, что диск существует
if [ ! -b "$DISK" ]; then
echo "Диск $DISK не найден"
exit 1
fi
# Создаём таблицу разделов GPT
sudo parted -s $DISK mklabel gpt
# Создаём разделы
sudo parted -s $DISK mkpart primary ext4 0% 20%
sudo parted -s $DISK mkpart primary ext4 20% 60%
sudo parted -s $DISK mkpart primary ext4 60% 100%
# Ждём, пока система обнаружит разделы
sleep 2
# Форматируем
sudo mkfs.ext4 ${DISK}1
sudo mkfs.ext4 ${DISK}2
sudo mkfs.ext4 ${DISK}3
# Создаём точки монтирования
sudo mkdir -p $MOUNT_BASE/{part1,part2,part3}
# Монтируем
sudo mount ${DISK}1 $MOUNT_BASE/part1
sudo mount ${DISK}2 $MOUNT_BASE/part2
sudo mount ${DISK}3 $MOUNT_BASE/part3
echo "Разделы созданы и примонтированы"
lsblk $DISK
Продвинутые техники и нестандартные решения
LVM: гибкость на максимум
Для серьёзных проектов стоит рассмотреть LVM (Logical Volume Manager). Это как RAID, но для разделов:
# Создаём физический том
sudo pvcreate /dev/sdb1
# Создаём группу томов
sudo vgcreate mygroup /dev/sdb1
# Создаём логический том
sudo lvcreate -L 10G -n myvolume mygroup
# Форматируем и монтируем
sudo mkfs.ext4 /dev/mygroup/myvolume
sudo mount /dev/mygroup/myvolume /mnt/lvm
# Магия: увеличиваем том на лету
sudo lvextend -L +5G /dev/mygroup/myvolume
sudo resize2fs /dev/mygroup/myvolume
Шифрование разделов с LUKS
Для чувствительных данных не забываем про шифрование:
# Создаём зашифрованный контейнер
sudo cryptsetup luksFormat /dev/sdb1
# Открываем
sudo cryptsetup luksOpen /dev/sdb1 encrypted_disk
# Форматируем и используем как обычный раздел
sudo mkfs.ext4 /dev/mapper/encrypted_disk
sudo mount /dev/mapper/encrypted_disk /mnt/secure
Мониторинг и диагностика
Полезные команды для контроля состояния дисков:
# Информация о дисках и разделах
lsblk -f
fdisk -l
parted -l
# Проверка файловой системы
sudo fsck /dev/sdb1
# Информация о свободном месте
df -h
du -sh /path/to/directory
# S.M.A.R.T. диагностика
sudo smartctl -a /dev/sdb
Типичные ошибки и как их избежать
- Не делайте бэкапы — главная ошибка новичков. Всегда сначала бэкап, потом эксперименты
- Использование MBR для больших дисков — диски больше 2TB требуют GPT
- Забывание про alignment — для SSD важно правильное выравнивание секторов
- Игнорирование fstab — без записи в fstab разделы не будут монтироваться после перезагрузки
Автоматизация и интеграция
Создание разделов можно интегрировать в системы автоматизации:
Ansible playbook
- name: Create partition
parted:
device: /dev/sdb
number: 1
state: present
part_type: primary
part_start: 0%
part_end: 100%
- name: Format partition
filesystem:
fstype: ext4
dev: /dev/sdb1
- name: Mount partition
mount:
path: /mnt/data
src: /dev/sdb1
fstype: ext4
state: mounted
Terraform для облачных провайдеров
Для выделенных серверов и облачных решений можно автоматизировать создание и подключение дисков через Infrastructure as Code.
Полезные ресурсы
- GNU Parted — официальная документация
- Device Mapper — документация по шифрованию
- Linux Partition HOWTO — классическое руководство
Заключение и рекомендации
Создание разделов в Linux — это базовый навык, который должен быть в арсенале каждого системного администратора. Главные выводы:
- Для современных серверов используйте GPT и gdisk
- Планируйте структуру разделов заранее, особенно для production-серверов
- Автоматизируйте рутинные операции через скрипты
- Не забывайте про мониторинг и резервное копирование
- Для критичных данных используйте шифрование
Помните: диски — это основа всего. Правильно настроенное хранилище — это половина успеха стабильной работы сервера. Экспериментируйте на тестовых машинах, изучайте новые возможности, и ваши серверы будут работать как часы.
В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.
Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.