Dump

George Davidovich freebsd at optimis.net
Sat Nov 21 09:52:53 UTC 2009


On Sat, Nov 21, 2009 at 04:12:42AM +0100, Bernt Hansson wrote:
> Matthew Seaman skrev:
> > Bernt Hansson wrote:
> > > 
> > > I've been testing backups with dump, works well BUT
> > > -L does not work. For example
> > > 
> > > dump -0 -a -u -L -f /mnt/dump.home.full /dev/ad0s2d
> > 
> > I believe that you need to tell dump the mount point of the file
> > system in order for it to create a snapshot, rather than the device
> > file for the partition. (ie. snapshotting only makes sense on a
> > mounted read-write filesystem).

Actually, the above isn't correct.  A device special is fine.  From the
dump(8) manpage:
  
  The file system to be dumped is specified by the argument filesystem
  as either its device-special file or its mount point (if that is in a
  standard entry in /etc/fstab).

The criteria unique to live dumps is that /dev/ad0s2d must be already
mounted, and there must be a .snap directory in its root.  You've since
changed your command, so I won't address what the problem might have
been.

> > Also, if you're dumping a snapshotted FS to a local file, then bump
> > up the cachesize to improve performance a lot.  Add '-C 32' to your
> > command-line.
> 
> Ok. I've tested this
> dump -1 -a -u -L -C 64 -h 0 -f /usr/home/bernt/disk2/dump.backup.home.2 /usr/home

Was the change from 'dump -0' to 'dump -1' intentional?  Dump levels are
rarely chosen to be sequential, but a level of 1 or greater is generally
performed after a level 0 dump.
 
> The error is mksnap_ffs: Cannot create /usr/home/.snap/dump_snapshot:
> Invalid argument dump: Cannot create /usr/home/.snap/dump_snapshot: No
> such file or directory

You've now specified what's likely a directory (/usr/home), not a
device-special or mount point.  Your choices of valid filesystems can be
determined by running df(1) and examining the first and last columns.
On a typical install those two columns might be:

  Filesystem      Mounted on
  /dev/ad0s1a     /
  devfs           /dev         # ignore this line
  /dev/ad0s1e     /tmp
  /dev/ad0s1f     /usr
  /dev/ad0s1d     /var

Pick one.  I prefer device names.

FWIW, if you're going to be using dump regularly (i.e. multiple dump
levels and/or multiple hosts) and dumping to files, I'd suggest a naming
convention of

  hostname-20090405-usr-0

to save you the grief of date fragility, and give you a meaningful
display in 'ls -l' when restoring.  So, for a level 0 dump on your
system, your commands might be:

  dumpdir=/home/bernt/disk2
  dump -0auL -C 64 -f $dumpdir/hostname-20091121-root-0 -h 0 /
  dump -0auL -C 64 -f $dumpdir/hostname-20091121-usr-0  -h 0 /usr
  dump -0auL -C 64 -f $dumpdir/hostname-20091121-var-0  -h 0 /var

-- 
George


More information about the freebsd-questions mailing list