Coda File System

Re: backup.sh doesn't work

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Tue, 22 Aug 2006 13:16:35 -0400
On Fri, Aug 18, 2006 at 09:11:04AM -0400, Sean Caron wrote:
> I'm trying to set up a backup strategy for my Coda cell pretty much as
> instructed by the User and Administration Manual on the Web site but I keep
> getting unusual errors about malformed partitions. Any ideas why this might
> be happening?

Not really. I haven't used the Coda backup scripts in a long time. All
of our stuff is backed up by a modified amanda setup. We really needed
to switch at some point because it became quite hard once the total
amount of data we had in Coda couldn't be backed up to a single tape
anymore. We had to start staggering our full dumps over a several day
period by hand, and would have failed dumps whenever an incremental
ended up larger than expected. Amanda does a much better job at
automatically balancing the full and incremental dumps and will delay
unimportant volumes if we exceed the backup capacity for a given day.

Here is an description of our configuration,

http://www.coda.cs.cmu.edu/maillists/codalist/codalist-2004/6139.html

The main difference between then and now is that we have the new
codadump2tar program that converts the volume dump format files to
normal tar archives. It is unable to convert ACLs and tries to do the
best it can on incremental dumps. With incrementals it won't have full
pathname information so it will end up throwing a lot of files and
directories that couldn't be connected back to the tree in lost+found.

Our daily dumps (where we allow incrementals) we still use the Coda
volume dump format, these are stored on disk for 2 weeks. The weekly
dumps are full-dump only, and are converted to compressed tar archives
which are archived on tape.

> 23:17:31 Error 'File exists' creating directory /backup/17Aug2006.
> 23:17:31 Malformed partitions! Cannot prepare for dumping.
...
> Further, I am not at all sure why it would say /backup/17Aug2006 already
> exists, since the /backup directory was empty when I kicked off the backup.

That clearly shouldn't happen. What the backup program does is walk the
list of partitions in /vice/db/vicetab and for any partitions that don't
have 'Coda inode access operations' (i.e. the ones with type backup) it
will try to create a directory with today's date.

It is strange, it really seems to have gotten an EEXISTS error from the
mkdir syscall.

    if (mkdir(dp->name, 0755) != 0) {
	VLog(0, "Error '%s' creating directory %s.", strerror(errno), dp->name);

Ah, I think I see what may be the problem, try the following change to
the backup.sh script,

Jan

diff --git a/coda-src/scripts/backup.sh b/coda-src/scripts/backup.sh
index 6397bad..b19548e 100644
--- a/coda-src/scripts/backup.sh
+++ b/coda-src/scripts/backup.sh
@@ -33,7 +33,7 @@ # send Henry and the robot the dumplist
 mail -s dumplist $ADDR < $DUMPLIST
 
 # run backup
-backup -t 135 /vice/db/dumplist /backup > $BACKUPLOG 2>&1
+backup -t 135 /vice/db/dumplist > $BACKUPLOG 2>&1
 if [ $? != 0 ]; then
      echo "Coda backup program failed" | mail -s '** backup failure!! **' $ADDR
 fi
Received on 2006-08-22 13:21:07