Disaster recovery.

Alex Zbyslaw xfb52 at dial.pipex.com
Fri Oct 6 08:02:30 PDT 2006


Grant Peel wrote:

> Hi all,
>
> I currently keep file dumps of all filesystems on our servers on a 
> secure raid 5 box, lees of course, the proc and swap dir.
>
> These dumps look like this and are done and transfered to a NFS 
> filesystem in the /mnt/ dir.
>
> server1-usr-full-dump
> server1-home-full-dump
> server1-var-full-dump
> server1-root-full-dump
>
> So I have (all, I hope!) everything I need to rebuild a server should 
> the hard disk completely crap out, or some script overwrites or rm's 
> everything.
>
> I have never been in the position that this, ( a complete hard drive 
> ), had to be done.
>
> so the question is ... if I have the dumps on one machine, and I just 
> installed a new hard drive on another, in a nutshell, what are the 
> steps to
> restore the failed server. Can I use the FreeBSD 'live' filesystem? Is 
> ther a step by step (that I have not found) in the handbook somewhere?

Don't know that it's described anywhere, but in short below.  You can 
try it on a live server, don't actually do any newfs or restores!

Boot FreeBSD CD1 (pretty much any recent version ought to do unless 
there were changes to dump or fliesystem format).  E.g. a 5.4 CD ought 
to restore a 6.2 machine just fine.

Newfs/bsdlabel/fdisk stuff probably from post install configuration, so 
that you don't install any packages etc.  This is where you need a paper 
record of your disk slicing/partitioning.

Fixit shell and mount remote-partition-of-dumps using NFS on /mnt.  This 
may need some kldloads.  I've gotten stuff accessible via SAMBA like 
this so NFS ought to work.  Needed to phutz with the load path for kldload.

Mount fresh e.g. / partitions on e.g. /mnt2 .  I'm pretty sure you can 
make new mount points as boot CD mounts root on a memory disk.

restore -f /mnt/server1-root-full-dump -root  (check man page!)

Unmount /mnt and repeat for usr, home, var etc.


Note that you can gzip your backups and use a restore command like: 
gzcat /mnt/server1-root-full-dump -root.gz | restore -f - -r

Dumps take longer but take up less space.  I do the same thing and also 
have incrementals.  Always relied on figuring out what to do as I went 
along if I ever needed to, hence the somewhat sparse nature of the above 
procedure :-)

--Alex




More information about the freebsd-questions mailing list