Изменение размера диска NetBSD
NetBSD установлена на виртуальную машину, диском для которой является логический том LVM. Логический диск называется vm-mda
и находится в группе логических томов stupin
.
Определим имя раздела виртуальной машины, размер которого нужно увеличить:
# df -h
Filesystem Size Used Avail %Cap Mounted on
/dev/dk0 29G 24G 3.8G 86% /
kernfs 1.0K 1.0K 0B 100% /kern
ptyfs 1.0K 1.0K 0B 100% /dev/pts
procfs 4.0K 4.0K 0B 100% /proc
tmpfs 768M 0B 768M 0% /var/shm
Определим имя диска, на котором находится этот раздел:
# dkctl dk0 getwedgeinfo
dk0 at ld0: cbab4f4f-597e-405e-b556-06dfc88e63cd
dk0: 62914463 blocks at 64, type: ffs
Зафиксируем информацию до начала изменений размера диска ld0
. Для начала посмотрим на содержимое заголовка разметки GPT:
# gpt header ld0
Media Size: 5368709120 (5G)
Sector Size: 512
Number of Sectors: 10485760 (10M)
Header Information:
- GPT Header Revision: 1.0
- First Data Sector: 34 (34B)
- Last Data Sector: 10485726 (10M)
- Media GUID: 237a94ab-e984-46f0-a2e0-795eb3df7450
- Number of GPT Entries: 128
Теперь ознакомимся с полным списком всех участков и разделов разметки GPT:
mda# gpt show ld0
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 30 Unused
64 10485663 1 GPT part - NetBSD FFSv1/FFSv2
10485727 32 Sec GPT table
10485759 1 Sec GPT header
На физической машине, где находятся LVM-тома и запущена виртуализация KVM, выполним увеличение размера LVM-тома виртуальной машины:
# lvresize -L 10G stupin/vm-mda
Size of logical volume stupin/vm-mda changed from 5,00 GiB (1280 extents) to 10,00 GiB (2560 extents).
Logical volume stupin/vm-mda successfully resized.
После выключения и включения виртуальной машины можно увидеть, что размер носителя увеличился до 10 гигабайт:
# gpt header ld0
Media Size: 10737418240 (10G)
Sector Size: 512
Number of Sectors: 20971520 (20M)
Header Information:
- GPT Header Revision: 1.0
- First Data Sector: 34 (34B)
- Last Data Sector: 10485726 (10M)
- Media GUID: 237a94ab-e984-46f0-a2e0-795eb3df7450
- Number of GPT Entries: 128
В выводе следующей команды видно, что вместо вторичных заголовка и таблицы появилось неиспользуемое пространство:
# gpt show ld0
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 30 Unused
64 10485663 1 GPT part - NetBSD FFSv1/FFSv2
10485727 10485793 Unused
Запускаем обновление таблицы разделов GPT до размера носителя:
# gpt resizedisk ld0
Снова смотрим на таблицу разделов и видим, что за неиспользуемым пространством вновь появились вторичные заголовок и таблица GPT:
# gpt show ld0
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 30 Unused
64 10485663 1 GPT part - NetBSD FFSv1/FFSv2
10485727 10485760 Unused
20971487 32 Sec GPT table
20971519 1 Sec GPT header
Изменяем размер GPT-раздела:
# gpt resize -i 1 ld0
/dev/rld0: Partition 1 resized: 64 20971423
И убеждаемся, что размер GPT-раздела увеличился, а неиспользуемое место позади него исчезло:
# gpt show ld0
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 30 Unused
64 20971423 1 GPT part - NetBSD FFSv1/FFSv2
20971487 32 Sec GPT table
20971519 1 Sec GPT header
Осталось изменить размер диска, для чего нужно будет загрузиться с другого носителя. Я воспользовался компакт-диском и выполнил следующую команду:
# resize_ffs -p /dev/dk0
It's required to manually run fsck on file system before you can resize it
Did you run fsck on your disk (Yes/No) ? Yes
После обычной загрузки системы с диска можно наконец увидеть, что увеличился и размер файловой системы:
# df -h /
Filesystem Size Used Avail %Cap Mounted on
/dev/dk0 9.7G 3.6G 5.6G 39% /