Разделы и создание файловых систем [104.1]

Рейтинг: 59.6% · 10 голосов
Полный курс LPIC-1 (экзамены 101-500 и 102-500): архитектура, загрузка, пакеты, команды и текст, ФС и права, шелл-скрипты, пользователи, сервисы, сеть, безопасность. Debian и RHEL.
Ответить
Аватара пользователя
Sergey_Sysadmin
Сообщения: 134
Зарегистрирован: 11 май 2026, 05:31

Разделы и создание файловых систем [104.1]

Сообщение Sergey_Sysadmin »

Оглавление курса (41)
  1. Введение в LPIC-1 и как устроен путь администратора
  2. Железо, устройства и модули ядра [101.1]
  3. Загрузка системы: от BIOS до systemd [101.2]
  4. systemd, цели и уровни выполнения [101.3]
  5. План разметки диска и swap [102.1]
  6. Загрузчик GRUB 2 [102.2]
  7. Разделяемые библиотеки [102.3]
  8. Управление пакетами в Debian: dpkg и apt [102.4]
  9. Управление пакетами RPM, DNF и Zypper [102.5]
  10. Linux как гость виртуализации [102.6]
  11. Командная строка Bash [103.1]
  12. Обработка текста фильтрами [103.2]
  13. Базовое управление файлами [103.3]
  14. Потоки, конвейеры и перенаправление [103.4]
  15. Процессы: создание, мониторинг, сигналы [103.5]
  16. Приоритеты выполнения процессов [103.6]
  17. Регулярные выражения [103.7]
  18. Редактор vi и vim [103.8]
  19. Разделы и создание файловых систем [104.1] (вы здесь)
  20. Целостность и обслуживание ФС [104.2]
  21. Монтирование файловых систем [104.3]
  22. Урок 21. Права доступа и владение: rwx, chmod, umask и специальные биты
  23. Жёсткие и символические ссылки
  24. FHS и поиск файлов в системе [104.7]
  25. Окружение и кастомизация оболочки [105.1]
  26. Урок 25. Написание простых bash-скриптов [105.2]
  27. Графика, рабочие столы и доступность
  28. Учётные записи пользователей и групп
  29. Автоматизация задач: cron, at, таймеры [107.2]
  30. Локализация и интернационализация [107.3]
  31. Системное время и синхронизация [108.1]
  32. Системное логирование [108.2]
  33. Основы почтового агента (MTA) [108.3]
  34. Печать и CUPS [108.4]
  35. Основы интернет-протоколов [109.1]
  36. Постоянная конфигурация сети [109.2]
  37. Диагностика сети [109.3]
  38. DNS на стороне клиента [109.4]
  39. Задачи администрирования безопасности [110.1]
  40. Настройка безопасности хоста [110.2]
  41. Шифрование данных: SSH и GnuPG [110.3]
Урок 18. Разделы и создание файловых систем [104.1]

Прежде чем диск начнёт хранить данные, его надо разметить и подготовить. Администратор постоянно сталкивается с этим: подключили новый диск в сервере или облаке, надо нарезать разделы, выбрать схему таблицы, создать файловую систему и не забыть про swap. В этом уроке разберём две схемы таблиц разделов (MBR и GPT), инструменты разметки (fdisk, gdisk, parted, cfdisk), создание ФС (ext4, XFS, vfat, swap), коротко глянем на Btrfs с её подтомами и снапшотами, и научимся опознавать устройства через lsblk и blkid. Отдельно про выравнивание - тему, на которой режутся даже опытные.

Изображение

Как это работает

Таблица разделов - это маленькая структура в начале диска, которая говорит ядру, на какие куски диск поделён. Историческая схема MBR (она же msdos) живёт в первом секторе, поддерживает максимум 4 первичных раздела и диски до 2 ТиБ. Чтобы получить больше четырёх разделов, один делают расширенным (extended), а внутри него создают логические. Это легаси, но оно всё ещё встречается на старых и совместимых системах.

GPT - современная схема. Она хранит таблицу в начале и дублирует её в конце диска, поддерживает диски сильно больше 2 ТиБ и до 128 разделов по умолчанию. Каждый раздел и сам диск имеют свой GUID. На любой машине с UEFI вы используете GPT, и в 2026 это выбор по умолчанию практически везде. MBR оставляем только там, где железо или гипервизор требует BIOS-загрузки.

Файловая система - это уже способ организации данных внутри раздела: где каталоги, где inode, где журнал. Раздел без ФС - просто сырое пространство. Команды семейства mkfs создают эту структуру. Важно понимать: разметка диска и создание ФС - два разных шага, и mkfs стирает всё, что было в разделе.

Выравнивание (alignment) - про то, чтобы начало раздела совпадало с физическими границами носителя. У современных дисков физический сектор 4 КиБ (Advanced Format), а у SSD есть страницы и блоки стирания. Если раздел начинается не на границе, каждая запись задевает два физических блока вместо одного - падает скорость и растёт износ SSD. Современные инструменты по умолчанию выравнивают разделы на 1 МиБ (сектор 2048), и это правильное поведение, которое не надо ломать руками.

Команды и примеры

Сначала посмотрим, что вообще есть в системе. lsblk показывает дерево блочных устройств, blkid - метки и UUID с типами ФС.

Код: Выделить всё

lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT,UUID
sudo blkid
sudo blkid /dev/sda1
Пакеты с инструментами различаются по семействам. В Debian/Ubuntu:

Код: Выделить всё

sudo apt install fdisk gdisk parted dosfstools xfsprogs btrfs-progs
В RHEL 10/Fedora (через dnf, в RHEL 10 это dnf5):

Код: Выделить всё

