Creating a clone of current server

Updated May 28 2013 at 10:17 AM

Resolution

  • From a perspective of software, one of the exact methods is to copy disk image by using dd command after shutting the system. This way the work is done from a block device level and does not depend on the OS/filesystem on the system. Find the example below:

If you just want to copy the contents of a file system tree to another location, the following command is likely what you need:

# cp -ar <source directory> <destination directory>

However if you want to move an entire hard drive image (a.k.a. "ghost" a drive) to another driver, the following command is likely to be the best method (however completely unsupported by Red Hat):

# dd if=</dev/[h|s]dX> of=</dev/[h|s]dY>

Note in the dd command, the h or s modifiers normally specify an IDE or SCSI drive respectively. The X and Y should be replaced with the appropriate drive letters (a,b,c, etc.). For example:

# dd if=/dev/hda of=/dev/hdb
# dd if=/dev/sdc of=/dev/sdd

While the above would allow the lowest level copy from the block device, some configurations such as machine addresses for NIC on cloned systems would still have to be done. Doing the above, as stated, is not supported by Red Hat, as there are many areas that might cause issues (such as mismatched hardware types), however it is possible.

For source information regarding the above see the following link:
http://www.redhat.com/advice/tips/rhkb.html

How do I create a compressed backup image of a Red Hat Enterprise Linux machine to an external drive using dd?

Updated December 5 2013 at 6:14 AM

 

To create a compressed disk image with "dd" :
  1. Boot into rescue mode with the installation media
  2. Create a mount point for your external drive:
    # mkdir /mnt/external
    
  3. Mount your external drive:
    # mount /dev/sdb1 /mnt/external
    
  4. Create the compressed disk image:
    # dd if=/dev/sda | gzip -9 > /mnt/external/filename.img.gz
    

To recover this in future, run the following command :

# zcat /mnt/external/filename.img.gz | dd of=/dev/sda

Note: Do not use dd to backup block devices that are currently in use. Doing so will likely cause inconsistency on the filesystem(s).

PING (Partimage Is Not Ghost)

PING is a live Linux ISO, based on the excellent Linux From Scratch (LFS) documentation. It can be burnt on a CD and booted, or integrated into a PXE / RIS environment.

Several tools have been added and written, so to make this ISO the perfect choice to backup and restore whole partitions, an easy way. It sounds like Symantec Ghost(tm), but has even better features, and is totally free.

Features include:
 

 

Top 6 Open Source Disk Cloning and Imaging Softwares

Top 6 Open Source Disk Cloning and Imaging Softwares

 

Top 6 Open Source Disk Cloning and Imaging Softwares

by on August 25, 2012 17 comments LAST UPDATED August 28, 2012

in Open Source, Storage

Disk cloning is nothing but the process of copying the contents of one hard disk (or partition) to another disk or to an "image" file. I make backup regularly using rsnapshot tool, but I also clone my hard disk once or twice a month. This option allows me to restore my OS and installed software quickly. Linux comes with various utilities for performing disk cloning. In this post, I'm going to list my favourite open source disk cloning softwares that has saved my butt multiple times.
 

#1: Old good dd command

The dd command allows you to make the low-level copying and conversion of data in raw format. It copies the standard input to the standard output. It can also be used for backing up the boot sector (MBR) of a hard drive or destroy data using /dev/zero or /dev/random.

Examples

To clone /dev/sdb3 partition to another partition called /dev/sdc3, enter:
# dd if=/dev/sdb3 of=/dev/sdc3 bs=4096 conv=noerror
You can clone a hard disk /dev/sdc to /dev/sdd:
# dd if=/dev/sdc of=/dev/sdd bs=1M conv=noerror
You can duplicate a disk partition called /dev/sda1 as a disk image file called backup.sda1.mm.dd.yy.img file:
# dd if=/dev/sda1 of=/path/to/safe/location/backup.sda1.07.28.12.img bs=4096 conv=noerror
OR
# dd if=/dev/sda1 of=/nfs/backup/images/backup.sda1.07.28.12.img bs=1M conv=noerror
To restore an image, run:
# dd if=/nfs/backup/images/backup.sda1.07.28.12.img of=/dev/sda1 bs=1M conv=noerror
The dd command can make backup of any partition regardless of an operating system. You can use it with FreeBSD / OpenBSD / Mac OS X / MS-Windows and so on:

 

(Video.01: dd clone hard disk demo)

 

Say hello to ddrescue

The ddrescue command copies data from one file or block device to another, trying hard to rescue data in case of read errors. The dd command will fail but ddrescue will continue:
# ddrescue /dev/sda /dev/sdb

