Расширение диска во FreeBSD
Расширение файловой системы FreeBSD рассмотрено на примере виртуального маршрутизатора OPNsense. Сначала увеличьте размер облачного диска в Dashboard.
После увеличения блочного устройства выполните операции внутри ОС.
В примере файловая система /dev/ufs/OPNsense расширяется с 1,9 ГБ до максимального размера.
Примечание
Изменение таблицы разделов может привести к потере данных. Перед началом обязательно создайте резервную копию инстанса.
Откройте консоль маршрутизатора через облачную веб-консоль или 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
Выведите список файловых систем, их размер, занятое и свободное пространство:
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 ГБ, из которых 18 ГБ
свободны. Это пространство можно добавить к слайсу, разделу и файловой системе.
Расширьте первый слайс диска
vtbd0с 2 до 20 ГБ.
Параметр -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 до 20 ГБ:
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.