Migrieren einer root Partition im live betrieb zu einer lv
Samstag, April 25th, 2015Fü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.