Ein kurzes Update von meiner Seite. Kontext: Heute habe ich einen dedizierten Server online gestellt, der anstelle von LVM mit einem physischen Partitionsschema installiert wurde. Es gab 3 Partitionen:
/ boot (ext4) - 512M / (ext4) - 730G Swap - 8G
Aufgrund des fehlenden Konsolenzugriffs bestand das Endziel darin, die vorhandene Root-Partition in LVM zu konvertieren.
Da ext4 nicht verkleinert werden kann, bestand die einzige Möglichkeit darin, die Swap-Partition als temporären Root wiederzuverwenden. Ich habe mich auch entschlossen, das temporäre Stammverzeichnis mit LVM einzurichten, um sicherzustellen, dass der Prozess ordnungsgemäß funktioniert.
Zuerst stellte sich der Tausch heraus:
swapoff -a
Ändern Sie dann die Größe der Partition über parted (ursprünglich wurde sie von 742 auf 750 gestartet):
parted
resize 3 742 744
und erstellte eine Partition für das LVM:
mkpart primary ext2 744 750
set 4 lvm on
PV / VG / LV / Dateisystemerstellung für das temporäre Stammverzeichnis:
pvcreate /dev/sda4
vgcreate VolGroup00 /dev/sda4
lvcreate -L 5.73G -n tmproot VolGroup00
mkfs.ext4 /dev/VolGroup00/tmproot
Der nächste Schritt bestand darin, den Stamm an den temporären Ort zu kopieren:
mount /dev/VolGroup00/tmproot /media
rsync -ravzxq / /media/
Sobald alles da war, musste auch der Eintrag für das Root-Dateisystem in / media / etc / fstab geändert werden:
/dev/VolGroup00/tmproot / ext4 defaults 1 1
Fast dort war der letzte und am meisten unerwünschte Teil ohne Konsolenzugriff das Ändern der Datei /boot/grub/grub.conf:
Originaleintrag:
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
geänderter Eintrag:
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
Um auf der sicheren Seite zu sein: insmod lvm wurde zusammen mit dem dolvm-Parameter für den Kernel hinzugefügt und der Root-Pfad wurde ebenfalls in root = / dev / mapper / VolGroup00-tmproot geändert. Es ist wichtig, zu diesem Zeitpunkt den Pfad / dev / mapper / zu verwenden. Als sichere Einzahlung habe ich auch den Parameter panic = 10 hinzugefügt und den Standard-Starteintrag im Header nicht geändert. Stattdessen habe ich versucht, dem Grub nur einmal zu sagen, dass er mit der neuen Einstellung booten soll, und im Fehlerfall könnte der ursprüngliche Eintrag funktionieren:
grub
savedefault --default=1 --once
Und schlussendlich:
reboot
Zum ersten Mal war es für mich in Ordnung, also wiederholte ich den gesamten Vorgang mit dem Erstellen einer neuen Volume-Gruppe über der ursprünglichen Root-Partition und bekam schließlich mit LVM den Root an der richtigen Stelle.
Hoffe das hilft.