Re: Perfomance problem backupscript (more details and tests)
Les Mikesell <[email protected]> Wed, 12 Oct 2005 13:32:33 -0500
| Newsgroups | gmane.comp.archivers.star.user |
|---|---|
| Message-ID | <[email protected]> |
On Wed, 2005-10-12 at 08:20, Joerg Schilling wrote: > Looks like you did not understand the GNU tar incremental method either.... > > Please note that in case that inode numbers are not persistent, > a renamed directory with GNU tar (in case it works as advertized and does not > show the bugs I reported) results in the following: > > - The old directory and its whole content is removed from > the restoreed filesystem. The ONLY case where files are removed during a GNUtar incremental restore is when the _name_ was not present in the corresponding parent directory. This has nothing to do with inodes or mount points, only the name is involved. (And hence the bug where an existing directory is not removed if it has the same name as file that took its place in a later incremental). > - As the new incremental backup is _missing_ the directory content > (as it does not have a newer time stamp than the last backup), I think the timestamp of a directory is irrelevant in --listed-incremental mode and all contents are taken in any case where the name/device/inode does not match. Regardless, a renamed directory will have a newer ctime than the last backup anyway. > GNU tar is unable to restore any of the files that are inside > the renamed directory. If the name/device/inode combination at the time of the incremental run does not match one in the specified --listed-incremental file, all of the contents are included. If it does match, any files with a ctime newer than that specified in the file are included. > But if inode numbers are _not_ persistent, GNU tar will not include > the content of a dir and thus fail the same way as star does. If that has ever been true it was a bug, not the design. > > Suppose you make a level 0 of a filesystem > > containing / and /home, then mv a directory containing old files > > from somewhere on /tmp to somewhere in /home (which amounts to a > > rename), do an incremental, then restore these to a new machine > > where / and /home are different filesystems. I don't understand > > how the old files under the mv'd directory will ever exist on > > the /home filesystem. > > But it should be obvious that both ufsrestore and star will not work > this way but may be enhanced to do so by copying the renamed directory > tree from one filesystem to another. The point that it doesn't work is the relevant one and it is obvious only to someone who already knows the issues of dump/restore. When doing a restore involving incrementals the operator _must_ know that the mount topology is the same as the source. In some cases as I have already mentioned, arranging that might not be desirable, even if possible. > > It would be really nice if star offered an option like GNU tar to > > make incremental backups that are not limited to single filesystems > > and do not require a restore of the previous, possibly unknown > > named file to enable the restore of file renamed in the incrementals. > > Then star could replace GNU tar as well as dump - and we could stop > > talking about GNUtar bugs... > > I am sorry, but this feature does not make sense as there are more > important features waiting for an implementation _and_ as it is possible > to handle your wishes by just using star the right way. If I wanted a dump-like mechanism I'd be using dump. I want to be able to start at arbitrary directories, cross arbitrary mount points, use arbitrary exclusion lists, and be assured that I can restore on an arbitrary mount topology, possibly different from the source. If you are unable or unwilling to provide those features, that is fine. I am not trying to make demands here. But please stop trying to convince me that those features are not generally useful or that I don't need them or that there is no difference in the constraints. There is a point to be made about the tradeoff between tape savings with the star approach vs. ignoring filesystem boundaries with the GNUtar approach. It would be great to have a choice within the same program. -- Les Mikesell [email protected]