Перейти к публикации
Invision Community

FreeBSD - увеличение раздела UFS и размера SWAP


Andy

Рекомендованные сообщения

Имеем: FreeBSD 13 на виртуалке, раздел диска 10 Gb, из них 500 Mb под swap.

Задача: увеличить диск до 20Gb, swap до 1 Gb.

Смотрим текущее состояние:

root@hostname:~ # df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/da0s1a    9.2G    7.3G    1.1G    86%    /
devfs          1.0K    1.0K      0B   100%    /dev
root@hostname:~ # swapctl -lhs
Device:            Bytes      Used:
/dev/da0s1b         512M       415M
Total:              512M       415M
root@hostname:~ # gpart show
=>      63  20971457  da0  MBR  (10G)
        63         1       - free -  (512B)
        64  20971456    1  freebsd  [active]  (10G)

=>       0  20971456  da0s1  BSD  (10G)
         0  19920896      1  freebsd-ufs  (9.5G)
  19920896   1048576      2  freebsd-swap  (512M)
  20969472      1984         - free -  (992K)

Добавляем места в текущий диск в свойствах VM, перегружаем, проверяем:

root@hostname:~ # gpart show
=>      63  41942977  da0  MBR  (20G)
        63         1       - free -  (512B)
        64  20971456    1  freebsd  [active]  (10G)
  20971520  20971520       - free -  (10G)

=>       0  20971456  da0s1  BSD  (10G)
         0  19920896      1  freebsd-ufs  (9.5G)
  19920896   1048576      2  freebsd-swap  (512M)
  20969472      1984         - free -  (992K)

Расширяем место в разделе 1 диска da0:

root@hostname:~ # gpart resize -i 1 da0
da0s1 resized
root@hostname:~ # gpart show
=>      63  41942977  da0  MBR  (20G)
        63         1       - free -  (512B)
        64  41942976    1  freebsd  [active]  (20G)

=>       0  41942976  da0s1  BSD  (20G)
         0  19920896      1  freebsd-ufs  (9.5G)
  19920896   1048576      2  freebsd-swap  (512M)
  20969472  20973504         - free -  (10G)

Подтверждаем сделанное:

gpart commit da0s1

Теперь отключим и удалим текущий swap:

root@hostname:~ # swapinfo
Device          1K-blocks     Used    Avail Capacity
/dev/da0s1b        524288        0   524288     0%
root@hostname:~ # swapoff /dev/da0s1b
root@hostname:~ # swapinfo
Device          1K-blocks     Used    Avail Capacity
root@hostname:~ # gpart delete -i 2 da01s
da0s1b deleted
root@hostname:~ # gpart show
=>      63  41942977  da0  MBR  (20G)
        63         1       - free -  (512B)
        64  41942976    1  freebsd  [active]  (20G)

=>       0  41942976  da0s1  BSD  (20G)
         0  19920896      1  freebsd-ufs  (9.5G)
  19920896  22022080         - free -  (10G)

Закомментируем (#) раздел для swap в списке для монтирования:

root@hostname:~ # ee /etc/fstab
^[ (escape) menu ^y search prompt ^k delete line   ^p prev li     ^g prev page
^o ascii code    ^x search        ^l undelete line ^n next li     ^v next page
^u end of file   ^a begin of line ^w delete word   ^b back 1 char ^z next word
^t top of text   ^e end of line   ^r restore word  ^f forward char
^c command       ^d delete char   ^j undelete char              ESC-Enter: exit
=====line 3 col 1 lines from top 3 ============================================
# Device        Mountpoint      FStype  Options Dump    Pass#
/dev/da0s1a     /               ufs     rw      1       1
#/dev/da0s1b    none            swap    sw      0       0

Перегружаемся и выбираем "Boot Single user"

Далее есть два варианта - первый, сделать swap отдельным разделом, как было до манипуляций. Второй - сделать файл в существующем разделе и смонтировать его как swap.

Вариант 1:

Увеличиваем раздел до 19 Gb, оставшееся место отдаем под swap:

gpart resize -i 1 -a 4k -s 19G da0s1
gpart add -t freebsd-swap -a 4k da0s1

раскомментируем /etc/fstab:
 

/dev/da0s1b    none            swap    sw      0       0

перегружаемся в нормальный режим

Вариант 2:

Увеличиваем раздел на весь диск

root@:/ gpart resize -i 1 -a 4k da0s1
da0s1a resized

перегружаемся в нормальный режим, проверяем:

root@hostname:~ # gpart show
=>      63  41942977  da0  MBR  (20G)
        63         1       - free -  (512B)
        64  41942976    1  freebsd  [active]  (20G)

=>       0  41942976  da0s1  BSD  (20G)
         0  41942976      1  freebsd-ufs  (20G)

Делаем пустой файл для swap и назначаем ему права:

root@hostname:~ # dd if=/dev/zero of=/swap bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes transferred in 14.018091 secs (76596867 bytes/sec)
root@hostname:~ # chmod 0600 /swap

Добавим строку для автоматического монтирования раздела:

ee /etc/fstab
# Device        Mountpoint      FStype  Options Dump    Pass#
/dev/da0s1a     /               ufs     rw      1       1
md0     none            swap    sw,file=/swap,late      0       0

без опции late при перезагрузке никак не монтировался.

Перегружаемся, проверяем:

root@hostname:~ # swapinfo
Device          1K-blocks     Used    Avail Capacity
/dev/md0          1048576        0  1048576     0%

И последнее:

Независимо от выбранного варианта после расширения диска файловая система еще не поняла изменений:

root@hostname:~ # df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/da0s1a    9.2G    8.3G    140M    98%    /
devfs          1.0K    1.0K      0B   100%    /dev

Для того, чтобы изменения вступили в силу необходимо воспользоваться утилитой growfs:

root@hostname:~ # growfs -y /dev/da0s1a
super-block backups (for fsck_ffs -b #) at:
 20487360, 21767808, 23048256, 24328704, 25609152, 26889600, 28170048, 29450496, 30730944, 32011392, 33291840, 34572288, 35852736, 37133184, 38413632, 39694080, 40974528

Проверяем результат:

root@hostname:~ # df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/da0s1a     19G    8.3G    9.5G    47%    /
devfs          1.0K    1.0K      0B   100%    /dev

Все сделали правильно.

Ссылка на комментарий
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...