[CentOS] Tar CentOS installation and transfer it to new server

2015-06-29 Thread Mike
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.
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] Tar CentOS installation and transfer it to new server

2015-06-29 Thread m . roth
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 :/boot/. /boot/new/
3. rsync -HPavx -exclude=/old -exclude=/var/log/wtmp :/.
/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

___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] Tar CentOS installation and transfer it to new server

2015-06-29 Thread Mike
Thanks Mr. Roth!
That's nice and methodical.
I do like how you can revert by simply remounting the previous directories.

I'm going to try both.
I'm still hopeful that a simple tar -xf server.tgz into the chrooted "/" is
possible.
At linuxquestions.org, one user suggests it can be done by exempting the
following:

/proc /sys /dev /tmp /var

I'm thinking the tarball thing may work due to the following:

There's only one posix user account besides root, thus almost all files on
the system are user: root group: root.
I'll be using the same version of tar on both the Current Installation and
the New Installation.
All other user data will be mounted on the other set of hard drives and not
a part of the base installation I'm un-tarring into (/).
I'll also update each server install prior to transfer so all base packages
on both servers match x.y.z to x.y.z.

Mike





On Mon, Jun 29, 2015 at 2:45 PM,  wrote:

> 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 :/boot/. /boot/new/
> 3. rsync -HPavx -exclude=/old -exclude=/var/log/wtmp :/.
> /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
>
> ___
> CentOS mailing list
> CentOS@centos.org
> http://lists.centos.org/mailman/listinfo/centos
>
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] Tar CentOS installation and transfer it to new server

2015-06-29 Thread Chris Murphy
Anaconda on Fedora live media installs uses:

rsync -pogAXtlHrDx

There is at least one equivalent that's shorter, probably with -a
representing about half of those.


Chris Murphy
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] Tar CentOS installation and transfer it to new server

2015-06-29 Thread Chris Murphy
On Mon, Jun 29, 2015 at 2:38 PM, Chris Murphy  wrote:
> Anaconda on Fedora live media installs uses:
>
> rsync -pogAXtlHrDx

Looks like this is the same as -aAXHx

The cap X is for extended attributes.



-- 
Chris Murphy
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] Tar CentOS installation and transfer it to new server

2015-06-29 Thread Mike
On Mon, Jun 29, 2015 at 4:43 PM, Chris Murphy 
wrote:

> On Mon, Jun 29, 2015 at 2:38 PM, Chris Murphy 
> wrote:
> > Anaconda on Fedora live media installs uses:
> >
> > rsync -pogAXtlHrDx
>
> Looks like this is the same as -aAXHx
>
> The cap X is for extended attributes.
>
>
Mr. Murphy, thanks for your follow up.
Do you mean boot both the current and the new server with LiveCD's and then
---
rsync -aAXHx -e 'ssh' /chroot-mounted/root/directory root@192.168.10.200:
/chroot-mounted/root/destination/directory


Best regards.
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] Tar CentOS installation and transfer it to new server

2015-06-30 Thread Warren Young
On Jun 29, 2015, at 6:50 PM, Mike <1100...@gmail.com> wrote:
> 
> rsync -aAXHx -e 'ssh’ 

-e ssh has been the default in rsync for a very long time.  I believe the 
newest CentOS where -e defaults to rsh instead is CentOS 3.

You only need to give -e nowadays when you need nonstandard ssh options, and 
you don’t want to put them in your ~/.ssh/config file.  A common example is a 
nonstandard port number:

   rsync -e "ssh -p 222" ...
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] Tar CentOS installation and transfer it to new server

2015-06-30 Thread Mike
On Tue, Jun 30, 2015 at 12:55 PM, Warren Young  wrote:

> On Jun 29, 2015, at 6:50 PM, Mike <1100...@gmail.com> wrote:
> >
> > rsync -aAXHx -e 'ssh’
>
> -e ssh has been the default in rsync for a very long time.  I believe the
> newest CentOS where -e defaults to rsh instead is CentOS 3.
>
> You only need to give -e nowadays when you need nonstandard ssh options,
> and you don’t want to put them in your ~/.ssh/config file.  A common
> example is a nonstandard port number:
>

Thanks Mr. Young.
The man page definitely tracks with your observation.
Appreciated.
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos