<br><br><div class="gmail_quote">On Thu, Nov 12, 2009 at 8:53 PM, Mr. Teo En Ming (Zhang Enming) <span dir="ltr"><<a href="mailto:space.time.universe@gmail.com">space.time.universe@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="h5"><br><br><div class="gmail_quote">On Thu, Nov 12, 2009 at 6:37 PM, Fajar A. Nugraha <span dir="ltr"><<a href="mailto:fajar@fajar.net" target="_blank">fajar@fajar.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Thu, Nov 12, 2009 at 5:10 PM, Mr. Teo En Ming (Zhang Enming)<br>
<div><<a href="mailto:space.time.universe@gmail.com" target="_blank">space.time.universe@gmail.com</a>> wrote:<br>
</div><div>> Hi,<br>
><br>
> I don't think I will be using the LVM snapshot method. I will simply ensure<br>
> that my domU is not running,<br>
<br>
</div>Ah, so you can live with the down time. It makes things a lot simpler then.<br>
<div><br>
> then I proceed to do the losetup and kpartx<br>
> procedure.<br>
<br>
</div>Like others mentioned, you don't need losetup for LVs. It will only<br>
make things slower.<br>
<div><br>
> Subsequently I will backup the MBR of my domU by dd-ing<br>
> /dev/loopX and clone all the filesystems of the domU using fsarchiver.<br>
><br>
> I would like to use fsarchiver because it can support LZMA compression. LZMA<br>
> can compress better than bzip2 and decompress 3x faster than bzip2.<br>
> partimage only supports gzip and bzip2.<br>
<br>
<br>
</div>If your concern is the size and speed of backup, here's one final note<br>
from me: you might want to look at zfs. Possible use scenarios :<br>
- use opensolaris as dom0. Probably the most supported option when it<br>
comes to xen + zfs, but you need to be familiar with how opensolaris<br>
works.<br>
- use external storage server running solaris/opensolaris as iscsi<br>
SAN. Think of it as poor-man's Netapp.<br>
- use zfs-fuse inside Linux dom0, and store domU storage as files<br>
- use zfs-fuse on domU, and do backup from domU instead of dom0.<br>
<br>
With zfs, you'd get zfs snapshot (which is like instaneous in-place<br>
backup), incremental block-level send (can greatly reduce backup<br>
storage size if your data doesn't change often), optional transparent<br>
compression for live data (like what ntfs has).<br>
<br>
--<br>
<font color="#888888">Fajar<br>
</font></blockquote></div><br></div></div>I am not familiar with OpenSolaris but that may change with time.<div><div></div><div class="h5"><br><br clear="all">-- <br>Mr. Teo En Ming (Zhang Enming) Dip(Mechatronics) BEng(Hons)(Mechanical Engineering)<br>
Alma Maters:<br>
(1) Singapore Polytechnic<br>(2) National University of Singapore<br>My Primary Blog: <a href="http://teo-en-ming-aka-zhang-enming.blogspot.com" target="_blank">http://teo-en-ming-aka-zhang-enming.blogspot.com</a><br>My Secondary Blog: <a href="http://enmingteo.wordpress.com" target="_blank">http://enmingteo.wordpress.com</a><br>

My Youtube videos: <a href="http://www.youtube.com/user/enmingteo" target="_blank">http://www.youtube.com/user/enmingteo</a><br>Email: <a href="mailto:space.time.universe@gmail.com" target="_blank">space.time.universe@gmail.com</a><br>
Mobile Phone (Starhub Prepaid): +65-8369-2618<br>
Street: Bedok Reservoir Road<br>Country: Singapore<br><br>
</div></div></blockquote></div><br>Hi,<br><br>I have just finished writing my backup/cloning script. Could anyone help me verify whether my backup script will work?<br><br><SCRIPT><br><br>#!/bin/sh<br><br># Script to Backup/Clone Xen Host/Dom0 and all DomUs which are using Logical Volumes as Virtual Hard Disks<br>
<br># Written by:<br> <br># Mr. Teo En Ming (Zhang Enming) Dip(Mechatronics) BEng(Hons)(Mechanical Engineering)<br># Alma Maters:<br># (1) Singapore Polytechnic<br># (2) National University of Singapore<br># Primary Blog: <a href="http://teo-en-ming-aka-zhang-enming.blogspot.com">http://teo-en-ming-aka-zhang-enming.blogspot.com</a><br>
# Secondary Blog: <a href="http://enmingteo.wordpress.com">http://enmingteo.wordpress.com</a><br># Youtube Videos: <a href="http://www.youtube.com/user/enmingteo">http://www.youtube.com/user/enmingteo</a><br># Email: <a href="mailto:space.time.universe@gmail.com">space.time.universe@gmail.com</a><br>
# MSN: <a href="mailto:teoenming@hotmail.com">teoenming@hotmail.com</a><br># Mobile Phone (Starhub Prepaid): +65-8369-2618<br># Street: Bedok Reservoir Road<br># Country: Singapore<br><br># First written: 13 November 2009 Friday 12:38 A.M. Singapore time<br>
# Last updated: 13 November 2009 Friday 12:38 A.M. Singapore time<br><br># REFERNCE: "Geek Sheet: Bare-metal backup and recovery", May 7th, 2008, Jason Perlow<br># URL: <a href="http://blogs.zdnet.com/BTL/?p=8759">http://blogs.zdnet.com/BTL/?p=8759</a><br>
<br># Usage Instructions:<br><br># Boot up your computer/server with System Rescue CD version 1.3.2 for i386/amd64. <br># Then execute this backup script. You need to adapt this script to work for your environment.<br># Download System Rescue CD from <a href="http://www.sysresccd.org/Main_Page">http://www.sysresccd.org/Main_Page</a><br>
<br>###############################################################################################################<br># Declare Variables<br>###############################################################################################################<br>
<br>HARDDISK=/dev/sda<br>DEST=/media/hitachi/test<br><br>###############################################################################################################<br># Cloning Xen Host/Dom0<br>###############################################################################################################<br>
<br># Backup MBR<br><br>dd if=$HARDDISK of=$DEST/f11-xen-dom0-sda.mbr bs=512 count=1<br><br># Activate all logical volumes in all volume groups<br><br>vgchange -ay<br><br># Backup UUIDs of PVs<br><br>pvdisplay > $DEST/f11-xen-dom0-pvdisplay.txt<br>
<br># Backup LVM Metadata<br><br># Backup the configuration of dedicated volume group for dom0<br><br>vgcfgbackup -d -v vg_fedora11_host -f $DEST/vg_fedora11_host.vgcfg.backup<br><br># Backup the configuration of dedicated volume group for domUs<br>
<br>vgcfgbackup -d -v virtualmachines -f $DEST/virtualmachines.vgcfg.backup<br><br># Backup /boot partition and all logical volumes of dedicated volume group for host/dom0<br><br>fsarchiver savefs -v -z 9 -j 2 $DEST/f11-xen-dom0-filesystems.fsa /dev/sda1 /dev/vg_fedora11_host/lv_home \<br>
/dev/vg_fedora11_host/lv_root /dev/vg_fedora11_host/lv_var<br><br>###############################################################################################################<br># Cloning Xen-based Virtual Machines/DomUs/Guest Operating Systems/VMs<br>
###############################################################################################################<br><br># The following 8 virtual machines have physical volumes, so it is not possible to image using partimage or<br>
# fsarchiver directly. The only convenient way is to dd the logical volume for the VM, ie. sector by sector <br># copy. Other methods would be very tedious.<br><br># VM 1: Fedora 11 x86_64 PV domU<br><br>dd if=/dev/virtualmachines/f11-pv-hpc-node0001 | gzip --fast > $DEST/f11-pv-hpc-node0001.img<br>
<br># VM 2: Fedora 11 x86_64 PV domU<br><br>dd if=/dev/virtualmachines/f11-pv-hpc-node0002 | gzip --fast > $DEST/f11-pv-hpc-node0002.img<br><br># VM 3: Fedora 11 x86_64 PV domU<br><br>dd if=/dev/virtualmachines/f11-pv-hpc-node0003 | gzip --fast > $DEST/f11-pv-hpc-node0003.img<br>
<br># VM 4: Fedora 11 x86_64 PV domU<br><br>dd if=/dev/virtualmachines/f11-pv-hpc-node0004 | gzip --fast > $DEST/f11-pv-hpc-node0004.img<br><br># VM 5: Fedora 11 x86_64 PV domU<br><br>dd if=/dev/virtualmachines/f11-pv-hpc-node0005 | gzip --fast > $DEST/f11-pv-hpc-node0005.img<br>
<br># VM 6: Fedora 11 x86_64 PV domU<br><br>dd if=/dev/virtualmachines/f11-pv-hpc-node0006 | gzip --fast > $DEST/f11-pv-hpc-node0006.img<br><br># VM 7: Fedora 11 x86_64 PV domU<br><br>dd if=/dev/virtualmachines/f11-pv-hpc-node0007 | gzip --fast > $DEST/f11-pv-hpc-node0007.img<br>
<br># VM 8: Fedora 11 x86_64 PV domU<br><br>dd if=/dev/virtualmachines/f11-pv-hpc-node0008 | gzip --fast > $DEST/f11-pv-hpc-node0008.img<br><br># VM 9: FreeBSD 8.0 RC2 UNIX amd64 HVM domU<br><br>dd if=/dev/virtualmachines/freebsd | gzip --fast > $DEST/freebsd.img<br>
<br># VM 10: OpenSolaris 2009.06 UNIX amd64 PV domU<br><br>dd if=/dev/virtualmachines/opensolaris | gzip --fast > $DEST/opensolaris.img<br><br># VM 11: Rocks 5.1 x86_64 HPC Compute Cluster HVM domU<br><br>kpartx -av /dev/virtualmachines/rocks0001<br>
<br>dd if=/dev/virtualmachines/rocks0001 of=$DEST/rocks0001.mbr bs=512 count=1<br><br>partimage -d -M -b -z1 save /dev/mapper/virtualmachines-rocks0001p1 $DEST/virtualmachines-rocks0001p1.img<br><br>partimage -d -M -b -z1 save /dev/mapper/virtualmachines-rocks0001p2 $DEST/virtualmachines-rocks0001p2.img<br>
<br>partimage -d -M -b -z1 save /dev/mapper/virtualmachines-rocks0001p5 $DEST/virtualmachines-rocks0001p5.img<br><br>kpartx -dv /dev/virtualmachines/rocks0001<br><br># VM 12: Rocks 5.1 x86_64 HPC Compute Cluster HVM domU<br>
<br>kpartx -av /dev/virtualmachines/rocks0002<br><br>dd if=/dev/virtualmachines/rocks0002 of=$DEST/rocks0002.mbr bs=512 count=1<br><br>partimage -d -M -b -z1 save /dev/mapper/virtualmachines-rocks0002p1 $DEST/virtualmachines-rocks0002p1.img<br>
<br>partimage -d -M -b -z1 save /dev/mapper/virtualmachines-rocks0002p2 $DEST/virtualmachines-rocks0002p2.img<br><br>partimage -d -M -b -z1 save /dev/mapper/virtualmachines-rocks0002p5 $DEST/virtualmachines-rocks0002p5.img<br>
<br>kpartx -dv /dev/virtualmachines/rocks0002<br><br># VM 13: Rocks 5.1 x86_64 HPC Compute Cluster HVM domU<br><br>kpartx -av /dev/virtualmachines/rocks0003<br><br>dd if=/dev/virtualmachines/rocks0003 of=$DEST/rocks0003.mbr bs=512 count=1<br>
<br>partimage -d -M -b -z1 save /dev/mapper/virtualmachines-rocks0003p1 $DEST/virtualmachines-rocks0003p1.img<br><br>partimage -d -M -b -z1 save /dev/mapper/virtualmachines-rocks0003p2 $DEST/virtualmachines-rocks0003p2.img<br>
<br>partimage -d -M -b -z1 save /dev/mapper/virtualmachines-rocks0003p5 $DEST/virtualmachines-rocks0003p5.img<br><br>kpartx -dv /dev/virtualmachines/rocks0003<br><br># VM 14: Rocks 5.1 x86_64 HPC Compute Cluster HVM domU<br>
<br>kpartx -av /dev/virtualmachines/rocks0004<br><br>dd if=/dev/virtualmachines/rocks0004 of=$DEST/rocks0004.mbr bs=512 count=1<br><br>partimage -d -M -b -z1 save /dev/mapper/virtualmachines-rocks0004p1 $DEST/virtualmachines-rocks0004p1.img<br>
<br>partimage -d -M -b -z1 save /dev/mapper/virtualmachines-rocks0004p2 $DEST/virtualmachines-rocks0004p2.img<br><br>partimage -d -M -b -z1 save /dev/mapper/virtualmachines-rocks0004p5 $DEST/virtualmachines-rocks0004p5.img<br>
<br>kpartx -dv /dev/virtualmachines/rocks0004<br><br># VM 15: Rocks 5.1 x86_64 HPC Compute Cluster HVM domU<br><br>kpartx -av /dev/virtualmachines/rocks0005<br><br>dd if=/dev/virtualmachines/rocks0005 of=$DEST/rocks0005.mbr bs=512 count=1<br>
<br>partimage -d -M -b -z1 save /dev/mapper/virtualmachines-rocks0005p1 $DEST/virtualmachines-rocks0005p1.img<br><br>partimage -d -M -b -z1 save /dev/mapper/virtualmachines-rocks0005p2 $DEST/virtualmachines-rocks0005p2.img<br>
<br>partimage -d -M -b -z1 save /dev/mapper/virtualmachines-rocks0005p5 $DEST/virtualmachines-rocks0005p5.img<br><br>kpartx -dv /dev/virtualmachines/rocks0005<br><br># VM 16: Slackware64 13.0 amd64 HVM domU<br><br>kpartx -av /dev/virtualmachines/slackware64<br>
<br>dd if=/dev/virtualmachines/slackware64 of=$DEST/slackware64.mbr bs=512 count=1<br><br>partimage -d -M -b -z1 save /dev/mapper/virtualmachines-slackware64p1 $DEST/virtualmachines-slackware64p1.img<br><br>partimage -d -M -b -z1 save /dev/mapper/virtualmachines-slackware64p2 $DEST/virtualmachines-slackware64p2.img<br>
<br>kpartx -dv /dev/virtualmachines/slackware64<br><br># VM 17: Ubuntu 9.10 Karmic Koala Linux HVM domU<br><br>kpartx -av /dev/virtualmachines/ubuntu910<br><br>dd if=/dev/virtualmachines/ubuntu910 of=$DEST/ubuntu910.mbr bs=512 count=1<br>
<br>partimage -d -M -b -z1 save /dev/mapper/virtualmachines-ubuntu910p1 $DEST/virtualmachines-ubuntu910p1.img<br><br>kpartx -dv /dev/virtualmachines/ubuntu910<br><br># VM 18: Windows XP Home Edition SP3 32-bit HVM domU with VGA passthrough (requires Intel VT-d)<br>
<br>kpartx -av /dev/virtualmachines/winxphome32<br><br>dd if=/dev/virtualmachines/winxphome32 of=$DEST/winxphome32.mbr bs=512 count=1<br><br>partimage -d -M -b -z1 save /dev/mapper/virtualmachines-winxphome32p1 $DEST/virtualmachines-winxphome32p1.img<br>
<br>kpartx -dv /dev/virtualmachines/winxphome32<br><br># EOF<br><br></SCRIPT><br><br>Thank you!<br><br>-- <br>Mr. Teo En Ming (Zhang Enming) Dip(Mechatronics) BEng(Hons)(Mechanical Engineering)<br>Alma Maters:<br>(1) Singapore Polytechnic<br>
(2) National University of Singapore<br>My Primary Blog: <a href="http://teo-en-ming-aka-zhang-enming.blogspot.com">http://teo-en-ming-aka-zhang-enming.blogspot.com</a><br>My Secondary Blog: <a href="http://enmingteo.wordpress.com">http://enmingteo.wordpress.com</a><br>
My Youtube videos: <a href="http://www.youtube.com/user/enmingteo">http://www.youtube.com/user/enmingteo</a><br>Email: <a href="mailto:space.time.universe@gmail.com">space.time.universe@gmail.com</a><br>Mobile Phone (Starhub Prepaid): +65-8369-2618<br>
Street: Bedok Reservoir Road<br>Country: Singapore<br>