Розширення диска у FreeBSD
Процес розширення файлової системи у FreeBSD розглянуто на прикладі дистрибутива віртуального маршрутизатора OPNsense. Спочатку збільште розмір диска через Dashboard.
Після збільшення розміру диска виконайте наведені нижче дії.
У прикладі файлова система /dev/ufs/OPNsense розширюється з 1,9 GB до
максимально доступного розміру.
Примітка
Зміна таблиці розділів пов’язана з ризиком втрати даних. Перед початком обов’язково створіть резервну копію інстансу.
Відкрийте панель маршрутизатора через хмарну вебконсоль або 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:
Виберіть пункт
8) Shell(Enter an option: 8). За потреби спочатку пройдіть авторизацію.Перевірте назву й версію операційної системи:
root@OPNsense:~ # uname -mrs
FreeBSD 11.0-RELEASE-p12 amd64
За допомогою
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.
Вимкніть захисні функції GEOM, щоб змінити поточну файлову систему:
root@OPNsense:~ # sysctl kern.geom.debugflags=16
kern.geom.debugflags: 16 -> 16
Перегляньте таблицю розділів дисків:
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, розділу та файлової системи.
Розширте перший 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
Перевірте результат розширення:
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)
Розширте перший розділ диска з 2 GB до максимальних 20 GB:
root@OPNsense:~ # gpart resize -i 1 -a 4k vtbd0s1
vtbd0s1a resized
Перевірте результат:
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)
Переконайтеся, що після цих операцій розмір файлової системи ще не змінився:
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 підтверджує, що розмір файлової системи не змінився.
Розширте файлову систему розділу:
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
Перевірте результат розширення файлової системи:
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.