sudo dnf install util-linux gdisk parted dosfstools xfsprogs btrfs-progs
Разметка диска. fdisk в современных версиях умеет и MBR, и GPT. Создадим GPT-таблицу и один раздел на весь диск:

Код: Выделить всё

sudo fdisk /dev/sdb
# g  - новая таблица GPT (o - старая MBR)
# n  - новый раздел, Enter на дефолтных границах (выравнивание на 2048)
# t  - сменить тип (например 19 - Linux swap, 1 - EFI System)
# p  - показать таблицу
# w  - записать и выйти
gdisk - аналог fdisk, заточенный именно под GPT, удобен когда нужны точные GUID типов. cfdisk - то же самое, но с псевдографическим меню в терминале, новичкам нагляднее.

parted работает и в интерактиве, и одной строкой - удобно для скриптов:

Код: Выделить всё

sudo parted /dev/sdb mklabel gpt
sudo parted -a optimal /dev/sdb mkpart primary ext4 1MiB 100%
sudo parted /dev/sdb print
Ключ -a optimal заставляет parted выравнивать по оптимальной границе устройства. Указывайте размеры в MiB/GiB, а не в процентах с долями, чтобы не словить кривое выравнивание.

Теперь создаём файловые системы:

Код: Выделить всё

sudo mkfs.ext4 -L data /dev/sdb1
sudo mkfs.xfs -f -L fast /dev/sdb1
sudo mkfs.vfat -F 32 -n BOOTEFI /dev/sdb1
Ключ -L задаёт метку тома, -F 32 у vfat - именно FAT32 (нужен для раздела EFI System), -f у mkfs.xfs форсирует перезапись существующей ФС. XFS нельзя уменьшить после создания, ext4 можно ужать в размонтированном виде - это влияет на выбор.

Swap создаётся отдельной парой команд:

Код: Выделить всё

sudo mkswap -L swap /dev/sdb2
sudo swapon /dev/sdb2
swapon --show
Btrfs - современная ФС с подтомами и снапшотами. Подтом (subvolume) - это как отдельная вложенная файловая система внутри одной Btrfs, со своим деревом каталогов, которую можно отдельно монтировать и снапшотить. Снапшот - почти мгновенная копия за счёт copy-on-write: данные не дублируются, пока их не изменят.

Код: Выделить всё

sudo mkfs.btrfs -L pool /dev/sdb1
sudo mount /dev/sdb1 /mnt
sudo btrfs subvolume create /mnt/@home
sudo btrfs subvolume snapshot /mnt/@home /mnt/@home_snap
sudo btrfs subvolume list /mnt
Частые грабли
  • Запустили mkfs не на тот раздел - данные стёрты без подтверждения. Всегда сверяйтесь с lsblk перед mkfs, ориентируйтесь на размер и метку, а не только на букву.
  • Сделали MBR на диске больше 2 ТиБ - доступно только 2 ТиБ, остальное пропадает. На больших дисках только GPT.
  • Ручное выравнивание на сектор 63 (старый дефолт) на SSD - просадка скорости и износ. Не трогайте дефолтные 1 МиБ без причины.
  • Раздел EFI отформатировали в ext4 - UEFI его не увидит. Раздел ESP всегда vfat (FAT32).
  • Изменили таблицу разделов на смонтированном диске и ждёте, что ядро сразу подхватит. Нужен partprobe или перезагрузка.
  • Прописали в fstab имя /dev/sdb1, а после перезагрузки диск стал sdc - система не грузится. Используйте UUID из blkid.
Мини-лаба
  • Добавьте к стенду чистый виртуальный диск (например /dev/sdb) или создайте loop-устройство из файла через losetup.
  • Создайте на нём GPT-таблицу и два раздела: 512 МиБ и остаток - инструментом на выбор (fdisk, gdisk или parted).
  • На первом разделе создайте mkfs.ext4 с меткой lab, на втором - mkfs.xfs.
  • Проверьте результат через lsblk -f и blkid, запишите UUID обоих разделов.
  • Смонтируйте оба раздела во временные точки и убедитесь, что запись работает.
  • Переразметьте диск под Btrfs, создайте подтом и снимите с него снапшот, выведите список подтомов.
Контрольные вопросы
  • В чём ключевые отличия MBR от GPT по числу разделов и предельному размеру диска?
  • Какой командой и с каким ключом создаётся раздел EFI System и почему именно такая ФС?
  • Чем mkfs.xfs принципиально отличается от mkfs.ext4 в части изменения размера ФС?
  • Что такое выравнивание раздела и к чему приводит его нарушение на SSD?
  • Какие две команды нужны, чтобы подготовить и активировать swap-раздел?
  • Что даёт copy-on-write при создании снапшота подтома в Btrfs?
👍2 ❤️8 🔥1 😄 🤔1
Аватара пользователя
dasha1
Сообщения: 1
Зарегистрирован: 21 май 2026, 09:43

Re: Разделы и создание файловых систем [104.1]

Сообщение dasha1 »

А если parted ругается Warning что раздел не выровнен по оптимальной границе - это критично или можно забить? У меня на старом образе вылезает.
👍1 ❤️ 🔥 😄 🤔
Аватара пользователя
marang
Сообщения: 1
Зарегистрирован: 20 май 2026, 12:21

Re: Разделы и создание файловых систем [104.1]

Сообщение marang »

Проверил на проде: после fdisk ядро не видело новый раздел, помог partprobe /dev/sdb без ребута. Спасибо, что предупредили про смонтированный диск.
👍 ❤️ 🔥 😄 🤔
Ответить
← Предыдущая глава
Редактор vi и vim [103.8]
Следующая глава →
Целостность и обслуживание ФС [104.2]

Все главы курса «LPIC-1: администратор Linux (101 + 102)»

Поделиться темой: ✈ Telegram VK

Вернуться в «LPIC-1: администратор Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя