Mike wrote: > Current Installation: CentOS 7.1503 with SerNet Samba 4 ver. 4.1.17 > configured as Active Directory Domain Controller. > Current Installation: HP Workstation with dual Xeon quadcore cpu's and 4 x > SATA hard drives NOT configured in RAID array. > > New Installation: CentOS 7.1503 minimal install > New Installation: SuperMicro with single Xeon quadcore cpu and 4 x SATA > hard drives configured in two pairs of RAID 1. > > The Current Install is about 3.5 GB's and has my Samba 4 setup all solid > and working well. I want to know if it's possible to simply: > > - tar up the whole root partition > - put it on a USB drive > - boot the New server with a livecd > - chroot into / partition > - unpack the tar'ed root (/) from the USB drive into the New server root > (/). > > Both installs used the automatic partitioning from anaconda, so /boot is > on > a separate partition. Each server has an initrd and kernel that works > from > /boot partition. Both CentOS installs are setup using the xfs filesystem > on the root (/) partition. > > I saw someone do this successfully once but they left out certain > directories like /srv , /tmp , and /var. > But I'm not 100% certain which directories need to be left out of the > tarball. > > Has anyone done this before? > Do you know if it's doable? > > Thanks for reading. What we've done a good bit of, to upgrade one server from another that's already where we want it to be, is this: 1. On the target machine, mkdir /new /boot/new 2. rsync -HPavx <sourceserver>:/boot/. /boot/new/ 3. rsync -HPavx -exclude=/old -exclude=/var/log/wtmp <sourceserver>:/. /new/ (exclude anything else you want) 4. Copy /etc/fstab, /etc/sysconfig/network, /etc/sysconfig/network-scripts/ifcfg-e*, /boot/grub/device.map, and /etc/exports, if any, to /boot/new and /new/etc/ 5. Deal with /new/etc/udev.d/rules/70-persistant-net.rules 6. copy /etc/ssh/ssh_host* /new/etc/ssh/ 7. IF THE NEW HARDWARE IS DIFFERENT THAN THE OLD, make a new initrd. mount --bind /dev /new/dev mount --bind /sys /new/sys mount --bind /proc /new/proc mount --bind /boot/new /new/boot chroot /new cd /lib/modules VER=$(ls -rt1 | tail -1) echo $VER mkinitrd X $VER mv X /boot/initrd-$VER.img exit 8. I haven't been able to do the next in bash, my preferred shell, so: 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 9. touch /.autorelabel reboot And you can always go back via a rescue boot and a few moves. mark