Разбивка нового диска в FreeBSD из командной строки

Прочитал много статей на эту тему — там много отрывочных сведений и не все понятно. В этом документе постараюсь изложить все важнейшие моменты в одном месте.

Каждый раз при добавлении нового жесткого диска в систему надо последовательно выполнить ряд действий. Этот процесс не так прост, как кажется на первый взгляд. Можно использовать для данной работы автоматизированную утилиту sysinstall. Но мне больше про душе делать все из командной строки. Нам потребуются следующие утилиты командной строки: gpart, fdisk, bsdlabel.

Теории будет немного – о ней и так уже много написано.
В данной статье описаны практические приемы работы с дисками.

После физического подключения нового диска прежде всего нам надо убедиться, что он «принят» операционной системой.

Способ 1 (для типа диска SATA):

dmesg | grep «SATA» | grep «device»

Вывод примерно такой:

atapci2: <Intel ICH9 SATA300 controller> port 0xa000-0xa007,0x9c00-0x9c03,0x9880-0x9887,0x9800-0x9803,0x9480-0x948f,0x9400-0x940f irq 19 at device 31.2 on pci0
atapci3: <Intel ICH9 SATA300 controller> port 0x9000-0x9007,0x8c00-0x8c03,0x8880-0x8887,0x8800-0x8803,0x8480-0x848f,0x8400-0x840f irq 19 at device 31.5 on pci0
ada0: <ST2000DM001-9YN164 CC4B> ATA-8 SATA 3.x device
ada1: <ST2000DM001-9YN164 CC4B> ATA-8 SATA 3.x device
ada2: <WDC WD15EARS-00Z5B1 80.00A80> ATA-8 SATA 2.x device
ada3: <TOSHIBA DT01ACA200 MX4OABB0> ATA-8 SATA 3.x device

Для конкретики – нас интересует диск ada3.

Способ 2:

sysctl kern.disks
df –H

Сравнив вывод двух этих команд, мы увидим, что разделы диска ada3 не используются в данный момент в системе.

Способ 3:

camcontrol devlist & atacontrol list

Пример вывода:

[1] 2304
atacontrol:
ATA_CAM option is enabled in kernel.
Please use camcontrol instead.
ST2000DM001-9YN164 CC4B>          at scbus0 target 0 lun 0 (ada0,pass0)
ST2000DM001-9YN164 CC4B>          at scbus1 target 0 lun 0 (ada1,pass1)
WDC WD15EARS-00Z5B1 80.00A80>     at scbus3 target 0 lun 0 (ada2,pass2)
TOSHIBA DT01ACA200 MX4OABB0>      at scbus4 target 0 lun 0 (ada3,pass3)

Способ 4:
С помощью команды geom.

geom disk list

Пример вывода:

Geom name: ada0
Providers:
1. Name: ada0
Mediasize: 3000591900160 (2.7T)
Sectorsize: 512
Stripesize: 4096
Stripeoffset: 0
Mode: r1w1e2
descr: WDC WD30EZRZ-00GXCB0
lunid: 50014ee20e1836e0
ident: WD-WCD8K2SRTZ2C
rotationrate: 5400
fwsectors: 63
fwheads: 16
Geom name: ada1
Providers:
1. Name: ada1
Mediasize: 2000398934016 (1.8T)
Sectorsize: 512
Stripesize: 4096
Stripeoffset: 0
Mode: r1w1e1
descr: ST2000DM001-9YN164
lunid: 5000c5005aeb3f51
ident: S2Q0ZVYI
rotationrate: 7200
fwsectors: 63
fwheads: 16
Geom name: ada2
Providers:
1. Name: ada2
Mediasize: 1500301910016 (1.4T)
Sectorsize: 512
Stripesize: 4096
Stripeoffset: 0
Mode: r1w1e2
wither: (null)

Есть еще другие способы, но мы ограничимся вышеперечисленными.

Как посмотреть подробную информацию о диске уже было описано в этой статье.

camcontrol identify ada3

