Re: Perfomance problem backupscript (more details and tests)

Joerg Schilling <[email protected]>
Newsgroups gmane.comp.archivers.star.user
Message-ID <4344FD46.nailJGY2EGTJU@burner>
Les Mikesell <[email protected]> wrote:

> On Wed, 2005-10-05 at 19:18, Joerg Schilling wrote:
>
> > > > This is with gnutar 1.13.25.
> > >
> > > I just reported a bug in incremental restore in 1.15.1.  I would suggest
> > > that you upgrade to 1.15.1 if you want to trust gnu tar with incrementals.
> > > The restore problem I found manifests itself by leaving certain files
> > > around after the restore (it fails to delete symlinks that don't point to a
> > > real file).
>
> Are these created in --listed incremental mode?

The problems I did see did happen in this mode.

Note that the main problem with GNU tar inrementals is that GNU tar does not
store enough file meta data in the archive and for this reason the method
used by star cannot be used by GNU tar.

If you rename a populated directory, star creates an archive that is a few kb
in size for an incremental backup.

If you a populated directory, GNU tar creates an archive that has the size
of the accumulated content of that dir.

 
> > There are many other problems with incrementals using GNU tar.
> > GNU tar does absolutey not grok the case when a directory is renamed......
>
> You must use --listed-incremental mode (which amanda does).  Can you
> show a test case where this fails?

Every (even simple) testcase should cause the problem.....

A few years ago, I did set up a testcase for ufsdump comparison between Solaris
and FreeBSD and I did run a GNU tar test for fun. The restore test failed with 
GNU tar. 

Last year in August, I finished a 3 month reflection period on incremental
restore techniques and started to add incremental restore support to star.
Note that incremental backup is implemented for a longer time already.
After 3 hours of hacking, I set up a first test case and star did pass it.
GNU tar did not pass this simple test.....and as my experience with the GNU tar
maintaines is that it makes no sense to report bugs as they don't fix them,
I did not report. 

Let me check whether I am able to find the test script....

-	I did set up a new empty filesystem.

-	I did copy /usr/bin/* to a new directory /bin in that fs

-	I did unpack my archive typetest.tar

-	I did call cp /etc/termcap termcap

-	I did copy the whole Solaris /devices tree to /devices in that fs.

-	:> file

-	mknod dev c 1 1

-	mkdir tests/

-	:> tests/file_to_remove

-	mkdir dir/

-	cp /etc/termcap dir/termcap

-	:> file_for_chmod

-	Then I did create a level 0 backup.

-	Then I did run this script:

#!/bin/sh

mv bin bin.old
mkdir bin
cp /opt/schily/bin/c* bin

mv file file.old
mkdir file

mv dir dir.old
cp /etc/termcap dir

rm -f dev
cp /etc/group dev

rm tests/file_to_remove

cp /etc/group .

cat /etc/group >> termcap

chmod 600 file_for_chmod

Then I did make a level 1 incremental.

/*--------------------------------------------------------------------------*/
This was followed by a levl 0 restore and a level 1 restore on a new
and empty fs. Then a star -c | star -diff -v test was run.

Star did pass, GNU tar did fail.

BW: The first test with star in a real world system did show a lot of problems.
Many of them have been caused by the fact that removing a file and then
creating a new one may look as if the old file was renamed _and_ did change
the type at the same time because the new file could get the same inode number
as the old one.



> > GNU tar incrementals have been created 12 years ago but none of the bugs have 
> > been fixed until very recently (past 1.15.1). This is why I don't understand the
> > amanda people.
>
> What bugs, and what other choice have they had for the last 12 years.
> What choice do they have now for incrementals on backup runs that
> cross filesystem boundaries?

There was of course ufsdump/ufsrestore since 1981.

Crossing mount points in backups is not something that I would call the right 
way to go.


> > With star, I make an incremental backup _and_ restore every night for Berlios
> > since a year.
>
> I've been using amanda/gnutar for 10 years or so.  I'd be happy to
> find a better alternative, but I don't see any other choice that
> will schedule the right mix of many fulls and incrementals to fill
> the tapes and also get the right files in the incrementals.

How many real desaster recoveries did you do with the so created archives?


> > Note that I know of no case where people did run similar tests with GNU tar.
> > Making incremental backups does not show you the problems you get with 
> > incremental restores.......
>
> The only bug I've ever seen is that if an ordinary file is removed and
> replaced with a directory of the same name between a full and subsequent
> incremental run, the incremental restore of the directory will fail. 
> This is not fatal, though, since you see the error and can still
> manually remove the directory and repeat the restore successfully.  And
> this was some time ago - it may be fixed now.

What do you do if thousands of sich replacements took place?

Jörg

-- 
 EMail:[email protected] (home) Jörg Schilling D-13353 Berlin
       [email protected]		(uni)  
       [email protected]	(work) Blog: http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.