Расширение диска в FreeBSD¶
Расширения файловой системы в FreeBSD рассмотрим на примере популярного дистрибутива виртуального маршрутизатора OPNsense. Перед тем как приступить к расширению файловой системы необходимо увеличить объем тома через доступные функции Dashboard Облака.
После того как объем тома (блочного устройства) будет увеличен, можем приступить к дальнейшим операциям.
В данном примере будет выполнено расширение файловой системы «/dev/ufs/OPNsense» с 1.9G до максимально доступного.
Примечание
При изменении таблицы разделов смонтированной файловой системы существует риск потери данных. До внесения изменений, обязательно сделайте резервную копию (бэкап) инстанса.
1. Переходим в консоль управления маршрутизатора через web-консоль Облака или через 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:
2. Выбираем пункт «8) Shell» (Enter an option: 8). В случае необходимости, нужно выполнить предварительную авторизацию.
- Проверяем версию и наименование Linux дистрибутива:
root@OPNsense:~ # uname -mrs
FreeBSD 11.0-RELEASE-p12 amd64
4. С помощью утилиты «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».
5. Смонтированную файловую систему можно изменить после отключения функций безопасности 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», диск имеет размер 20G, при этом доступно 18G свободного дискового пространства, за счет которого можно расширить слайс, раздел и файловую систему.
- Расширяем первый слайс диска «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)
11. После всех выполненных операций проверяем, что размер файловой системы не изменился:
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.