Toralf Lund wrote:
> Hi,
>
> I just found myself having to set up a new CentOS 6 system with a nearly
> identical configuration to an existing host, so I thought I would just
>
> 1. Do a minimal install to set up partitions etc. on the new system.
> 2. Create an image of the existing system using Clonezilla
> (http://www.clonezilla.org)
> 3. Run a Clonezilla restore on the new system.
>
> - as I though it would be a lot simpler than replicating the exact
> package selection, installing the same users, doing the same manual
> config edits (which are required) etc.
>
> It turns out that it wasn't quite as easy, though. The problem is that
> the system use LVM2 volumes for the filesystems, and the new host has a
> slightly smaller disk than the other, and Clonezilla seems unable to
> restore to a volume that's smaller than the one that was cloned - even
> if the actual data fits.
>
> I guess I could temporarily reduce the LVM volume sizes on the existing
> units and clone again, but I'd rather not if I can avoid it. Just
> copying file-by-file could be an option, too, but I somehow feel less
> comfortable doing that than the above; there is something about the way
> I could end up with a mixture of my "minimal install" and the "cloned"
> data, I suppose.
>
> Does anyone have any other ideas about how I might achieve what I want?
Manually clone it.
On the new machine:
mkdir /new
mkdir /boot/new
rsync -HPavzx --exclude=/old --exclude=/var/log/wtmp $machine:/. /new/.
rsync -HPavzx $machine:/boot/. /boot/new/.
where $machine is the system you're cloning from. You might want to
exclude other logfiles.
To prevent problems with the Ethernet interfaces:
rsync -HPavzx /etc/sysconfig/network-scripts/ifcfg-eth*
/new/etc/sysconfig/network-scripts
rsync -HPavzx /etc/sysconfig/hwconf /new/etc/sysconfig
rsync -HPavzx /boot/grub/device.map /boot/new/grub/
rsync -HPavzx /etc/udev/rules.d/70-persistent-net.rules
/new/etc/udev/rules.d/
Clean log files - you don't really want any of the old systems:
find /new/var/log/ -type f -exec cp /dev/null {} \;
Copy the original SSH keys - you do *not* want the keys of the system
you're cloning from:
rsync -HPavzx /etc/ssh/ssh_host* /new/etc/ssh
Now rotate: zsh, because it lets you load it's builtin-s, so mv works
zsh
zmodload zsh/files
cd /boot
mkdir old
mv * old
mv old/lost+found .
mv old/new/* .
# Root partition.
cd /
mkdir old
mv * old
mv old/lost+found .
#mv old/root . -- WHY?
mv old/scratch .
mv old/new/* .
sync
sync
Also you might want to
touch /.autorelabel
to shut up selinux.
Note that this assumes the same CPU, etc, Otherwise, you might need to
make a new initrd.
mark
___
CentOS mailing list
CentOS@centos.org
https://lists.centos.org/mailman/listinfo/centos