Теперь нам надо порезать диск на куски (слайсы или разделы).
Смотрим, что в устройствах нет никаких дополнительных устройств, кроме /dev/ada3

ls –l /dev/ada3*
crw-r——  1 root  operator  0x74 12 фев 11:15 /dev/ada3

Посмотреть, какие разделы определены на диске:

gpart show -p ada3
gpart: No such geom: ada3.

Gpart сообщил нам, что на диске ada3 нет никакой схемы разбиения.

Создадим ее.

gpart create -s gpt ada3
34  3907029101  ada3  GPT  (1.8T)
34  3907029101        — free —  (1.8T)

Мне показалось странным, что gpart вдруг «украл» от моего диска 200G пространства. Этому есть объяснение: https://www.freebsd.org/doc/ru_RU.KOI8-R/books/faq/disks.html#disk-more-than-full

Почему FreeBSD считает, что размер моего диска меньше, чем заявляет его производитель?

Производители дисков считают гигабайт равным миллиарду байт, а FreeBSD приравнивает его к 1073741824 байт. Это объясняет, почему, к примеру, в сообщениях при загрузке FreeBSD указывается, что ёмкость диска, объём которого должен быть равным 80 Гбайт, составляет 76319 Мбайт.

Заметьте также, что FreeBSD будет (по умолчанию) резервировать 8% ёмкости диска.

Создаем 1-ый раздел. Ему автоматически присваивается индекс «1» при создании.

gpart add -t freebsd-ufs -l slib2 -a 8 -s 1400gb ada3

Эта команда означает, что надо добавить новый раздел с типом файловой системы UFS (стандартный для FreeBSD), меткой раздела «slib2», смещением (выравниванием) в 8 блоков и размером 170 Гб

В параметре размера диска можно указывать только целые числа, поэтому вместо 1.4tb, надо вводить 1400gb.

Вместо freebsd-ufs можно указать другой тип файловой системы, например freebsd-zfs.

Проверим:

ls –l /dev/ada3*
crw-r——  1 root  operator  0x74 12 фев 11:15 /dev/ada3
crw-r——  1 root  operator  0x95 12 фев 11:22 /dev/ada3p1

gpart show -p ada3
=>        34  3907029101    ada3  GPT  (1.8T)
34           6          — free —  (3.0k)
40  2936012800  ada3p1  freebsd-ufs  (1.4T)
2936012840   971016295          — free —  (463G)

В описаниях команды gpart под опцией «geom» подразумевается логическое имя нашего диска.

Если передумал, и хочешь удалить раздел, чтобы сделать его с другими параметрами:

gpart delete -i 1 ada3

где –i 1 – индекс раздела (в нашем случае 1, /dev/ada3p1)

Аналогично создаем остальные разделы. Последний раздел создаем без указания размера – таким образом этот раздел заберет все оставшееся место на диске.

Вот так выглядит окончательная картина:

34  3907029101    ada3  GPT  (1.8T)
34           6          — free —  (3.0k)
40  2936012800  ada3p1  freebsd-zfs  (1.4T)
2936012840   734003200  ada3p2  freebsd-ufs  (350G)
3670016040   237013088  ada3p3  freebsd-ufs  (113G)
3907029128           7          — free —  (3.5k)

Теперь можно приступать к созданию и монтированию файловых систем.
Создадим файловую систему на разделе /dev/ada3p1

newfs /dev/ada3p1

Список полезных статей на эту тему:

  1. FreeBSD: ручная разметка диска http://citkit.ru/articles/155/
  2. FreeBSD работа с дисками http://linux.cpms.ru/?p=8183
  3. Install FreeBSD 11 on ZFS mirror (GPT or MBR) http://daemon-notes.com/articles/system/install-zfs/gpart
  4. Disk setup on FreeBSD http://www.wonkity.com/~wblock/docs/html/disksetup.html
  5. FreeBSD: ZFS vs UFS, и обе — против всех http://alv.me/freebsd-zfs-vs-ufs-i-obe-protiv-vsex/

11.02.2017

Метки: , ,

Ваш отзыв

Вы должны войти, чтобы оставлять комментарии.