Содержание

Добавление жесткого диска в FreeBSD

Смотрю какие диски подключены

geom disk list
Geom name: ada0
Providers:
1. Name: ada0
   Mediasize: 500107862016 (466G)
   Sectorsize: 512
   Mode: r2w2e3
   descr: ST3500312CS
   lunid: 5000c5004431432e
   ident: 5VV7W5RG
   rotationrate: 5900
   fwsectors: 63
   fwheads: 16

Geom name: ada1
Providers:
1. Name: ada1
   Mediasize: 500107862016 (466G)
   Sectorsize: 512
   Mode: r0w0e0
   descr: MB0500EAMZD
   lunid: 5000c5002e16e5ba
   ident: 9WJ15Y0A
   rotationrate: 7200
   fwsectors: 63
   fwheads: 16

Geom name: ada2
Providers:
1. Name: ada2
   Mediasize: 500107862016 (466G)
   Sectorsize: 512
   Mode: r0w0e0
   descr: MB0500EAMZD
   lunid: 5000c5002e16f34d
   ident: 9WJ15YET
   rotationrate: 7200
   fwsectors: 63
   fwheads: 16

Можно использовать команду

camcontrol devlist
<ST3500312CS SS16>                 at scbus0 target 0 lun 0 (pass0,ada0)
<MB0500EAMZD HPG3>                 at scbus1 target 0 lun 0 (pass1,ada1)
<MB0500EAMZD HPG3>                 at scbus2 target 0 lun 0 (pass2,ada2)

Создание разметки

Проверяю разметку на жестких дисках

gpart show ada0
=>       40  976773088  ada0  GPT  (466G)
         40       1024     1  freebsd-boot  (512K)
       1064        984        - free -  (492K)
       2048   16777216     2  freebsd-swap  (8.0G)
   16779264  959993856     3  freebsd-zfs  (458G)
  976773120          8        - free -  (4.0K)

gpart show ada1
gpart: No such geom: ada1.
gpart show ada2
gpart: No such geom: ada2.

Диск ada0 - содержит разметку, диски ada1 и ada2 без разметки. Если разметка существует и её нужно изменить, выполняю команду

gpart destroy -F ada1

Создаю разметку GPT и проверяю результат

gpart create -s gpt /dev/ada1
ada1 created
gpart show ada1
=>       40  976773088  ada1  GPT  (466G)
         40  976773088        - free -  (466G)

gpart create -s gpt /dev/ada2
ada2 created
gpart show ada2
=>       40  976773088  ada2  GPT  (466G)
         40  976773088        - free -  (466G)

Диск, начиная с LBA 40 и заканчивая LBA 976773088 пуст. LBA 0−40 — зарезервированы системой под таблицу разделов.

Если установка производится на современные жесткие диски, у которых размер сектора = 4 кб, то при создании разделов (партиций) необходимо использовать выравнивание. Можно поступить двумя способами: 1) если указываем параметры раздела в блоках, то номер блока вводить кратным 8, например: -b 40; 2) если указываем размер раздела в байтах, либо не указываем вообще начало и размер, использовать параметр -a 4k, который подгонит начало и конец раздела под секторы, размером 4 кб. Так как мы в данном примере производим тестовую установку на виртуальный жесткий диск, то этого можно не делать. В любом случае перед созданием разделов нужно точно знать размер сектора вашего накопителя, иначе это выльется жуткими тормозами в работе.

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

Теперь создадим разделы. Для этого существует команда gpart add с различными параметрами. Первый параметр -t — указывает на тип создаваемой файловой системы. В нашем случае будет использовано два типа: freebsd-swap и freebsd-ufs. Далее идут два необязательных параметра: -b — указывает на номер LBA, начиная с которого необходимо создать раздел. Если не указать данный параметр, то раздел будет создан автоматически с первого свободного LBA. -s — указывает на размер раздела в LBA. Размер одного блока LBA = 512 байт. Желательно указывать в количестве блоков LBA, но можно и в кило/мега/гига/… байтах (суффикс k/M/G). Если не указать данный параметр, то раздел будет создан до максимально возможного LBA в пределах пустой области. Также в качестве параметра можно указать метку раздела, например: -l swap1 — в этом случае будет создана метка /dev/gpt/swap1, по которой можно более удобно обращаться к разделу. Последним обязательным параметром идет путь к диску. В нашем случае: /dev/ada1.

Создаю разделы

gpart add -t freebsd-ufs /dev/ada1
ada1p1 added
gpart show ada1
=>       40  976773088  ada1  GPT  (466G)
         40  976773088     1  freebsd-ufs  (466G)

gpart add -t freebsd-ufs /dev/ada2
ada2p1 added
gpart show ada2
=>       40  976773088  ada2  GPT  (466G)
         40  976773088     1  freebsd-ufs  (466G)

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

Разделы типа swap форматировать нет необходимости. А вот разделы типа ufs перед использованием должны быть отформатированы. Правильнее сказать: на них должна быть создана файловая система.

Для того, чтобы создать файловую систему на втором разделе, достаточно выполнить следующую команду:

newfs -U /dev/ada1p1
/dev/ada1p1: 476940.0MB (976773088 sectors) block size 32768, fragment size 4096
        using 762 cylinder groups of 626.09MB, 20035 blks, 80256 inodes.
        with soft updates
super-block backups (for fsck_ffs -b #) at:
 192, 1282432, 2564672, 3846912, 5129 ...

В данном случае использовался параметр -U — он говорит о том, что в данной файловой системе должен использоваться механизм Soft Updates. Вы можете не использовать этот параметр, чтобы не включать данный механизм.

Монтирование

Для монтирования использую команду:

mount /dev/ada2p1 /mnt/backup/
df -h | grep ada2
/dev/ada2p1             451G    8,0K    415G     0%    /mnt/backup

Для автоматического монтирования при старте системы, вношу изменения в файл /etc/fstab:

/dev/ada1p1     /mnt//torrent      ufs      rw      0       0
/dev/ada2p1     /mnt/backup        ufs      rw      2       2

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

mount -a

Информацию по SWAP можно посмотреть командой:

swapinfo
Device          1K-blocks     Used    Avail Capacity
/dev/ada0p2       8388608        0  8388608     0%

Чтобы смонтировался SWAP, необходимо его включить специальной командой:

swapon /dev/ada0p2

Для отключения раздела SWAP используется команда

swapoаа /dev/ada0p2

Краткая инструкция

Дано: жесткий диск /dev/ada1

Цель: удалить существующую разметку, создать новую разметку GPT, создать два раздела: подкачка и данные и подключить их к рабочей системе.

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

Удалить существующую разметку:

gpart destroy -F ada1

Создать новую разметку:

gpart create -s gpt /dev/ada1

Создать два раздела: подкачка и данные:

gpart add -t freebsd-swap -s 2097152 /dev/ada1
gpart add -t freebsd-ufs /dev/ada1

Создать файловую систему UFSv2 на втором разделе:

newfs -U /dev/ada1p2

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

/dev/ada1p1     none      swap     sw      0       0
/dev/ada1p2     /mnt      ufs      rw      2       2

Смонтировать новый раздел (команда монтирует все разделы из файла /etc/fstab):

mount -a

Включить в работу новый раздел swap командой:

swapon /dev/ada1p1

На этом настройка завершена.

Ссылки:
https://blog.denisbondar.com/post/freebsd-add-new-hdd
https://1cloud.ru/help/bsd/montirovanie-diska-vo-freebsd