[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-users] How do I create an initrd for a vm that is using lvm ?
I hope this comes in handy for someone else. Joe Solution for CentOs 5.3: The idea here was to clone a VM and change the VM's LVM group so that each VM has its own group. I wanted each VM to have its own LVM group just to avoid my own stupid mistakes such as fsck'ing a VM's root partition but doing it on the wrong VM (especially bad if the VM is running)! - this is possible if all VM's have the same LVM group name (VG00) as doing a "vgchange -ay VG00" would get whatever VM image happened to be dkpart'd at the time. - by having each VM with an LVM group containing its VMname, eg. VG_VM10 is VM10's volume group, the chances of error is reduced somewhat Just one more level of protection... Instead of re-creating the initrd I unpacked the cloned initrd modified the "init" script and then re-packed it. Other changes were needed in the root filesystem & grub/menu.lst to match this change as outlined below. This clones a VM image dd'd onto an iSCSI volume, changing the LVM group from VG_VM09 to VG_VM10: # create the clone dd if=/dev/iscsi/6002219000bde59b0000000049cafede/part9 of=/dev/iscsi/6002219000bde59b0000000049cafede/part10 bs=1024K # mount the VM's /boot to get at grub/menu.lst and initrd losetup -o $((512*63)) /dev/loop1 /dev/iscsi/6002219000bde59b0000000049cafede/part10 - the (512 * 63) are the (units * start) from fdisk -lu mount -t ext3 /dev/loop1 /mnt # unpack the initrd, modify it, pack it again cd /mnt mkdir tmp cd tmp cat ../initrd-2.6.18-128.el5xen.img | gunzip | cpio --extract vi "init" - search for VG_VM09 and change it to VG_VM10 mv ../initrd-2.6.18-128.el5xen.img ../initrd-2.6.18-128.el5xen.img.orig find . | cpio --quiet -c -o | gzip > ../initrd-2.6.18-128.el5xen.img cd .. rm -rf tmp # Update menu.lst to point to the new root path cd grub edit menu.lst - change root path using new VG_VM10 path # cleanup access to /boot cd umount /mnt losetup -d /dev/loop1 # Create access to the root filesystem of the newly cloned VM kpartx -av /dev/iscsi/6002219000bde59b0000000049cafede/part10 # Change the volume group name vgrename VG_VM09 VG_VM10 vgchange -ay VG_VM10 mount /dev/VG_VM10/root /mnt cd /mnt vi etc/fstab - change path to swap & root to be VG_VM10 vi etc/blkid/blkid.tab - change paths to use VG_VM10 - not sure if this is really necessary to do as it is created by blkid but I am not sure when vi etc/sysconfig/network - change nodename vi etc/sysconfig/network-scripts/ifcfg-eth0 - update MAC - update IP (if needed) vi etc/hosts - update nodename rm etc/lvm/archive/* - just for cleanlyness # Clean up access to VM's root cd umount /mnt vgchange -an VG_VM10 kpartx -dv /dev/iscsi/6002219000bde59b0000000049cafede/part10 cp /etc/xen/vm09 /etc/xen/vm10 - edit vm10 config to change the name, uuid, vif/mac and disk xm create vm10 -- View this message in context: http://www.nabble.com/How-do-I-create-an-initrd-for-a-vm-that-is-using-lvm---tp23986257p24007251.html Sent from the Xen - User mailing list archive at Nabble.com. _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-users
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |