Migrieren einer root Partition im live betrieb zu einer lv

Für die Migration der Root Partition in ein LVM System musste ich zunächst erst mal lvm2 installieren. Dann habe ich die Partitionen angepasst.

apt-get install lvm2
fdisk /dev/sdb

Sodass meine Partition wie folgt aussieht:
Gerät boot. Anfang Ende Blöcke Id System
/dev/sdb1 2048 102658935 51328444 8e Linux LVM

Dann habe ich das LVM eingerichtet, das LV für das System angelegt und ext4 formatiert:
pvcreate /dev/sdb1
vgcreate vg /dev/sdb1
lvcreate -L system -n 40G vg
mkfs.ext4 /dev/mapper/vg-system

Anschließend konnte ich das LV mounten und mittels Rsync alle Daten kopieren. Mittels der rsync Option „x“ konnte ich /mnt und alle weiteren Filesysteme auschließen.
mount /dev/mapper/vg-system /mnt
rsync -ravPzx / /mnt/

Dann habe ich die fstab angepasst, indem ich mit blkid die neue UUID herausgesucht habe.
blkid
/dev/mapper/vg-system: UUID="ec17cda6-5809-47f1-8a62-f8c47c7103be" TYPE="ext4"
...
vim /mnt/etc/fstab
UUID=ec17cda6-5809-47f1-8a62-f8c47c7103be / ext4 errors=remount-ro 0 1

Dann habe ich mir noch eine chroot gebastelt.
mount --bind /boot /mnt/boot
mount --rbind /dev /mnt/dev
mount --bind /sys /mnt/sys
mount -t proc none /mnt/proc
chroot /mnt

Und darin die initramfs und grub neu gebaut.
update-initramfs -u
update-grub

Dann habe ich die chroot wieder verlassen und zur Sicherheit noch einmal MySQL gestoppt und nur dies noch mal synchronisiert.
/etc/init.d/mysql stop
rsync -avP /var/lib/mysql/ /mnt/var/lib/mysql

reboot
Nach dem abschließenden Reboot ist das System auf der neuen Festplatte wieder hochgekommen.