Я только что создал тестовую виртуальную машину с 15 ГБ диском и LVM на / dev / sda2.Затем я увеличил диск до 20 ГБ и заставил LVM увидеть дополнительные 5 ГБ без добавления другого физического тома.
Вот шаги, которые я выполнил:
- apt-get install gnu-fdisk (или yum install gnu-fdisk)
Мне пришлось использовать gfdisk , чтобы все это работало.Не повезло со "стандартным" fdisk.
Переключитесь на "секторы" как единое целое ( это критично !!!) и распечатайте таблицу разделов:
Command (m for help): u
Changing display/entry units to sectors
Command (m for help): p
Disk /dev/sda: 21 GB, 21089617920 bytes
255 heads, 63 sectors/track, 2564 cylinders, total 41190660 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 499711 257008 83 Linux
Warning: Partition 1 does not end on cylinder boundary.
/dev/sda2 501758 29798632 14643247 8e Linux LVM
Warning: Partition 2 does not end on cylinder boundary.
Command (m for help):
Запишите сектор «start» раздела «Linux LVM» (/ dev / vda2).Удалите раздел и воссоздайте его, используя тот же «начальный» сектор (501758) и тот же тип раздела (8e):
Command (m for help): d
Partition number (1-2): 2
Command (m for help): n
Partition type
e extended
p primary partition (1-4)
p
First sector (default 63s): 501758
Last sector or +size or +sizeMB or +sizeKB (default 41190659s):
Command (m for help): p
Disk /dev/sda: 21 GB, 21089617920 bytes
255 heads, 63 sectors/track, 2564 cylinders, total 41190660 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 499711 257008 83 Linux
Warning: Partition 1 does not end on cylinder boundary.
/dev/sda2 501758 41190659 20338290 83 Linux
Command (m for help): t
Partition number (1-2): 2
Hex code (type L to list codes): 8e
Changed type of partition 2 to 8e (Linux LVM)
Command (m for help):
ВНИМАНИЕ: обратите внимание, что я не принял начальный сектор по умолчанию дляраздел, я ввел его вручную , чтобы он соответствовал исходному значению!Я принял значение по умолчанию для «последнего сектора», потому что я хочу, чтобы этот раздел был размером с диск.
Убедитесь, что вы все сделали правильно с помощью «p», и запишите новую таблицу разделов вдиск:
Command (m for help): w
Перезагрузите виртуальную машину.Теперь войдите в виртуальную машину и запустите:
root@git:~# pvresize /dev/sda2
Physical volume "/dev/sda2" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
Готово!Теперь запустите vgdisplay, и вы увидите, что дополнительные 5 ГБ доступны в качестве бесплатных экстентов.
ПРЕДУПРЕЖДЕНИЯ:
- Если LVM не является последним (или единственным) разделом на диске виртуальной машины, выможет быть трудно увеличить размер раздела.Это может даже оказаться невозможным.
- Если LVM находится в логическом разделе (куда Debian помещает его по умолчанию во время установки) или другими словами, если LVM находится в / dev / sda5 вместо / dev / sda2Вы должны записать начальный сектор как расширенного раздела (назовем его / dev / sda2), так и логического раздела (назовем его / dev / sda5), затем удалить оба раздела, а затем воссоздать их с одним и тем же начальным сектором.Последний сектор как / dev / sda2, так и / dev / sda5 должен быть последним сектором диска.
- Поскольку это рискованная процедура, я рекомендую сделать резервную копию виртуальной машины, прежде чем пытаться ее выполнить.