Основной целью описанных шагов была виртуализация сервера asterisk – занимавшего физический сервер в шкафу – в виртуальную машину VMWare.

Asterisk был установлен несколько лет назад на двух разделах – /boot (100mb) и LVM (500gb – 495gb для корня и 5gb своп). На деле, однако, asterisk “съедал” всего 6-8 gb на диске.
Теперь бэкап asterisk’a, уменьшение LVM type 8e до 20gb и переезд на обычный раздел (partition type 83).
С помощью Acronis True Image (sector-by-sector) снял копию hdd в файл *.tib. Затем развернул tlb на в виртуальную машину, в vmdk-HDD.
|
1 2 3 4 |
/dev/sda1 - 100mb /boot /dev/sda2 — 500gb LVM 8e: /dev/VolGroup00/LogVol00 — 495gb root / /dev/VolGroup00/LogVol01 — 5gb swap |
Дальше грузимся в VM используя system-rescue-cd(.org) и
|
1 |
e2fsck -fa /dev/VolGroup00/LogVol00 |
(без проверки e2fsck – не даст изменить размер томов).
Команды vgdisplay и lvdisplay выведут более детальную информацию об LVM-томах.
Уменьшаем том до 20gb:
|
1 |
lvresize -r -L -475G /dev/VolGroup00/LogVol00 |
(параметр “-r” это пропуск использования resize2fs – мы уменьшаем файловую систему одновременно с размером тома).
Теперь, согласно pvmove у нас есть возможность перемещать экстенты (непрерывные участки дискового пространства) на устройстве:
|
1 |
pvmove --alloc anywhere /dev/sda2 |
Если получим сообщение “No extents available for allocation (overlapping regions are forbidden)” – то тогда перемещаем в два шага:
|
1 |
pvmove --alloc anywhere /dev/sda2:1000-1999 |
Начало и конец подскажет команда:
|
1 |
pvs -v --segments /dev/sda2 |
Далее шринк физического тома до 20gb:
|
1 |
pvresize -v --setphysicalvolumesize 20G /dev/sda2 |
Запускаем fdisk /dev/sda, жмём “p”, чтобы взглянуть на наши разделы. Запоминаем начальный сектор раздела sda2. Затем удаляем раздел sda2 — данные фактически не будут затронуты, просто удалится запись начала и конца — затем создаем новый раздел sda2 с тем же начальным сектором и с размером 20.1G. Тип раздела должен быть 8e, “Linux LVM”.
В grub.conf меняем, чтобы / (корень) указывал на новый /dev/sda2:

Также я закомментировал строчку volume group в /etc/mtab.
Теперь грузим Centos rescue CD и с помощью F5 (скачана такая же версия, какая и установлена).
chroot в /mnt/sysimage и вводим:
|
1 |
mkinitrd -v -f --omit-lvm-modules --without-dmraid initrd2.6.18-348.1.1.img 2.6.18-348.1.1 |
Создаём раздел своп sda3, вносим его в fstab, перезагружаемся и настраиваем сеть.

