Розширення диска у FreeBSD

Процес розширення файлової системи у FreeBSD розглянуто на прикладі дистрибутива віртуального маршрутизатора OPNsense. Спочатку збільште розмір диска через Dashboard.

Після збільшення розміру диска виконайте наведені нижче дії.

У прикладі файлова система /dev/ufs/OPNsense розширюється з 1,9 GB до максимально доступного розміру.

Примітка

Зміна таблиці розділів пов’язана з ризиком втрати даних. Перед початком обов’язково створіть резервну копію інстансу.

  1. Відкрийте панель маршрутизатора через хмарну вебконсоль або SSH.

*** OPNsense.localdomain: OPNsense 17.7.11 (amd64/OpenSSL) ***

 WAN (vtnet0)    -> v4/DHCP4: 172.16.0.15/20

  0) Logout                              7) Ping host
  1) Assign interfaces                   8) Shell
  2) Set interface IP address            9) pfTop
  3) Reset the root password            10) Firewall log
  4) Reset to factory defaults          11) Reload all services
  5) Power off system                   12) Upgrade from console
  6) Reboot system                      13) Restore a backup

Enter an option:

  1. Виберіть пункт 8) Shell (Enter an option: 8). За потреби спочатку пройдіть авторизацію.

  2. Перевірте назву й версію операційної системи:

root@OPNsense:~ # uname -mrs
FreeBSD 11.0-RELEASE-p12 amd64
  1. За допомогою df перегляньте файлові системи, їхній розмір, використаний і доступний простір:

root@OPNsense:~ # df -h
Filesystem           Size    Used   Avail Capacity  Mounted on
/dev/ufs/OPNsense    1.9G    1.2G    605M    67%    /
devfs                1.0K    1.0K      0B   100%    /dev
devfs                1.0K    1.0K      0B   100%    /var/dhcpd/dev

У цьому випадку потрібно розширити /dev/ufs/OPNsense.

  1. Вимкніть захисні функції GEOM, щоб змінити поточну файлову систему:

root@OPNsense:~ # sysctl kern.geom.debugflags=16
kern.geom.debugflags: 16 -> 16
  1. Перегляньте таблицю розділів дисків:

root@OPNsense:~ # gpart show
=>      63  41942977  vtbd0  MBR  (20G)
        63   4194225      1  freebsd  (2.0G)
   4194288  37748752         - free -  (18G)

=>      0  4194225  vtbd0s1  BSD  (2.0G)
        0       16           - free -  (8.0K)
       16  4194209        1  !0  (2.0G)

Команда gpart show показує диск розміром 20 GB із 18 GB вільного простору. Цього достатньо для розширення slice, розділу та файлової системи.

  1. Розширте перший slice диска vtbd0 із 2 GB до максимальних 20 GB.

Номер розділу задається параметром -i, потрібний новий розмір — -s, а вирівнювання — -a. Якщо -s не вказано, використовується весь доступний простір.

Примітка

Команда gpart resize -i 1 -a 4k vtbd0 змінює лише розмір розділу. Файлова система розширюється на наступних кроках.

root@OPNsense:~ # gpart resize -i 1 -a 4k vtbd0
vtbd0s1 resized
  1. Перевірте результат розширення:

root@OPNsense:~ # gpart show
=>      63  41942977  vtbd0  MBR  (20G)
        63  41942977      1  freebsd  (20G)

=>       0  41942977  vtbd0s1  BSD  (20G)
         0        16           - free -  (8.0K)
        16   4194209        1  !0  (2.0G)
   4194225  37748752           - free -  (18G)
  1. Розширте перший розділ диска з 2 GB до максимальних 20 GB:

root@OPNsense:~ # gpart resize -i 1 -a 4k vtbd0s1
vtbd0s1a resized
  1. Перевірте результат:

root@OPNsense:~ # gpart show
=>      63  41942977  vtbd0  MBR  (20G)
        63  41942977      1  freebsd  (20G)

=>       0  41942977  vtbd0s1  BSD  (20G)
         0        16           - free -  (8.0K)
        16  41942961        1  !0  (20G)
  1. Переконайтеся, що після цих операцій розмір файлової системи ще не змінився:

root@OPNsense:~ # df -h
Filesystem           Size    Used   Avail Capacity  Mounted on
/dev/ufs/OPNsense    1.9G    1.2G    605M    67%    /
devfs                1.0K    1.0K      0B   100%    /dev
devfs                1.0K    1.0K      0B   100%    /var/dhcpd/dev
root@OPNsense:~ #

Результат df -h підтверджує, що розмір файлової системи не змінився.

  1. Розширте файлову систему розділу:

root@OPNsense:~ # growfs -y /dev/ufs/OPNsense
super-block backups (for fsck_ffs -b #) at:
4194496, 5243072, 6291648, 7340224, 8388800, 9437376, 10485952, 11534528,
12583104, 13631680, 14680256, 15728832, 16777408, 17825984, 18874560,
19923136, 20971712,     22020288, 23068864, 24117440, 25166016, 26214592,
27263168, 28311744, 29360320, 30408896, 31457472, 32506048, 33554624,
34603200, 35651776, 36700352, 37748928,     38797504, 39846080, 40894656
  1. Перевірте результат розширення файлової системи:

root@OPNsense:~ # df -h
Filesystem           Size    Used   Avail Capacity  Mounted on
/dev/ufs/OPNsense     19G    1.2G     17G     7%    /
devfs                1.0K    1.0K      0B   100%    /dev
devfs                1.0K    1.0K      0B   100%    /var/dhcpd/dev

Файлову систему успішно розширено до потрібного розміру. Докладніше дивіться в документації FreeBSD Resizing and Growing Disks.