Re: [gentoo-user] Clone live system as a simple backup?

2012-03-08 Thread YoYo Siska
On Wed, Mar 07, 2012 at 02:47:08PM -0500, Joshua Murphy wrote:
 On Wed, Mar 7, 2012 at 8:55 AM,  gand...@d-danks.co.uk wrote:
  Hi,
     I'm interested in the idea of cloning a live, complicated hardware
  system onto a single external hard drive as a simple backup. I would
  like this external drive to be completely bootable. What's the best
  way to approach doing this? I was considering just doing a Gentoo
  install from scratch but figured maybe there's a way to clone enough
  of the live system to get me there less painfully?
 
     The system I'm playing with has five 500MB hard drives with most
  partitions in linked together in various forms of RAID. (1, 5  6)
  That said, the total storage that this system presents KDE and the
  users is about 600GB.
 
     I have an external 1TB eSATA drive which is therefore large enough
  to hold everything on this system, albeit without the reliability of
  RAID which is fine for this purpose.
 
     The system looks more or less like:
 
  /dev/sda1 - /boot (50MB)
  /dev/sdb1 - /boot copy
  /dev/sdc1 - /boot copy
 
  c2stable ~ # df
  Filesystem     1K-blocks      Used Available Use% Mounted on
  rootfs          51612920  31862844  17128276  66% /
  /dev/root       51612920  31862844  17128276  66% /
  rc-svcdir           1024        92       932   9% /lib64/rc/init.d
  udev               10240       476      9764   5% /dev
  shm              6151284         0   6151284   0% /dev/shm
  /dev/md7       389183252 350247628  19166232  95% /VirtualMachines
  tmpfs            8388608         0   8388608   0% /var/tmp/portage
  /dev/sda1          54416     29516     22091  58% /boot
  c2stable ~ # cat /proc/mdstat
  Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5]
  [raid4]
  md6 : active raid5 sdb6[1] sdc6[2] sda6[0]
        494833664 blocks super 1.1 level 5, 64k chunk, algorithm 2 [3/3]
  [UUU]
 
  md7 : active raid6 sdb7[1] sdc7[2] sda7[0] sdd2[3] sde2[4]
        395387904 blocks super 1.2 level 6, 16k chunk, algorithm 2 [5/5]
  [U]
 
  md3 : active raid6 sdb3[1] sdc3[2] sda3[0] sdd3[3] sde3[4]
        157305168 blocks super 1.2 level 6, 16k chunk, algorithm 2 [5/5]
  [U]
 
  md126 : active raid1 sdc5[2] sda5[0] sdb5[1]
        52436032 blocks [3/3] [UUU]
 
  unused devices: none
  c2stable ~ #
 
     /dev/md3 is a second Gentoo installation that doesn't need to be
  backed up at this time. md6 is an internal RAID used to back up md7
  daily. It doesn't need to be backed up, but if the machine totally
  failed killing all the drives that wouldn't survive so currently I
  back up md126 to md6 daily, and then back up md6 weekly to an external
  eSATA drive.
 
     What I'd like to do is clone
 
  1) /boot (sda1) including grub and everything required to make it bootable
  2) back up the system portions of dev/md126 (/ )
  3) Add some swap space on the external drive
  4) back up /dev/md7 which is all of my VMs
  5) back up /home to a separate partition on the external drive
  6) back up some special things like /var/lib/portage/world and
  /usr/portage/packages
 
  My thought is that this drive is basically bootable, but over time
  gets out-of-sync with the system. However should the system fail I've
  got a bootable external drive with all the binary packages required to
  get it running again quickly. However I can always boot the drive, do
  an emerge -ek @world, and basically be back to where I am as of the
  last backup.
 
  The external drive will look something like:
 
  /dev/sdg1 - /boot
  /dev/sdg2 - swap
  /dev/sdg3 - / (not including /home, /usr/portage/distfiles, etc)
  /dev/sdg5 - /usr/portage/packages
  /dev/sdg6 - /dev/md7
 
  etc
 
     I will of course have to modify grub.conf and /etc/fstab to work
  from this drive but that's no big deal.
 
     What are folks best ideas about how to approach doing something like
  this?
 
  Thanks,
  Mark
 
 
  Hi,
     Why don't you something like bind mount the folders you want to copy
  and rsync them to the eSATA disk, after creating a similar partition
  layout on it. Remember to exclude system files like /proc/*, /dev/*
  and /sys/* as well as the ones you want to exclude yourself from the
  rsync. When you want to sync the clone again just do the same again
  and rsync the changes.
 
  Regards,
  Derek
 
 
 
 As an added note on this, rsync's --one-file-system (-x) flag is handy
 for avoiding grabbing unneeded things, but will typically leave you
 without the base few device nodes needed to boot the backup, those can
 either be grabbed from a stage3, or created with (courtesy of Linux
 From Scratch's section 6.2.1. Creating Initial Device Nodes):
 
 mknod -m 600 ${backup}/dev/console c 5 1
 mknod -m 666 ${backup}/dev/null c 1 3

The best way to copy a filesystem without any sub-mounts is to
mount-bind it to some directory and copy it from there:

mkdir /tmp/root
mount --bind / /tmp/root
rsync -a /tmp/root/ /mnt/backup/

Note that copying a rw filesystem (especially /) on a 

Re: [gentoo-user] Clone live system as a simple backup?

2012-03-08 Thread Pandu Poluan
On Mar 8, 2012 2:50 AM, Joshua Murphy poiso...@gmail.com wrote:


 8 snip


 As an added note on this, rsync's --one-file-system (-x) flag is handy
 for avoiding grabbing unneeded things, but will typically leave you
 without the base few device nodes needed to boot the backup, those can
 either be grabbed from a stage3, or created with (courtesy of Linux
 From Scratch's section 6.2.1. Creating Initial Device Nodes):

 mknod -m 600 ${backup}/dev/console c 5 1
 mknod -m 666 ${backup}/dev/null c 1 3


... or just add another rsync invocation to backup /dev ...

Rgds,


Re: [gentoo-user] Clone live system as a simple backup?

2012-03-08 Thread Neil Bothwick
On Thu, 8 Mar 2012 23:52:53 +0700, Pandu Poluan wrote:

  As an added note on this, rsync's --one-file-system (-x) flag is handy
  for avoiding grabbing unneeded things, but will typically leave you
  without the base few device nodes needed to boot the backup, those can
  either be grabbed from a stage3, or created with (courtesy of Linux
  From Scratch's section 6.2.1. Creating Initial Device Nodes):
 
  mknod -m 600 ${backup}/dev/console c 5 1
  mknod -m 666 ${backup}/dev/null c 1 3
   
 
 ... or just add another rsync invocation to backup /dev ...

That won't work because it will backup the full devfs mounted on /dev,
not the files that exist in the directory itself.


-- 
Neil Bothwick

Despite the cost of living, have you noticed how it remains so popular?


signature.asc
Description: PGP signature


Re: [gentoo-user] Clone live system as a simple backup?

2012-03-08 Thread Mark Knecht
On Thu, Mar 8, 2012 at 9:12 AM, Neil Bothwick n...@digimed.co.uk wrote:
 On Thu, 8 Mar 2012 23:52:53 +0700, Pandu Poluan wrote:

  As an added note on this, rsync's --one-file-system (-x) flag is handy
  for avoiding grabbing unneeded things, but will typically leave you
  without the base few device nodes needed to boot the backup, those can
  either be grabbed from a stage3, or created with (courtesy of Linux
  From Scratch's section 6.2.1. Creating Initial Device Nodes):
 
  mknod -m 600 ${backup}/dev/console c 5 1
  mknod -m 666 ${backup}/dev/null c 1 3
 

 ... or just add another rsync invocation to backup /dev ...

 That won't work because it will backup the full devfs mounted on /dev,
 not the files that exist in the directory itself.


 --
 Neil Bothwick

 Despite the cost of living, have you noticed how it remains so popular?

Thanks for all the ideas. As I've not done this sort of thing before
every one of them has been worth my time thinking about.

I ended up going a slightly different direction, only made possible by
how little disk space costs these days. Here's what I did:

1) As a chroot, on the live system I created a new Gentoo install.
This is just a very basic single disk partition type install as per
the Gentoo install guide. No apps, no KDE, nothing. Just the basic
stuff.

2) Once that install was up  running I copied the server's world
file, /etc/portage/package.*, /etc/conf.d, /etc/X/xorg.conf  a few
other things into this new install and ran emerge -ek @world to get it
up and running.

3) When all of that was complete and functioning, at least in the
chroot, I then took the chroot offline and used rsync to get the
chroot installed copied to  the external drive.

4) WIth the rsync complete I then took a cut at modifying /etc/fstab
to be correct for booting from the external drive. Not sure about this
step at this time as I don't know for sure how the machine will name
the external drive.

I'm now looking to get /boot copied to the external drive, get grub
installed, and then see if I can boot using that drive.

Again, thanks for the ideas and keep 'em coming if you have more.

Cheers,
Mark



Re: [gentoo-user] Clone live system as a simple backup?

2012-03-08 Thread Brian Wiborg
On 03/06/12 at 11:51AM -0800, Mark Knecht wrote:
What are folks best ideas about how to approach doing something like this?

Simple answer:
Just use ReaR [1], it is even provided in sunrise [2]

Regards,
bacce

[1] http://rear.sourceforge.net/
[2] http://overlays.gentoo.org/proj/sunrise/browser/sunrise/app-backup/rear



signature.asc
Description: Digital signature


Re: [gentoo-user] Clone live system as a simple backup?

2012-03-07 Thread gandalf
 Hi,
I'm interested in the idea of cloning a live, complicated hardware
 system onto a single external hard drive as a simple backup. I would
 like this external drive to be completely bootable. What's the best
 way to approach doing this? I was considering just doing a Gentoo
 install from scratch but figured maybe there's a way to clone enough
 of the live system to get me there less painfully?

The system I'm playing with has five 500MB hard drives with most
 partitions in linked together in various forms of RAID. (1, 5  6)
 That said, the total storage that this system presents KDE and the
 users is about 600GB.

I have an external 1TB eSATA drive which is therefore large enough
 to hold everything on this system, albeit without the reliability of
 RAID which is fine for this purpose.

The system looks more or less like:

 /dev/sda1 - /boot (50MB)
 /dev/sdb1 - /boot copy
 /dev/sdc1 - /boot copy

 c2stable ~ # df
 Filesystem 1K-blocks  Used Available Use% Mounted on
 rootfs  51612920  31862844  17128276  66% /
 /dev/root   51612920  31862844  17128276  66% /
 rc-svcdir   102492   932   9% /lib64/rc/init.d
 udev   10240   476  9764   5% /dev
 shm  6151284 0   6151284   0% /dev/shm
 /dev/md7   389183252 350247628  19166232  95% /VirtualMachines
 tmpfs8388608 0   8388608   0% /var/tmp/portage
 /dev/sda1  54416 29516 22091  58% /boot
 c2stable ~ # cat /proc/mdstat
 Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5]
 [raid4]
 md6 : active raid5 sdb6[1] sdc6[2] sda6[0]
   494833664 blocks super 1.1 level 5, 64k chunk, algorithm 2 [3/3]
 [UUU]

 md7 : active raid6 sdb7[1] sdc7[2] sda7[0] sdd2[3] sde2[4]
   395387904 blocks super 1.2 level 6, 16k chunk, algorithm 2 [5/5]
 [U]

 md3 : active raid6 sdb3[1] sdc3[2] sda3[0] sdd3[3] sde3[4]
   157305168 blocks super 1.2 level 6, 16k chunk, algorithm 2 [5/5]
 [U]

 md126 : active raid1 sdc5[2] sda5[0] sdb5[1]
   52436032 blocks [3/3] [UUU]

 unused devices: none
 c2stable ~ #

/dev/md3 is a second Gentoo installation that doesn't need to be
 backed up at this time. md6 is an internal RAID used to back up md7
 daily. It doesn't need to be backed up, but if the machine totally
 failed killing all the drives that wouldn't survive so currently I
 back up md126 to md6 daily, and then back up md6 weekly to an external
 eSATA drive.

What I'd like to do is clone

 1) /boot (sda1) including grub and everything required to make it bootable
 2) back up the system portions of dev/md126 (/ )
 3) Add some swap space on the external drive
 4) back up /dev/md7 which is all of my VMs
 5) back up /home to a separate partition on the external drive
 6) back up some special things like /var/lib/portage/world and
 /usr/portage/packages

 My thought is that this drive is basically bootable, but over time
 gets out-of-sync with the system. However should the system fail I've
 got a bootable external drive with all the binary packages required to
 get it running again quickly. However I can always boot the drive, do
 an emerge -ek @world, and basically be back to where I am as of the
 last backup.

 The external drive will look something like:

 /dev/sdg1 - /boot
 /dev/sdg2 - swap
 /dev/sdg3 - / (not including /home, /usr/portage/distfiles, etc)
 /dev/sdg5 - /usr/portage/packages
 /dev/sdg6 - /dev/md7

 etc

I will of course have to modify grub.conf and /etc/fstab to work
 from this drive but that's no big deal.

What are folks best ideas about how to approach doing something like
 this?

 Thanks,
 Mark


Hi,
Why don't you something like bind mount the folders you want to copy
and rsync them to the eSATA disk, after creating a similar partition
layout on it. Remember to exclude system files like /proc/*, /dev/*
and /sys/* as well as the ones you want to exclude yourself from the
rsync. When you want to sync the clone again just do the same again
and rsync the changes.

Regards,
Derek




Re: [gentoo-user] Clone live system as a simple backup?

2012-03-07 Thread Joshua Murphy
On Wed, Mar 7, 2012 at 8:55 AM,  gand...@d-danks.co.uk wrote:
 Hi,
    I'm interested in the idea of cloning a live, complicated hardware
 system onto a single external hard drive as a simple backup. I would
 like this external drive to be completely bootable. What's the best
 way to approach doing this? I was considering just doing a Gentoo
 install from scratch but figured maybe there's a way to clone enough
 of the live system to get me there less painfully?

    The system I'm playing with has five 500MB hard drives with most
 partitions in linked together in various forms of RAID. (1, 5  6)
 That said, the total storage that this system presents KDE and the
 users is about 600GB.

    I have an external 1TB eSATA drive which is therefore large enough
 to hold everything on this system, albeit without the reliability of
 RAID which is fine for this purpose.

    The system looks more or less like:

 /dev/sda1 - /boot (50MB)
 /dev/sdb1 - /boot copy
 /dev/sdc1 - /boot copy

 c2stable ~ # df
 Filesystem     1K-blocks      Used Available Use% Mounted on
 rootfs          51612920  31862844  17128276  66% /
 /dev/root       51612920  31862844  17128276  66% /
 rc-svcdir           1024        92       932   9% /lib64/rc/init.d
 udev               10240       476      9764   5% /dev
 shm              6151284         0   6151284   0% /dev/shm
 /dev/md7       389183252 350247628  19166232  95% /VirtualMachines
 tmpfs            8388608         0   8388608   0% /var/tmp/portage
 /dev/sda1          54416     29516     22091  58% /boot
 c2stable ~ # cat /proc/mdstat
 Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5]
 [raid4]
 md6 : active raid5 sdb6[1] sdc6[2] sda6[0]
       494833664 blocks super 1.1 level 5, 64k chunk, algorithm 2 [3/3]
 [UUU]

 md7 : active raid6 sdb7[1] sdc7[2] sda7[0] sdd2[3] sde2[4]
       395387904 blocks super 1.2 level 6, 16k chunk, algorithm 2 [5/5]
 [U]

 md3 : active raid6 sdb3[1] sdc3[2] sda3[0] sdd3[3] sde3[4]
       157305168 blocks super 1.2 level 6, 16k chunk, algorithm 2 [5/5]
 [U]

 md126 : active raid1 sdc5[2] sda5[0] sdb5[1]
       52436032 blocks [3/3] [UUU]

 unused devices: none
 c2stable ~ #

    /dev/md3 is a second Gentoo installation that doesn't need to be
 backed up at this time. md6 is an internal RAID used to back up md7
 daily. It doesn't need to be backed up, but if the machine totally
 failed killing all the drives that wouldn't survive so currently I
 back up md126 to md6 daily, and then back up md6 weekly to an external
 eSATA drive.

    What I'd like to do is clone

 1) /boot (sda1) including grub and everything required to make it bootable
 2) back up the system portions of dev/md126 (/ )
 3) Add some swap space on the external drive
 4) back up /dev/md7 which is all of my VMs
 5) back up /home to a separate partition on the external drive
 6) back up some special things like /var/lib/portage/world and
 /usr/portage/packages

 My thought is that this drive is basically bootable, but over time
 gets out-of-sync with the system. However should the system fail I've
 got a bootable external drive with all the binary packages required to
 get it running again quickly. However I can always boot the drive, do
 an emerge -ek @world, and basically be back to where I am as of the
 last backup.

 The external drive will look something like:

 /dev/sdg1 - /boot
 /dev/sdg2 - swap
 /dev/sdg3 - / (not including /home, /usr/portage/distfiles, etc)
 /dev/sdg5 - /usr/portage/packages
 /dev/sdg6 - /dev/md7

 etc

    I will of course have to modify grub.conf and /etc/fstab to work
 from this drive but that's no big deal.

    What are folks best ideas about how to approach doing something like
 this?

 Thanks,
 Mark


 Hi,
    Why don't you something like bind mount the folders you want to copy
 and rsync them to the eSATA disk, after creating a similar partition
 layout on it. Remember to exclude system files like /proc/*, /dev/*
 and /sys/* as well as the ones you want to exclude yourself from the
 rsync. When you want to sync the clone again just do the same again
 and rsync the changes.

 Regards,
 Derek



As an added note on this, rsync's --one-file-system (-x) flag is handy
for avoiding grabbing unneeded things, but will typically leave you
without the base few device nodes needed to boot the backup, those can
either be grabbed from a stage3, or created with (courtesy of Linux
From Scratch's section 6.2.1. Creating Initial Device Nodes):

mknod -m 600 ${backup}/dev/console c 5 1
mknod -m 666 ${backup}/dev/null c 1 3

-- 
Poison [BLX]
Joshua M. Murphy