Разделение и форматирование дисков в Linux

В Linux можно очень быстро подготовить новый диск к работе. Для этого система поддерживает много различных инструментов, форматов файловых систем и схем разделения дискового пространства.

Данное руководство научит вас:

  • Определять новый диск в системе.
  • Создавать единый раздел, который охватывает весь диск (большинству операционных систем необходима структура разделов даже при использовании одной файловой системы).
  • Форматировать разделы с помощью файловой системы Ext4 (она используется по умолчанию в большинстве современных дистрибутивов Linux).
  • Монтировать файловую систему и настраивать автоматическое монтирование при запуске.

Установка инструментов

Для разделения диска используется утилита parted. В большинстве случаев она установлена на сервере по умолчанию.

Если эта утилита не установлена, используйте следующие команды, чтобы установить её:

Ubuntu или Debian
sudo apt-get update
sudo apt-get install parted

CentOS или Fedora
sudo yum install parted

Определение нового диска в системе

Прежде чем установить диск, нужно научиться правильно определять его на сервере.

Чтобы определить на сервере совершенно новый диск, проще всего узнать, где в системе отсутствует схема разбиения. Запросите у parted структуру разделов дисков. Эта команда вернёт сообщение об ошибке для всех дисков, которые не имеют схемы разбиения диска. Это поможет определить новый диск:

sudo parted -l | grep Error

Неразделённый новый диск вернёт ошибку:

Error: /dev/sda: unrecognised disk label

Также можно использовать команду lsblk, чтобы найти диск определённого размера, с которым не связаны разделы:

lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   100G  0 disk
vda    253:0    0    20G  0 disk
└─vda1 253:1    0    20G  0 part /

Предупреждение: Команду lsblk нужно использовать в сессии до внесения каких-либо изменений. Дисковые идентификаторы /dev/sd* и /dev/hd* не всегда обеспечивают согласованность имён между загрузками системы. Это значит, что вы можете случайно создать раздел и отформатировать неправильный диск без предварительной проверки идентификатора диска. Рекомендуется использовать более постоянные идентификаторы (например /dev/disk/by-uuid, /dev/disk/by-label ил и/dev/disk/by-id). Больше информации по этому вопросу можно получить здесь.

Узнав имя, которое ядро системы присвоило новому диску, можно приступать к разделению.

Разделение нового диска

Данный раздел поможет создать единый раздел, охватывающий весь диск.

Выбор стандарта дискового разделения

Для начала нужно выбрать стандарт разделения диска. Стандарт GPT предлагает более современное решение, а MBR – широкую поддержку. Если у вас нет каких-либо особых требований, рекомендуется использовать GPT.

Чтобы выбрать стандарт GPT, используйте:

sudo parted /dev/sda mklabel gpt

Чтобы выбрать MBR, введите:

sudo parted /dev/sda mklabel msdos

Создание нового раздела

Выбрав формат разделения, создайте раздел диска, охватывающий весь диск:

sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%

С помощью команды lsblk можно узнать, появился ли новый раздел:

lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   100G  0 disk
└─sda1   8:1    0   100G  0 part
vda    253:0    0    20G  0 disk
└─vda1 253:1    0    20G  0 part /

Создание файловой системы на новом разделе

Итак, теперь у вас есть новый диск и раздел на нём. Отформатируйте его как файловую систему Ext4. Для этого используется утилита mkfs.ext4.

Чтобы добавить метку раздела, используйте флаг –L. Выберите имя, которое поможет в дальнейшем узнать этот диск.

Примечание: Убедитесь, что вы переходите в раздел, а не на сам диск. В Linux диски называются sda, sdb, hda и т.п. Идентификаторы дисковых разделов заканчиваются порядковым номером раздела (например, первый раздел диска sda будет называться sda1).

sudo mkfs.ext4 -L datapartition /dev/sda1

Чтобы изменить метку раздела, используйте команду e2label:

sudo e2label /dev/sda1 newlabel

Чтобы узнать о других способах идентификации разделов, используйте lsblk. Нужно найти имя, метку и UUID раздела. Некоторые версии lsblk выводят все эти данные с помощью:

sudo lsblk --fs

Если ваша версия не поддерживает этой команды, запросите эти данные вручную:

sudo lsblk -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT

Команда должна вернуть такой результат.

NAME   FSTYPE LABEL         UUID                                 MOUNTPOINT
sda
└─sda1 ext4   datapartition 4b313333-a7b5-48c1-a957-d77d637e4fda
vda
└─vda1 ext4   DOROOT        050e1e34-39e6-4072-a03e-ae0bf90ba13a /

Примечание: Выделенная красным строка указывает различные методы, которые можно использовать для обозначения новой файловой системы.

Монтирование новой файловой системы

Стандарт иерархии файловой системы рекомендует использовать каталог /mnt или его подкаталоги для временно смонтированных файловых систем.

Он не дает никаких рекомендаций относительно более постоянных файловых систем, потому вы можете выбрать для них любое место в системе. В этом руководстве для этого используется /mnt/data.

Создайте такой каталог:

sudo mkdir -p /mnt/data

Временное монтирование файловой системы

Чтобы временно смонтировать файловую систему, введите:

sudo mount -o defaults /dev/sda1 /mnt/data

Автоматическое монтирование файловой системы

Чтобы файловая система автоматически монтировалась во время загрузки сервера, отредактируйте файл /etc/fstab:

sudo nano /etc/fstab

Ранее с помощью команды:

sudo lsblk --fs

вы получили три идентификатора файловой системы. Добавьте любой из них в файл.

## Use one of the identifiers you found to reference the correct partition
# /dev/sda1 /mnt/data ext4 defaults 0 2
# UUID=4b313333-a7b5-48c1-a957-d77d637e4fda /mnt/data ext4 defaults 0 2
LABEL=datapartition /mnt/data ext4 defaults 0 2

Примечание: Чтобы узнать больше о полях файла /etc/fstab, откройте мануал с помощью man fstab. Больше опций монтирования можно найти при помощи команды man [filesystem] (например man ext4).

Для SSD-накопителей иногда добавляется опция discard, которая включает поддержку continuous TRIM. Воздействие TRIM на производительность и целостность данных до сих пор остаётся предметом обсуждения, потому большинство дистрибутивов включают periodic TRIM в качестве альтернативы.

Сохраните и закройте файл.

Если вы ранее не смонтировали систему, сделайте это сейчас:

sudo mount -a

Проверка монтирования

Смонтировав том, нужно убедиться, что система имеет доступ к новой файловой системе.

Чтобы убедиться, что диск доступен, используйте df:

df -h -x tmpfs -x devtmpfs
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G  1.3G   18G   7% /
/dev/sda1        99G   60M   94G   1% /mnt/data

Также вы должны найти каталог lost+found в каталоге /mnt/data, который обычно указывает на root файловой системы Ext *.

ls -l /mnt/data
total 16
drwx------ 2 root root 16384 Jun  6 11:10 lost+found

Также можно проверить права на чтение и изменение файла, попробовав записать в тестовый файл:

echo "success" | sudo tee /mnt/data/test_file

Теперь прочтите только что изменённый файл:

cat /mnt/data/test_file
success

После тестирования можно просто удалить этот файл.

sudo rm /mnt/data/test_file

Заключение

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

Tags: ,

1 комментарий

Добавить комментарий