#2 partimage - Backup partitions into a compressed image file

The partimage command backs up disk partitions into image files and restores them (much like Ghost). You can use the apt-get command under Debian / Ubuntu Linux to install the same:
# apt-get install partimage
If you are using RHEL / Fedora / SL / Red Hat / CentOS Linux, turn on EPEL repo and type the following yum command:
# yum install partimage
Type partimage as follows to see various options:
# partimage
Sample outputs:
 

Fig.01: partimage in action

Fig.01: partimage in action

 

You can now follow on screen instructions to backup or restore images.

Examples

Create an image of /dev/sda2 (make sure /dev/sda2 is not mounted):
# partimage -z1 -o -d save /dev/sda2 /nfs/backup/laptop.wks01.sda1.home_07_08_2012.gz
You can restore it as follows:
# partimage restore /dev/sda2 /nfs/backup/laptop.wks01.sda1.home_07_08_2012.gz.000
See how to use this fast software to backup and restore images:

 

(Video.02: partimage command demo)

 

Please note that partimage will only copy data from the used portions of the partition. This is done for speed and efficiency, free blocks are not written to the image file. Since the partition is processed on a sequential sector basis disk transfer time is maximized and seek time is minimized.

A note about server software

Partitions can be saved across the network using the partimage network support, or using Samba / NFS (Network File Systems). This provides the ability to perform an hard disk partition recovery after a disk crash. You need to install partimage-server package which provides server daemon for remote imaging, much like Ghost. See documentation for more info.

#3: Clonezilla

If you are looking to replace Norton Ghost Corporate Edition, try Clonezilla. It provides the following features:

  1. Disaster recovery
  2. Disk cloning
  3. Disk imaging
  4. Deployment solution
  5. Free and Open source

This software allows you to do bare metal backup and recovery. Clonezilla works in any one of the following mode:

Fig.02: Clonezilla in action

Fig.02: Clonezilla in action

=> Download clonezilla software.

#4 Mondo rescue

Another good free disaster recovery software that I use frequently. It works with Linux /FreeBSD and supports clone tapes, disks, USB devices, network and CD/DVD as backup media, multiple filesystems, LVM, software and hardware RAID. Restoration may be done from a physical media including OBDR tape support, or CD/DVD/USB media, or from the network through PXE.

This software used by Lockheed-Martin, Nortel Networks, Siemens, HP, IBM, NASA's JPL, the US Dept of Agriculture, dozens of smaller companies, and tens of thousands of users around the world.

Fig.03: Mondo Rescue in action

Fig.03: Mondo Rescue in action

=> Download Mondo Rescue software.

#5 Redo backup and recovery

Redo backup and recovery is a free backup and disaster recovery software. It runs from a bootable Linux CD image, features a GUI, and is capable of bare-metal backup and recovery of disk partitions. It can use external hard drives and network shares. It is the simplest point and click open source backup and recovery solution available. You can store images on an external drive or network shares such as nfs based shared folders.

Fig.04. Redo backup and recovery software in action

Fig.04. Redo backup and recovery software in action

=> Download redo backup and recovery software.

#6 Trinity Rescue Kit

Trinity Rescue Kit or TRK is a free live Linux distribution that aims specifically at recovery and repair operations on MS-Windows systems, but is equally usable for Linux recovery issues such as as rescue, repair, password resets and disk cloning. Some features:

  1. Reset windows passwords with the improved winpass tool.
  2. 5 different virusscan products integrated in a single uniform commandline with online update capability.
  3. Full ntfs write support thanks to ntfs-3g
  4. Winclean, a utility that cleans up all sorts of unnecessary temporary files on your computer.
  5. Clone computers over the network via multicast.
  6. Contributed backup utility called "pi", to automate local machine backups
  7. Easy script to find and mount all local filesystems
  8. Recovery and undeletion of files with utilities and procedures
  9. Recovery of lost partitions
  10. Evacuation of dying disks
  11. 2 rootkit detection uitilities
  12. And much more
Fig.05Trinity Rescue Kit in action

Fig.05Trinity Rescue Kit in action

=> Download trinity rescue kit software.

My favorite software

For bare metal restore I prefer dd command (gziped images) as it includes copy of the boot sector, boot partition and the root partition. The dd command works well for small setup or home users. But, for a large setup and data center, I prefer to use either clonezilla or mondo rescue softwaee due to ease of use and reliability.

Have a favorite open source disk cloning and disaster recovery software? Got an alternative? Let us know your preferred app in the comments below.