FreeBSD: Как увеличить/изменить ufs раздел диска

Задача:
---------------------------------------------------------------Увеличить размеры UFS разделов диска
Смотрим информацию о дисках и имеющихся разделах.
ot@cloud:/ # df -H
Filesystem Size Used Avail Capacity Mounted on
/dev/da0s1a 20G 17G 1.0G 94% /
devfs 1.0k 1.0k 0B 100% /dev
/dev/da1p1 4.8T 2.6T 1.8T 59% /mnt/da1p1
zroot/docker 3.9G 24k 3.9G 0% /usr/docker
zroot 3.9G 24k 3.9G 0% /zroot
root@cloud:/ # swapctl -lhs
Device: Bytes Used:
/dev/da0s1b 1.0G 673M
Total: 1.0G 673M
root@cloud:/ # gpart show
=> 63 41942977 da0 MBR (20G)
63 1 - free - (512B)
64 41942976 1 freebsd [active] (20G)
=> 0 41942976 da0s1 BSD (20G)
0 39845888 1 freebsd-ufs (19G)
39845888 2097088 2 freebsd-swap (1.0G)
=> 40 9663676336 da1 GPT (4.5T)
40 9663676336 1 freebsd-ufs (4.5T)
root@cloud:/ #
Виртуальный системный диск имеет размер 20 GB. Так как это виртуальный сервер на ESXi, заходим в панель администрирования ESXI и увеличиваем его до 30 GB. После сервер необходимо перезагрузить.
Подключаемся и проверяем
root@cloud:/ # gpart show
=> 63 62914497 da0 MBR (30G)
63 1 - free - (512B)
64 41942976 1 freebsd [active] (20G)
41943040 20971520 - free - (10G)
=> 0 41942976 da0s1 BSD (20G)
0 39845888 1 freebsd-ufs (19G)
39845888 2097088 2 freebsd-swap (1.0G)
=> 40 9663676336 da1 GPT (4.5T)
40 9663676336 1 freebsd-ufs (4.5T)
Расширяем место в разделе FreeBSD и проверяем проделанное.
root@cloud:/ # gpart resize -i 1 da0
da0s1 resized
root@cloud:/ # gpart show da0
=> 63 62914497 da0 MBR (30G)
63 1 - free - (512B)
64 62914496 1 freebsd [active] (30G)
root@cloud:/ #
И так на данный момент имеем SWAP размеров в 1 GB, который будем увеличивать до 8 и остальное место отдадим для системы.
Отключаем SWAP
root@cloud:/ # swapinfo Device 1K-blocks Used Avail Capacity /dev/da0s1b 1048544 0 1048544 0% root@cloud:/ # swapoff /dev/da0s1b root@cloud:/ # swapinfo Device 1K-blocks Used Avail Capacity root@cloud:/ #
Удаляем SWAP и проверяем
root@cloud:/ # gpart delete -i 2 da0s1
da0s1b deleted
root@cloud:/ # gpart show
=> 63 62914497 da0 MBR (30G)
63 1 - free - (512B)
64 62914496 1 freebsd [active] (30G)
=> 0 62914496 da0s1 BSD (30G)
0 39845888 1 freebsd-ufs (19G)
39845888 23068608 - free - (11G)
=> 40 9663676336 da1 GPT (4.5T)
40 9663676336 1 freebsd-ufs (4.5T)
root@cloud:/ #
Редактируем vi /etc/fstab
vi /etc/fstab
комментируем строку относящуюся к SWAP
# Device Mountpoint FStype Options Dump Pass# /dev/da0s1a / ufs rw 1 1 #/dev/da0s1b none swap sw 0 0 /dev/da1p1 /mnt/da1p1 ufs rw 0 0 #/dev/da2p1 /mnt/da2p1 ufs rw 0 0
Перезагружаемся в «2. Boot Single user»

Убеждаемся в отсутствии свапа, и проверяем разделы на диске

Увеличиваем размер диска до 22G
gpart resize -i 1 -a 4k -s 22G da0s1

Создаём свап на оставшемся свободном диске
gpart add -t freebsd-swap -a 4k da0s1

Убираем изменения в файле /etc/fstab и перезагружаемся. Если не получилось, перезагружаемся и тогда изменяем fstab и ещё раз перезагружаемся.
Проверяем что всё сделано правильно
root@cloud:/ # swapinfo
Device 1K-blocks Used Avail Capacity
/dev/da0s1b 8388576 0 8388576 0%
root@cloud:/ # gpart show
=> 63 62914497 da0 MBR (30G)
63 1 - free - (512B)
64 62914496 1 freebsd [active] (30G)
=> 0 62914496 da0s1 BSD (30G)
0 46137344 1 freebsd-ufs (22G)
46137344 16777152 2 freebsd-swap (8.0G)
=> 40 9663676336 da1 GPT (4.5T)
40 9663676336 1 freebsd-ufs (4.5T)
root@cloud:/ #
После перераспределения разделов, необходимо изменить размер файловой системы при помощи утилиты growfs и затем проверить диск на ошибки
root@cloud:/ # growfs -y /dev/da0s1a
super-block backups (for fsck_ffs -b #) at:
41031872, 42314112, 43596352, 44878592, 46160832, 47443072, 48725312, 50007552, 51289792, 52572032, 53854272, 55136512, 56418752, 57700992, 58983232, 60265472, 61547712, 62829952, 64112192, 65394432, 66676672
root@cloud:/ # fsck -yf -t ufs /dev/da0s1a
** /dev/da0s1a (NO WRITE)
SETTING DIRTY FLAG IN READ_ONLY MODE
UNEXPECTED SOFT UPDATE INCONSISTENCY
** Last Mounted on
** Root file system
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
UNREF FILE I=81143 OWNER=root MODE=100666
SIZE=0 MTIME=Oct 9 21:44 2020
CLEAR? no
UNREF FILE I=81312 OWNER=mysql MODE=100600
SIZE=0 MTIME=Oct 9 21:44 2020
CLEAR? no
UNREF FILE I=81315 OWNER=mysql MODE=100600
SIZE=0 MTIME=Oct 9 21:44 2020
CLEAR? no
UNREF FILE I=81324 OWNER=mysql MODE=100600
SIZE=0 MTIME=Oct 9 21:44 2020
CLEAR? no
UNREF FILE I=81325 OWNER=mysql MODE=100600
SIZE=0 MTIME=Oct 9 21:44 2020
CLEAR? no
** Phase 5 - Check Cyl groups
FREE BLK COUNT(S) WRONG IN SUPERBLK
SALVAGE? no
SUMMARY INFORMATION BAD
SALVAGE? no
BLK(S) MISSING IN BIT MAPS
SALVAGE? no
451655 files, 4329500 used, 3792363 free (45411 frags, 468369 blocks, 0.6% fragmentation)
root@cloud:/ # gpart show
=> 63 83886017 da0 MBR (40G)
63 1 - free - (512B)
64 83886016 1 freebsd [active] (40G)
=> 0 83886016 da0s1 BSD (40G)
0 67108864 1 freebsd-ufs (32G)
67108864 16777152 2 freebsd-swap (8.0G)
=> 40 9663676336 da1 GPT (4.5T)
40 9663676336 1 freebsd-ufs (4.5T)
root@cloud:/ # df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/da0s1a 31G 17G 12G 58% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/da1p1 4.4T 2.8T 1.2T 69% /mnt/da1p1
zroot/docker 3.6G 23K 3.6G 0% /usr/docker
zroot 3.6G 23K 3.6G 0% /zroot
root@cloud:/ #

Свежие комментарии