FreeBSD 11 и расширение UFS раздела

Виртуализация позволяет гибко настраивать использование ресурсов хост системы.
Большинство изменений, как то объём оперативной памяти или количество ядер процессора, применяются автоматически и от администратора не требуется никакой реакции.
Иначе ситуация состоит с размерами хранилища. Несмотря на то, что на гипервизоре увеличить размер выделяемого хранилища легко, гостевая система самостоятельно не сможет его использовать. Ситуация аналогична тому, как если в обычный стационарный компьютер добавить ещё один HDD/SSD — без разметки и форматирования его использовать не получится.
Сегодня я покажу как расширить файловую систему на гостевой системе, которой «докинули» жесткого диска.
С чем будем работать

# 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

											

Добавить комментарий