Skip to main content

Clone an LVM based KVM based Virtual Machine ;-)

I recently opted to use a volume for my VM (instead of creating a file).

RHEVM01 is the "source" and RHUTIL01 is the destination.  I am also cloning from my vg_blackmesa to vg_apps.  One thing I would like to figure out is how to monitor the progress.


root@blackmesa ~]# lvdisplay /dev/mapper/vg_blackmesa-VM_RHEVM01
  --- Logical volume ---
  LV Path                /dev/vg_blackmesa/VM_RHEVM01
  LV Name                VM_RHEVM01
  VG Name                vg_blackmesa
  LV UUID                zx4BLV-Athf-Ymcd-ox4h-965J-uo30-Aey9dJ
  LV Write Access        read/write
  LV Creation host, time blackmesa.area51.private, 2012-06-22 00:12:02 -0500
  LV Status              available
  # open                 1
  LV Size                20.00 GiB
  Current LE             5120
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:6


[root@blackmesa ~]# vgs
  VG           #PV #LV #SN Attr   VSize   VFree  
  vg_apps        1   1   0 wz--n- 278.46g 153.46g
  vg_blackmesa   1   6   0 wz--n- 135.29g  43.29g


[root@blackmesa ~]# lvcreate -nVM_RHUTIL01 -L20g vg_apps
  Logical volume "VM_RHUTIL01" created


[root@blackmesa ~]# lvdisplay /dev/mapper/vg_apps-VM_RHUTIL01 
  --- Logical volume ---
  LV Path                /dev/vg_apps/VM_RHUTIL01
  LV Name                VM_RHUTIL01
  VG Name                vg_apps
  LV UUID                EM6eA5-Jcww-iugy-UfRn-GgJE-cvaC-P5i1Wd
  LV Write Access        read/write
  LV Creation host, time blackmesa.area51.private, 2012-06-22 19:14:04 -0500
  LV Status              available
  # open                 0
  LV Size                20.00 GiB
  Current LE             5120
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:7


-- During the copy, you can watch via iostat

[root@blackmesa ~]# ls -l /dev/mapper/vg_blackmesa-VM_RHEVM01 
lrwxrwxrwx. 1 root root 7 Jun 22 00:12 /dev/mapper/vg_blackmesa-VM_RHEVM01 -> ../dm-6
[root@blackmesa ~]# dd if=/dev/dm-6 of=^C
[root@blackmesa ~]# ls -l /dev/mapper/vg_apps-VM_RHUTIL01 
lrwxrwxrwx. 1 root root 7 Jun 22 19:14 /dev/mapper/vg_apps-VM_RHUTIL01 -> ../dm-7


[root@blackmesa ~]# dd if=/dev/dm-6 of=/dev/dm-7 bs=512K 
40960+0 records in
40960+0 records out
21474836480 bytes (21 GB) copied, 273.34 s, 78.6 MB/s
[root@blackmesa qemu]# cat RHEVM01.xml | sed 's/RHEVM01/RHUTIL01/g' > RHUTIL01.xml
[root@blackmesa qemu]# uuidgen 
bffa485a-70d3-4d58-80b2-bf1a56a81928
OR... use

[root@blackmesa ~]# dd if=/dev/vg_blackmesa/VM_RHEVM01 of=/dev/mapper/vg_apps-VM_RHUTIL01 bs=512K


[root@blackmesa qemu]#  vi RHUTIL01.xml
-- update 
    uuid
    Description (if present)
    name
    macaddress
[root@blackmesa qemu]# service libvirtd restart 
[root@blackmesa qemu]# virsh start RHUTIL01 && virsh start RHEVM01; 
[root@blackmesa qemu]# sudo virsh list --all
 Id    Name                           State
----------------------------------------------------
 1     CRWX01                         running
 2     RHNSAT01                       running
 3     WINPDC01                       running
 4     RHEVM01                        running
 5     RHUTIL01                       running


-- You will, of course, need to update your network configuration inside
   the cloned VM because of the new mac address.

Comments

Popular posts from this blog

PXE boot a LiveCD image

Summary: I have wanted to build a kickstart environment which hosted a "rescue CD" or LiveCD to allow you to boot over the network after you blew your stuff up and needed to repair a few things.  Today I have worked through a method of doing so, with the help of the people who published a succinct script with the Red Hat Enterprise Virtualization Hypervisor.  (the script will be at the bottom of this post - if I have somehow not followed the GPL, please let me know and I will correct whatever is necessary) NOTE/Warning: The boot will fail due the initrd being too large (645mb).  I'm not sure how to proceed.  This procedure worked for RHEVh, because it is quite a bit smaller.  Hopefully I can report back with progress on this? :-$ Procedure: download your LiveCD image to /export/isos/RESCUE/Fedora-16-i686-Live-Desktop.iso # cd /var/tmp # vi livecd-iso-to-pxeboot (populate the file with the script shown below) # chmod 754 ./livecd-iso-to-pxeb...

"Error getting authority: Error initializing authority: Could not connect: No such file or directory (g-io-error-quark, 1)"

"Error getting authority: Error initializing authority: Could not connect: No such file or directory (g-io-error-quark, 1)" One issue that may cause this to arise is if you managed to break your /etc/fstab We had an engineer add a line with the intended options of "nfsvers=3" but instead added "-onfsvers=3" and it broke the system fairly catastrophically.

P2V using dd for KVM-QEMU guest

Preface: I have certainly not exhaustively tested this process.  I had a specific need and found a specific solution that worked. Situation:  I was issued a shiny new laptop running Red Hat Enterprise Linux 7 (with Corp VPN, certs, Authentication configuration, etc...)  The image was great, but I needed more flexibility on my bare metal.  So, my goal was to P2V the corporate image so I could just run it as a VM. * Remove corporate drive and install new SSD * install corp drive in external USB-3 case * Install RHEL 7 on new SSD * dd old drive to a disk-image file in a temp location which will be an image which is the same size as your actual drive (unless you have enough space in your destination to contain a temp and converted image) * convert the raw disk-image to a qcow file while pushing it to the final location - this step should reduce the disk size - however, I believe it will only reduce/collapse zero-byte blocks (not just free space - i.e. if you de...