Ввиду длинных выходных (Христос Воскрес! & Мир-Труд-Май), появилась возможность остановить на время почтовый сервер (FreeBSD) и добавить ему немного дискового пространства.
В первую очередь убедился, что есть свежий бэкап виртуалки, после чего тушу
машину.
Становлюсь на вкладку оборудование Виртуалки, жесткий диск
Кнопка изменить размер и указываем сколько гигабайт добавить
Добавить 10 Gb |
Запускаем машину и подключаемся к ней по SSH
Смотрим ZFS pool
# zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
zroot 208G 196G 12.0G - - 76% 94% 1.00x ONLINE -
Видим что добавления пространства не произошло
Идем смотреть нашу GPT
разметку
# gpart list vtbd0
Geom name: vtbd0
modified: false
state: CORRUPT
fwheads: 16
fwsectors: 63
last: 440401879
first: 40
entries: 128
scheme: GPT
Providers:
1. Name: vtbd0p1
Mediasize: 524288 (512K)
Sectorsize: 512
Stripesize: 0
Stripeoffset: 20480
Mode: r0w0e0
........
type: freebsd-boot
index: 1
end: 1063
start: 40
2. Name: vtbd0p2
Mediasize: 225483685888 (210G)
Sectorsize: 512
Stripesize: 0
Stripeoffset: 1048576
Mode: r1w1e1
........
type: freebsd-zfs
index: 2
end: 440399871
start: 2048
Consumers:
1. Name: vtbd0
Mediasize: 236223201280 (220G)
Sectorsize: 512
Mode: r1w1e2
Так как у меня 2 виртуальных диска я ограничил вывод только необходимым.
Нас
интересует строка state и Mediasize, из которых мы делаем вывод, что изменение
размера нарушило разметку и ее необходимо восстановить:
# gpart recover vtbd0
vtbd0 recovered
Если вместо recovered
видим
recovering is not needed
, необходимо перегрузить виртуалку и
повторить восстановление GPT
В итоге выполнив gpart list
, видим:
# gpart list vtbd0
Geom name: vtbd0
modified: false
state: OK
...
А выполнив gpart show
, видим появившееся свободное не размеченное
пространство 10 Gb
# gpart show vtbd0
=> 40 461373360 vtbd0 GPT (220G)
40 1024 1 freebsd-boot (512K)
1064 984 - free - (492K)
2048 440397824 2 freebsd-zfs (210G)
440399872 20973528 - free - (10G)
Теперь необходимо расширить на эти 10 GB нужный нам раздел - в нашем случае frebsd-zfs с индексом 2
# gpart resize -i 2 vtbd0
vtbd0p2 resized
Выполнив gpart show
, видим, что необходимый раздел занял все
свободное место:
# gpart show vtbd0
=> 40 461373360 vtbd0 GPT (220G)
40 1024 1 freebsd-boot (512K)
1064 984 - free - (492K)
2048 461371352 2 freebsd-zfs (220G)
Теперь нам необходимо, чтоб это пространство увидела ZFS. Перегружаем ВМ и выполняем:
# zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
zroot 208G 196G 12.0G - 10G 76% 94% 1.00x ONLINE -
ZFS пространство для расширения видит, но не занимает, для того чтоб расширение произошло, выполняем:
# zpool set autoexpand=on zroot
# zpool online -e zroot vtbd0p2
После чего zpool list
выдаст нам:
# zpool list
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
zroot 218G 196G 22.0G - - 73% 89% 1.00x ONLINE -
Пул zroot увеличился не необходимые нам 10 Gb. Цель достигнута!
Комментариев нет:
Отправить комментарий