Быстрое обновление с моей стороны. Контекст: сегодня я подключил выделенный сервер со схемой физических разделов вместо LVM. Всего было 3 раздела:
/ boot (ext4) - 512M / (ext4) - своп 730G - 8G
Из-за природы отсутствия консольного доступа конечной целью было преобразование существующего корневого раздела в LVM.
Учитывая, что ext4 не сжимается, единственным способом было повторно использовать раздел подкачки как временный корень. Я также решил настроить временный корень с LVM, чтобы убедиться, что процесс может работать правильно.
Сначала получился своп:
swapoff -a
Затем изменил размер раздела через parted (изначально он был запущен с 742 до 750):
parted
resize 3 742 744
и создал раздел для LVM:
mkpart primary ext2 744 750
set 4 lvm on
Создание PV / VG / LV / файловой системы для временного корня:
pvcreate /dev/sda4
vgcreate VolGroup00 /dev/sda4
lvcreate -L 5.73G -n tmproot VolGroup00
mkfs.ext4 /dev/VolGroup00/tmproot
Следующим шагом было скопировать рут во временное место:
mount /dev/VolGroup00/tmproot /media
rsync -ravzxq / /media/
Когда все будет готово, запись для корневой файловой системы в / media / etc / fstab также должна быть изменена:
/dev/VolGroup00/tmproot / ext4 defaults 1 1
Почти там, последней и, скажем так, самой нежелательной частью без доступа к консоли было изменение /boot/grub/grub.conf:
оригинальная запись:
title CentOS (2.6.32-279.22.1.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-279.22.1.el6.x86_64 ro root=UUID=e769af21-d9e1-455f-a6a7-7a9c84d8cbea rd_NO_LUKS LANG=en_US.UTF-8 KEYBOARDTYPE=pc KEYTABLE=hu rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_LVM rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-279.22.1.el6.x86_64.img
измененная запись:
title CentOS (2.6.32-279.22.1.el6.x86_64) LVM
insmod lvm
kernel /vmlinuz-2.6.32-279.22.1.el6.x86_64 ro LANG=en_US.UTF-8 KEYBOARDTYPE=pc KEYTABLE=hu SYSFONT=latarcyrheb-sun16 crashkernel=auto dolvm root=/dev/mapper/VolGroup00-tmproot panic=10
#rd_NO_DM rd_NO_MD rd_NO_LUKS
initrd /initramfs-2.6.32-279.22.1.el6.x86_64.img
Просто чтобы быть в безопасности: insmod lvm был добавлен вместе с параметром dolvm для ядра, и корневой путь также был изменен на root = / dev / mapper / VolGroup00-tmproot. В настоящее время важно использовать / dev / mapper / path. В качестве безопасного депозита я также добавил параметр panic = 10 и не изменил загрузочную запись по умолчанию в заголовке. Вместо этого я попытался сообщить grub о загрузке с новой настройкой только один раз, и в случае сбоя оригинальная запись может сработать:
grub
savedefault --default=1 --once
И наконец:
reboot
В первый раз для меня это было нормально, поэтому я повторил всю процедуру, создав новую группу томов поверх исходного корневого раздела, и, наконец, я получил рут в нужном месте с помощью LVM.
Надеюсь это поможет.