Frage:Das Root-Dateisystem ist voll und es ist kein LVM. Wir müssen dies auf eine neue Partition verschieben, die LVM ist. Wie kann dies erreicht werden?
Antwort :
Das Verfahren zum Konvertieren eines vorhandenen Root-Dateisystems auf einer normalen Festplattenpartition in ein LVM-Volume ist wie folgt:
1. Erstellen Sie zuerst eine LVM-Partition:
Wählen Sie einen freien Datenträger aus und erstellen Sie darauf eine LVM-Partition.
# pvcreate /dev/sdb1 # vgcreate vg_new_root /dev/sdb1 # lvcreate -L 4G -n lv0 vg_new_root
2. Formatieren Sie diese neue LVM-Partition mit ext3 oder ext4 (oder nach Bedarf). Das unten angegebene Beispiel erstellt ein aext4-Dateisystem:
# mkfs.ext4 /dev/vg_new_root/lv0
3. Erstellen Sie einen neuen Mount-Punkt und mounten Sie dann die LVM-Partition darauf:
# mkdir /mnt/NEW_ROOT_PARTITION # mount /dev/vg_new_root/lv0 /mnt/NEW_ROOT_PARTITION
4. Kopieren Sie den gesamten Inhalt von „/“ in den neu bereitgestellten Ordner:
# tar -cvpf - --one-file-system --acls --xattrs --selinux / | tar -C /mnt/NEW_ROOT_PARTITION -xf # cp -aux /dev /mnt/NEW_ROOT_PARTITION
5. Bearbeiten Sie nun die Datei – /mnt/NEW_ROOT_PARTITION/etc/fstab um den neuen Stamm widerzuspiegeln:
/dev/vg_new_root/lv0 / ext4 defaults 1 1
6. Jetzt ist es erforderlich, in ein neues Dateisystem zu chrooten und eine initrd mit Raid- und LVM-Unterstützung zu erstellen:
# mount --bind /dev /mnt/NEW_ROOT_PARTITION # chroot /mnt/NEW_ROOT_PARTITION # mount -t proc /proc /proc # mount -t sysfs /sys /sys
# vgscan # vgchange -ay # mkinitrd -v /boot/initrd-`uname -r`.lvm.img `uname -r`
# umount /sys # umount /proc # exit # mv /mnt/lv0/boot/initrd-`uname -r`.lvm.img /boot
7. Bearbeiten Sie /boot/grub/grub.conf auf das neue Stammverzeichnis /dev/vg_new_root/lv0 zeigen . Sichern Sie die alte initrd im Verzeichnis „/boot“ und benennen Sie die neue initrd in die vorhandene um oder bearbeiten Sie den Eintrag in grub.conf.
8. Neustart
# shutdown -r now