Simple Harddisk Backup/Cloning and Data Restore Scripts for your Fedora Desktops
Mr. Teo En Ming (Zhang Enming)
space.time.universe at gmail.com
Sun Nov 15 01:19:16 UTC 2009
On Sun, Nov 15, 2009 at 9:15 AM, Mr. Teo En Ming (Zhang Enming) <
space.time.universe at gmail.com> wrote:
>
>
> On Sun, Nov 15, 2009 at 9:11 AM, Mr. Teo En Ming (Zhang Enming) <
> space.time.universe at gmail.com> wrote:
>
>>
>>
>> On Fri, Nov 13, 2009 at 10:28 PM, Mr. Teo En Ming (Zhang Enming) <
>> space.time.universe at gmail.com> wrote:
>>
>>> *Restore script:*
>>>
>>> <CODE>
>>> ---snipped---
>>> </CODE>
>>>
>>>
>>>
>> Hi All,
>>
>> I have tested my self-written harddisk backup/cloning script by performing
>> a backup of my Western Digital 500 GB SATA harddisk to my 160 GB Hitachi
>> harddisk.
>>
>> The backup operation is successful except for 3 virtual machines. The
>> backup of these 3 virtual machines fail because partimage does not support
>> ext4 filesystems. I have performed a backup of these 3 VMs *again* using the
>> following modified script to handle ext4 filesystems by using fsarchiver:
>>
>> <SCRIPT>
>> ---snipped---
>>
>> </SCRIPT>
>>
>> The duration of harddisk cloning has been shortened from 7 hours to 4.5
>> hours. The filesize of the backup image set has been reduced from 300 GB to
>> 126 GB, which is a substantial reduction of more than 50%.
>>
>>
>>
> *Latest Backup Script as at 15 November 2009 9:13 A.M. SGT:*
>
> <CODE>
> ---snipped---
> </CODE>
>
>
*Latest Restore Script as at 15 November 2009 Sunday 9:17 A.M. SGT:*
<CODE>
#!/bin/sh
set -x
###############################################################################################################
###############################################################################################################
# Script to Restore Xen Host/Dom0 and all DomUs which are using Logical
Volumes as Virtual Hard Disks
###############################################################################################################
###############################################################################################################
# Written by:
# Mr. Teo En Ming (Zhang Enming) Dip(Mechatronics) BEng(Hons)(Mechanical
Engineering)
# Alma Maters:
# (1) Singapore Polytechnic
# (2) National University of Singapore
# Primary Blog: http://teo-en-ming-aka-zhang-enming.blogspot.com
# Secondary Blog: http://enmingteo.wordpress.com
# Youtube Videos: http://www.youtube.com/user/enmingteo
# Xen Tutorials and Video Demos: http://www.xen.org/support/tutorial.html
# Email: space.time.universe at gmail.com
# MSN: teoenming at hotmail.com
# Mobile Phone (Starhub Prepaid): +65-8369-2618
# Street: Bedok Reservoir Road
# Country: Singapore
# First written: 13 November 2009 Friday 6:49 P.M. Singapore time
# Last updated: 13 November 2009 Friday 8:25 P.M. Singapore time
# Last updated: 13 November 2009 Friday 8:59 P.M. Singapore time
# Last updated: 13 November 2009 Friday 9:40 P.M. Singapore time
# Last updated: 14 November 2009 Saturday 3:31 A.M. Singapore time
# Last updated: 15 November 2009 Sunday 1:25 A.M. Singapore time
# Last updated: 15 November 2009 Sunday 8:38 A.M. Singapore time
# REFERNCE: "Geek Sheet: Bare-metal backup and recovery", May 7th, 2008,
Jason Perlow
# URL: http://blogs.zdnet.com/BTL/?p=8759
# Usage Instructions:
# Boot up your desktop/server with System Rescue CD version 1.3.2 for
i386/amd64.
# Then execute this restore script. You need to adapt this script to work
for your environment.
# Download System Rescue CD from http://www.sysresccd.org/Main_Page
# No. of QC Checks Performed on this restore script: 1
###############################################################################################################
# Declare Variables
###############################################################################################################
HARDDISK=/dev/sda
SOURCE=/media/hitachi/test
###############################################################################################################
###############################################################################################################
# Restoring Xen Host/Dom0
###############################################################################################################
###############################################################################################################
# Restore the Master Boot Record
dd if=$SOURCE/f11-xen-dom0-sda.mbr of=$HARDDISK bs=512 count=1
# Restore the Partition Geometry
sfdisk $HARDDISK < $SOURCE/f11-xen-dom0-partition-geometry-sda.sfdisk
# Re-create the LVM2 PV containing the host operating system/dom0
#pvcreate --uuid ??? /dev/sda2
pvcreate /dev/sda2
# Re-create the LVM2 PV containing all the virtual machines
#pvcreate --uuid ??? /dev/sda3
pvcreate /dev/sda3
# Restore the LVM2 metadata for the volume group containing the host
operating system/dom0
vgcfgrestore --file $SOURCE/vg_fedora11_host-vgcfg.lvm2.metadata
vg_fedora11_host
# Restore the LVM2 metadata for the volume group containing all the virtual
machines
vgcfgrestore --file $SOURCE/virtualmachines-vgcfg.lvm2.metadata
virtualmachines
# Activate all the volume groups
vgchange -ay
# Restore all filesystems for the host operating system/dom0
fsarchiver restfs -v $SOURCE/f11-xen-dom0-filesystems.fsa
id=0,dest=/dev/sda1 \
id=1,dest=/dev/vg_fedora11_host/lv_home \
id=2,dest=/dev/vg_fedora11_host/lv_root \
id=3,dest=/dev/vg_fedora11_host/lv_var
# Re-create the swap partition
mkswap /dev/vg_fedora11_host/lv_swap
###############################################################################################################
###############################################################################################################
# Restoring Xen-based Virtual Machines/DomUs/Guest Operating Systems/VMs
###############################################################################################################
###############################################################################################################
### NOTE: Check for swap partitions in each virtual machine and do a mkswap.
# VM 1: Fedora 11 x86_64 PV domU (MPICH2 Virtual Supercomputer Center)
###############################################################################################################
zcat $SOURCE/virtualmachines-f11-pv-hpc-node0001.img.gz | dd
of=/dev/virtualmachines/f11-pv-hpc-node0001
# VM 2: Fedora 11 x86_64 PV domU (MPICH2 Virtual Supercomputer Center)
###############################################################################################################
zcat $SOURCE/virtualmachines-f11-pv-hpc-node0002.img.gz | dd
of=/dev/virtualmachines/f11-pv-hpc-node0002
# VM 3: Fedora 11 x86_64 PV domU (MPICH2 Virtual Supercomputer Center)
###############################################################################################################
zcat $SOURCE/virtualmachines-f11-pv-hpc-node0003.img.gz | dd
of=/dev/virtualmachines/f11-pv-hpc-node0003
# VM 4: Fedora 11 x86_64 PV domU (MPICH2 Virtual Supercomputer Center)
###############################################################################################################
zcat $SOURCE/virtualmachines-f11-pv-hpc-node0004.img.gz | dd
of=/dev/virtualmachines/f11-pv-hpc-node0004
# VM 5: Fedora 11 x86_64 PV domU (MPICH2 Virtual Supercomputer Center)
###############################################################################################################
zcat $SOURCE/virtualmachines-f11-pv-hpc-node0005.img.gz | dd
of=/dev/virtualmachines/f11-pv-hpc-node0005
# VM 6: Fedora 11 x86_64 PV domU (MPICH2 Virtual Supercomputer Center)
###############################################################################################################
zcat $SOURCE/virtualmachines-f11-pv-hpc-node0006.img.gz | dd
of=/dev/virtualmachines/f11-pv-hpc-node0006
# VM 7: Fedora 11 x86_64 PV domU (MPICH2 Virtual Supercomputer Center)
###############################################################################################################
zcat $SOURCE/virtualmachines-f11-pv-hpc-node0007.img.gz | dd
of=/dev/virtualmachines/f11-pv-hpc-node0007
# VM 8: Fedora 11 x86_64 PV domU (MPICH2 Virtual Supercomputer Center)
###############################################################################################################
zcat $SOURCE/virtualmachines-f11-pv-hpc-node0008.img.gz | dd
of=/dev/virtualmachines/f11-pv-hpc-node0008
# VM 9: FreeBSD 8.0 RC2 UNIX amd64 HVM domU
###############################################################################################################
zcat $SOURCE/virtualmachines-freebsd.img.gz | dd
of=/dev/virtualmachines/freebsd
# VM 10: OpenSolaris 2009.06 UNIX amd64 PV domU
###############################################################################################################
zcat $SOURCE/virtualmachines-opensolaris.img.gz | dd
of=/dev/virtualmachines/opensolaris
# VM 11: Rocks 5.1 x86_64 HPC Compute Cluster HVM domU (based on CentOS 5.2)
###############################################################################################################
# Add partition mappings in /dev/mapper
kpartx -av /dev/virtualmachines/rocks0001
# Restore MBR
dd if=$SOURCE/virtualmachines-rocks0001.mbr
of=/dev/virtualmachines/rocks0001 bs=512 count=1
# Restore partition geometry
sfdisk /dev/virtualmachines/rocks0001 <
$SOURCE/virtualmachines-rocks0001.sfdisk
# Restore all filesystems
partimage -e -b restore /dev/mapper/virtualmachines-rocks0001p1
$SOURCE/virtualmachines-rocks0001p1.img.000
partimage -e -b restore /dev/mapper/virtualmachines-rocks0001p2
$SOURCE/virtualmachines-rocks0001p2.img.000
partimage -e -b restore /dev/mapper/virtualmachines-rocks0001p5
$SOURCE/virtualmachines-rocks0001p5.img.000
# Re-create swap
mkswap /dev/mapper/virtualmachines-rocks0001p3
# Delete partition mappings in /dev/mapper
kpartx -dv /dev/virtualmachines/rocks0001
# VM 12: Rocks 5.1 x86_64 HPC Compute Cluster HVM domU (based on CentOS 5.2)
###############################################################################################################
# Add partition mappings in /dev/mapper
kpartx -av /dev/virtualmachines/rocks0002
# Restore MBR
dd if=$SOURCE/virtualmachines-rocks0002.mbr
of=/dev/virtualmachines/rocks0002 bs=512 count=1
# Restore partition geometry
sfdisk /dev/virtualmachines/rocks0002 <
$SOURCE/virtualmachines-rocks0002.sfdisk
# Restore all filesystems
partimage -e -b restore /dev/mapper/virtualmachines-rocks0002p1
$SOURCE/virtualmachines-rocks0002p1.img.000
partimage -e -b restore /dev/mapper/virtualmachines-rocks0002p2
$SOURCE/virtualmachines-rocks0002p2.img.000
partimage -e -b restore /dev/mapper/virtualmachines-rocks0002p5
$SOURCE/virtualmachines-rocks0002p5.img.000
# Re-create swap
mkswap /dev/mapper/virtualmachines-rocks0002p3
# Delete partition mappings in /dev/mapper
kpartx -dv /dev/virtualmachines/rocks0002
# VM 13: Rocks 5.1 x86_64 HPC Compute Cluster HVM domU (based on CentOS 5.2)
###############################################################################################################
# Add partition mappings in /dev/mapper
kpartx -av /dev/virtualmachines/rocks0003
# Restore MBR
dd if=$SOURCE/virtualmachines-rocks0003.mbr
of=/dev/virtualmachines/rocks0003 bs=512 count=1
# Restore partition geometry
sfdisk /dev/virtualmachines/rocks0003 <
$SOURCE/virtualmachines-rocks0003.sfdisk
# Restore all filesystems
partimage -e -b restore /dev/mapper/virtualmachines-rocks0003p1
$SOURCE/virtualmachines-rocks0003p1.img.000
partimage -e -b restore /dev/mapper/virtualmachines-rocks0003p2
$SOURCE/virtualmachines-rocks0003p2.img.000
partimage -e -b restore /dev/mapper/virtualmachines-rocks0003p5
$SOURCE/virtualmachines-rocks0003p5.img.000
# Re-create swap
mkswap /dev/mapper/virtualmachines-rocks0003p3
# Delete partition mappings in /dev/mapper
kpartx -dv /dev/virtualmachines/rocks0003
# VM 14: Rocks 5.1 x86_64 HPC Compute Cluster HVM domU (based on CentOS 5.2)
###############################################################################################################
# Add partition mappings in /dev/mapper
kpartx -av /dev/virtualmachines/rocks0004
# Restore MBR
dd if=$SOURCE/virtualmachines-rocks0004.mbr
of=/dev/virtualmachines/rocks0004 bs=512 count=1
# Restore partition geometry
sfdisk /dev/virtualmachines/rocks0004 <
$SOURCE/virtualmachines-rocks0004.sfdisk
# Restore all filesystems
partimage -e -b restore /dev/mapper/virtualmachines-rocks0004p1
$SOURCE/virtualmachines-rocks0004p1.img.000
partimage -e -b restore /dev/mapper/virtualmachines-rocks0004p2
$SOURCE/virtualmachines-rocks0004p2.img.000
partimage -e -b restore /dev/mapper/virtualmachines-rocks0004p5
$SOURCE/virtualmachines-rocks0004p5.img.000
# Re-create swap
mkswap /dev/mapper/virtualmachines-rocks0004p3
# Delete partition mappings in /dev/mapper
kpartx -dv /dev/virtualmachines/rocks0004
# VM 15: Rocks 5.1 x86_64 HPC Compute Cluster HVM domU (based on CentOS 5.2)
###############################################################################################################
# Add partition mappings in /dev/mapper
kpartx -av /dev/virtualmachines/rocks0005
# Restore MBR
dd if=$SOURCE/virtualmachines-rocks0005.mbr
of=/dev/virtualmachines/rocks0005 bs=512 count=1
# Restore partition geometry
sfdisk /dev/virtualmachines/rocks0005 <
$SOURCE/virtualmachines-rocks0005.sfdisk
# Restore all filesystems
partimage -e -b restore /dev/mapper/virtualmachines-rocks0005p1
$SOURCE/virtualmachines-rocks0005p1.img.000
partimage -e -b restore /dev/mapper/virtualmachines-rocks0005p2
$SOURCE/virtualmachines-rocks0005p2.img.000
partimage -e -b restore /dev/mapper/virtualmachines-rocks0005p5
$SOURCE/virtualmachines-rocks0005p5.img.000
# Re-create swap
mkswap /dev/mapper/virtualmachines-rocks0005p3
# Delete partition mappings in /dev/mapper
kpartx -dv /dev/virtualmachines/rocks0005
# VM 16: Slackware64 13.0 amd64 HVM domU
###############################################################################################################
# Add partition mappings in /dev/mapper
kpartx -av /dev/virtualmachines/slackware64
# Restore MBR
dd if=$SOURCE/virtualmachines-slackware64.mbr
of=/dev/virtualmachines/slackware64 bs=512 count=1
# Restore partition geometry
sfdisk /dev/virtualmachines/slackware64 <
$SOURCE/virtualmachines-slackware64.sfdisk
# Restore all filesystems
# partimage does not support ext4 filesystems
#partimage -e -b restore /dev/mapper/virtualmachines-slackware64p1
$SOURCE/virtualmachines-slackware64p1.img.000
#partimage -e -b restore /dev/mapper/virtualmachines-slackware64p2
$SOURCE/virtualmachines-slackware64p2.img.000
fsarchiver restfs -v $SOURCE/virtualmachines-slackware64p1.fsa \
id=0,dest=/dev/mapper/virtualmachines-slackware64p1
fsarchiver restfs -v $SOURCE/virtualmachines-slackware64p2.fsa \
id=0,dest=/dev/mapper/virtualmachines-slackware64p2
# Re-create swap
mkswap /dev/mapper/virtualmachines-slackware64p3
# Delete partition mappings in /dev/mapper
kpartx -dv /dev/virtualmachines/slackware64
# VM 17: Ubuntu 9.10 Karmic Koala Linux HVM domU
###############################################################################################################
# Add partition mappings in /dev/mapper
kpartx -av /dev/virtualmachines/ubuntu910
# Restore MBR
dd if=$SOURCE/virtualmachines-ubuntu910.mbr
of=/dev/virtualmachines/ubuntu910 bs=512 count=1
# Restore partition geometry
sfdisk /dev/virtualmachines/ubuntu910 <
$SOURCE/virtualmachines-ubuntu910.sfdisk
# Restore all filesystems
# partimage does not support ext4 filesystems
#partimage -e -b restore /dev/mapper/virtualmachines-ubuntu910p1
$SOURCE/virtualmachines-ubuntu910p1.img.000
fsarchiver restfs -v $SOURCE/virtualmachines-ubuntu910p1.fsa \
id=0,dest=/dev/mapper/virtualmachines-ubuntu910p1
# Re-create swap
mkswap /dev/mapper/virtualmachines-ubuntu910p5
# Delete partition mappings in /dev/mapper
kpartx -dv /dev/virtualmachines/ubuntu910
# VM 18: Windows XP Home Edition SP3 32-bit HVM domU with VGA passthrough
(requires Intel VT-d)
###############################################################################################################
# Add partition mappings in /dev/mapper
kpartx -av /dev/virtualmachines/winxphome32
# Restore MBR
dd if=$SOURCE/virtualmachines-winxphome32.mbr
of=/dev/virtualmachines/winxphome32 bs=512 count=1
# Restore partition geometry
sfdisk /dev/virtualmachines/winxphome32 <
$SOURCE/virtualmachines-winxphome32.sfdisk
# Restore all filesystems
partimage -e -b restore /dev/mapper/virtualmachines-winxphome32p1
$SOURCE/virtualmachines-winxphome32p1.img.000
# Delete partition mappings in /dev/mapper
kpartx -dv /dev/virtualmachines/winxphome32
# VM 19: openSUSE 11.2 x86_64 Linux PV domU
###############################################################################################################
# Add partition mappings in /dev/mapper
kpartx -av /dev/virtualmachines/opensuse
# Restore MBR
dd if=$SOURCE/virtualmachines-opensuse.mbr of=/dev/virtualmachines/opensuse
bs=512 count=1
# Restore partition geometry
sfdisk /dev/virtualmachines/opensuse <
$SOURCE/virtualmachines-opensuse.sfdisk
# Restore all filesystems
# partimage does not support ext4 filesystems
#partimage -e -b restore /dev/mapper/virtualmachines-opensuse2
$SOURCE/virtualmachines-opensuse2.img.000
fsarchiver restfs -v $SOURCE/virtualmachines-opensuse2.fsa
id=0,dest=/dev/mapper/virtualmachines-opensuse2
# Re-create swap
mkswap /dev/mapper/virtualmachines-opensuse1
# Delete partition mappings in /dev/mapper
kpartx -dv /dev/virtualmachines/opensuse
###############################################################################################################
###############################################################################################################
# Deactivate Logical Volume Manager
vgchange -an
# Sync filesystems
sync
# Reboot the machine
reboot
###############################################################################################################
# EOF
###############################################################################################################
</CODE>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/fedora-list/attachments/20091115/554e3d32/attachment-0001.htm>
More information about the fedora-list
mailing list