Благодаря системам виртуализации можно легко изменять объем выделяемых ресурсов в ВМ. Такие изменения, как объём ОЗУ или количество ядер ЦП, применяются автоматически и от администратора не требуется никаких дополнительных действий. Но если увеличить размер диска, то необходимо расширить его еще и из гостевой ОС. Сейчас мы расширим UFS раздел в ОС FreeBSD.
# freebsd-version
11.0-RELEASE-p1
Изначальное состояние
# gpart show da0
=> 63 419430337 da0 MBR (200G)
63 1 - free - (512B)
64 419430335 1 freebsd [active] (200G)
419430399 1 - free - (512B)
Отключаем ВМ. Увеличиваем размер HDD на виртуалке и запускаем.
# gpart show da0
=> 63 1048575937 da0 MBR (500G)
63 1 - free - (512B)
64 419430335 1 freebsd [active] (200G)
419430399 629145601 - free - (300G)
Видим что свободное место увеличилось. Первый шаг успешный. Так как делаем всё на примонтированной системе, то выполним команду подавлния обильного вывода.
# sysctl kern.geom.debugflags=16
kern.geom.debugflags: 0 -> 16
После перезагрузки это значение вернётся к значению по умолчанию На момент работ по расширению раздела рекомендую отключить своп. Проверим.
# swapinfo
Device 1K-blocks Used Avail Capacity
/dev/da0s1b 4194268 0 4194268 0%
Отключаем и снова проверяем
# swapoff /dev/da0s1b
# swapinfo
Device 1K-blocks Used Avail Capacity
Увеличиваем размер нашего раздела. Он имеет номер 1
# gpart resize -i 1 -a 4k -s 499G da0
da0s1 resized
Проверяем
# gpart show da0
=> 63 1048575937 da0 MBR (500G)
63 1 - free - (512B)
64 1046478848 1 freebsd [active] (499G)
1046478912 2097088 - free - (1.0G)
После этого я перегрузился в Single User Mode и выполнил там
# growfs -y /dev/da0s1
После включения на рабочей системе получаем
# df -Ph
Filesystem Size Used Avail Capacity Mounted on
/dev/da0s1a 484G 165G 280G 37% /
devfs 1.0K 1.0K 0B 100% /dev
fdescfs 1.0K 1.0K 0B 100% /dev/fd
По материалам статьи