- Home »

Разметка дисков: fdisk, parted и mkfs
Если ты когда-нибудь поднимал сервер, настраивал VPS или разворачивал Docker-контейнеры, то наверняка сталкивался с вопросом: «А как вообще подготовить диск к работе?» Вот вроде бы купил сервер, вот у тебя есть доступ по SSH, а дальше – магия. На деле всё не так уж сложно, если разобраться. В этой статье расскажу, как размечать и форматировать диски с помощью fdisk, parted и mkfs — простым, но по-настоящему полезным языком. И да, будет много практики, лайфхаков и антипримеров.
Зачем вообще нужна разметка дисков?
На сервере диск — это не просто кусок железа или виртуального пространства. Это структура, в которой всё должно быть чётко организовано. Без разметки система не поймёт, где начинается твой раздел под /home, а где — под /var. Без форматирования файловой системой ты не сможешь записать ни одного байта данных. Именно поэтому грамотная разметка и форматирование — база для любой инфраструктуры.
- Разметка — делим диск на логические куски (разделы), чтобы использовать их по-разному: под систему, swap, данные и т.д.
- Форматирование — создаём файловую систему (ext4, xfs, btrfs и др.), чтобы ОС знала, как хранить файлы.
Почему это важно и что может пойти не так?
Ошибки на этом этапе могут стоить дорого: потеря данных, невозможность загрузки, «битый» диск, проблемы с резервным копированием. В облаке или на выделенном сервере это может означать часы простоя и головную боль. Поэтому знать инструменты — must have.
Как это работает? Алгоритмы и структура
Давай разберёмся, как вообще устроена разметка:
- MBR (Master Boot Record) — старая школа, максимум 4 основных раздела, поддержка до 2 ТБ.
- GPT (GUID Partition Table) — современный стандарт, до 128 разделов, поддержка огромных дисков (до 9.4 зеттабайт!).
Форматирование — это создание структуры хранения файлов. Например, ext4 разбивает раздел на блоки, хранит метаданные, журналы и пр.
fdisk, parted, mkfs — кто есть кто?
Утилита | Что делает | Когда использовать |
---|---|---|
fdisk | Работает с MBR (и частично GPT), консольная, простая | Для старых/простых задач, если диск <2ТБ |
parted | Работает с MBR и GPT, поддерживает resize, скрипты | Для современных дисков, автоматизации, больших объёмов |
mkfs | Создаёт файловую систему (ext4, xfs и др.) | После разметки — всегда |
Как быстро и просто всё настроить? Практические примеры
1. Проверяем, какие диски есть
lsblk
fdisk -l
Видим, например, диск /dev/sdb без разделов.
2. Разметка с помощью fdisk
Простой, но олдскульный способ (MBR):
fdisk /dev/sdb
- n — создать новый раздел
- w — записать изменения
- p — показать таблицу
Если диск больше 2ТБ — не годится, нужен GPT!
3. Разметка с помощью parted (рекомендуется для новых серверов)
parted /dev/sdb
(parted) mklabel gpt
(parted) mkpart primary ext4 0% 100%
(parted) quit
Теперь у тебя есть раздел /dev/sdb1 с GPT.
4. Форматирование с помощью mkfs
mkfs.ext4 /dev/sdb1
Или для xfs:
mkfs.xfs /dev/sdb1
5. Монтирование
mkdir /mnt/data
mount /dev/sdb1 /mnt/data
Для автоматического монтирования добавь строку в /etc/fstab:
/dev/sdb1 /mnt/data ext4 defaults 0 2
Кейсы из жизни: что бывает, если сделать что-то не так
Сценарий | Что пошло не так | Как исправить |
---|---|---|
Использовал fdisk на диске 4ТБ | Диск видится только на 2ТБ, остальное не доступно | Используй parted с GPT, пересоздай разделы |
Забыл отформатировать раздел | mount выдаёт ошибку “wrong fs type” | mkfs.ext4 /dev/XXX, затем монтируй |
Удалил раздел, не сохранив данные | Данные потеряны, раздела нет | Восстановление только через спец. ПО (testdisk), но не всегда успешно |
В fstab указал неправильный UUID | Система не грузится, emergency shell | Используй blkid для поиска правильного UUID |
Ошибки новичков и мифы
- Миф: fdisk подходит для всех дисков. Факт: fdisk не работает с большими дисками (GPT), только MBR.
- Миф: parted сложнее, чем fdisk. Факт: parted логичнее и автоматизируется скриптами.
- Ошибка: Форматировать раздел, на котором есть данные — данные будут уничтожены!
- Ошибка: Не указывать тип файловой системы при создании раздела в parted — иногда система не определяет FS автоматически.
Похожие решения и альтернативы
- gparted — графическая версия parted, удобно для десктопа, но не для серверов без GUI. gparted.org
- lsblk, blkid — показывают инфу о разделах и UUID.
- cfdisk — полуинтерактивная альтернатива fdisk, чуть удобнее.
- sgdisk — мощный инструмент для GPT.
Статистика и сравнение
Критерий | fdisk | parted | gparted |
---|---|---|---|
Работа с GPT | Частично (ограниченно) | Полная | Полная |
Скриптование | Трудно | Легко | Нет |
Интерфейс | CLI | CLI | GUI |
Макс. размер диска | 2 ТБ | 9.4 ZB (GPT) | 9.4 ZB (GPT) |
Интересные факты и лайфхаки
- parted поддерживает resize разделов «на лету» — удобно для LVM и облачных серверов.
- Можно создавать разделы прямо из скриптов, например:
parted -s /dev/sdb mklabel gpt mkpart primary ext4 0% 100%
Это ускоряет автоматизацию при массовом деплое. - mkfs.ext4 поддерживает опцию
-E lazy_itable_init=1,lazy_journal_init=1
— ускоряет форматирование больших разделов. - Для Docker-хостов часто используют xfs, так как он лучше работает с overlay2.
- Можно создавать разделы размером ровно под swap и подключать их через
mkswap
иswapon
.
Новые возможности: автоматизация и скрипты
parted отлично подходит для автоматизации. Например, ты можешь разворачивать серверы пачками через Ansible или bash-скрипты:
#!/bin/bash
DISK=/dev/sdb
parted -s $DISK mklabel gpt
parted -s $DISK mkpart primary ext4 0% 100%
mkfs.ext4 ${DISK}1
mkdir -p /mnt/data
mount ${DISK}1 /mnt/data
В облаках, где диски подцепляются динамически, parted позволяет быстро размечать и форматировать новые volume без ручного вмешательства.
Где всё это пригодится?
- На VPS и выделенных серверах: когда нужно разбивать диск под разные задачи (БД, логи, бэкапы).
- В облаке: при добавлении новых volume или увеличении размера существующих.
- В Docker-хостах: для настройки оптимальной файловой системы под контейнеры.
- В автоматизации: когда нужно быстро поднимать десятки серверов с одинаковой структурой.
Выводы и рекомендации
Разметка и форматирование дисков — это не только про «разделить диск на кусочки». Это база для надёжной, быстрой и масштабируемой инфраструктуры. Используй fdisk для простых и старых задач, но не бойся parted — он мощнее, гибче и отлично дружит с автоматизацией. Не забывай про mkfs — без файловой системы никуда.
Если хочешь быстро развернуть VPS или выделенный сервер — смотри тут:
И да, не бойся экспериментировать — но обязательно делай бэкапы перед любыми операциями с дисками!
Официальные ссылки для изучения:
В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.
Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.