[CentOS] Making a clone of an LVM-based EL5 install

Mon Mar 18 22:36:41 UTC 2013
Lists <lists at benjamindsmith.com>

Does anybody here have any idea how to make an exact copy of a drive 
that has LVM partitions? I'm having trouble using dd to do this for an 
EL5 server.

We're trying to diagnose a software problem of some kind and would like 
an exact, perfect copy of the software running so that we can see 
exactly what the problem is without disturbing our production copy. It's 
been admin practice to set up a single server with the ideal image as 
desired, and then use DD to replicate that image to multiple hosts. 
We've done this a large number of times. The exact procedure followed is:

-) Perform typical file-level backups with rsync
-) Install additional HDD (hereafter sdb) as least a big as the HDD to 
be duplicated.
-) Boot off a CentOS install DVD with "linux rescue"
-) Where /dev/sda is the original drive and /dev/sdb is the new drive, run:
     dd bs=8192 if=/dev/sda of=/dev/sdb;
-) shutdown the server upon completion of the previous command and 
remove 2nd drive.

Hereafter, using systems NOT running lvm, we have a bootable drive that 
can be installed into a 2nd machine and generally expect things to "just 
work" after sorting out a few driver issues. (EG: /dev/eth#s change)
Following this exact procedure with partitions on LVM does NOT result in 
a booting system!

-) When booting from the newly imaged drive, it starts the boot just 
fine but quits at:
----------------------------
Activating logical volumes
   Volume group "VolGroup00" not found
Trying to resume from /dev/VolGroup00/LogVol01
Unable to access resume device (/dev/VolGroup00/LogVol01)
Creating root device.
Mounting root filesystem.
mount: could not find filesystem '/dev/root'
--SNIP--
switchroot: mount failed: no such file or directory
Kernel panic - not syncing: Attempted to kill init!
----------------------------


-) Running Linux rescue, at the shell:
----------------------------
# pvscan
PV /dev/sda2    VG VolGroup00   lvm2 [153.28 GiB / 0 free]
Total: 1 [153.28 GiB] / inuse: 1 [153.28 GiB] / in no VG: [0  ]
# vgscan
   Reading all physical volums. This may take a while...
   Found volume group "VolGroup00" using metadata type lvm2
# lvscan
   inactive    '/dev/VolGroup00/LogVol00' [151.31 GiB] inherit
   inactive    '/dev/VolGroup00/LogVol01' [1.97 GiB] inherit
----------------------------

-) Running the EL5 installer with the "Find distro" option on mounts the 
install at /tmp/sysimage without issue.

What am I missing?!?!