rsync works great on production enviroments, I had paravirtualized some servers with these method:
rsync -ave ssh –exclude=/proc –exclude=/sys –exclude=/dev (if you are using udev) root@runingserver:/ /mnt/newserverimage/
after this:
mkdir /mnt/newserverimages/proc
mkdir /mnt/newserverimages/sys
mkdir /mnt/newserverimages/dev
review your fstab, and copy the kernel modules:
cp -pr /lib/modules/2.6.16-xenU /mnt/newserverimages/lib/modules/
more or less …. this is the way
Also I have full virtualitzed some old GNU/Linux boxes with kernels 2.4, I used GNU/Linux live CD on the old box and dd utility:
dd if=/dev/hda | ssh root@10.1.50.11 “/bin/dd of=/dev/vg00/newvserver”
or
dd if=/dev/hda | ssh root@10.1.50.118 “/bin/dd of= /dev/vmvg01/classicapp02”