Изменение размера партиции в FreeBSD через growfs
Иногда при установке системы не удается предугадать, какие разделы будут расти больше, а какие меньше и в один прекрасный день nagios начинает орать о нехватке места. Вообще задача встречается все реже, так как диски все больше да и все все чаще создается они большой /. Но вот так случилось, что я с ней столкнулся.Причем мой предшественник сделал хитро. Он создал раздел, который никак не использовался, от которого можно было отрезать по кусочку для других разделов.
Вот что у нас было на начальный момент:
df -h /dev/da1s1a 989M 488M 442M 52% /mnt/a /dev/da1s1b 6.8G 4.0K 6.4G 0% /mnt/b
Я хочу расширить /dev/da1s1a до 2GB. Итак, что нам нужно: bsdlabel, newfs, growfs.
Первым делом нужно отмонтировать разделы.
umount /mnt/a umount /mnt/b
После чего нужно изменить лейбл на слайсе /dev/da1s1
bsdlabel -e /dev/da1s1 # /dev/da1s1: 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 2097152 16 4.2BSD 2048 16384 28528 b: 14674629 2097168 4.2BSD 2048 16384 28448 c: 16771797 0 unused 0 0 # "raw" part, don't edit
Меняем это все следующим образом и сохраняем
# /dev/da1s1: 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 2048M 16 4.2BSD 2048 16384 28528 b: * * 4.2BSD 2048 16384 28448 c: 16771797 0 unused 0 0 # "raw" part, don't edit
Далее запускаем growfs, для указания нужного размера есть ключ -s, но размер в нем указывается в блоках, а не в байтах. Потому для размера раздела в 2ГБ нужно указать 4190208 ( 2 * 1024 * 1024 * 1024 / 512 )
growfs -s 4190208 /dev/da1s1a newfs -U /dev/da1s1b mount /dev/da1s1a /mnt/a mount /dev/da1s1b /mnt/b df -h /dev/da1s1a 1.9G 499818 452378 52% /mnt/a /dev/da1s1b 5.8G 4 6674404 0% /mnt/b
Уменьшить размер раздела нельзя, так что приходится создавать файловую системы заново на /dev/da1s1b.
|
|