Home » Разметка дисков: fdisk, parted и mkfs
Разметка дисков: fdisk, parted и mkfs

Разметка дисков: 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 или выделенный сервер — смотри тут:

И да, не бойся экспериментировать — но обязательно делай бэкапы перед любыми операциями с дисками!

Официальные ссылки для изучения:


В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.

Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.

Leave a reply

Your email address will not be published. Required fields are marked