Gordon J. Mills III wrote:
At my previous job we used TSM [...]
One unique
thing it does is that it uses and "incremental forever" backup strategy. It
backs up a machine fully only once (it can probably be setup other ways, but
that's the way we used it)<--(I could be wrong about that).
[...]
It also keeps track of each tape's "fragmentation". Say you set it to 70%.
As files expire they will still be on a tape until overwritten. If a tape
has too many expired files on it, it will exceed the fragmentation
threshold. Once that happens the system will load the tape(s) and extract
the "good" data from it and write it to a new tape. Then the old tape(s)
will be put back into rotation for subsequent backups.
I've been thinking a little bit about this, and I wondered whether
amanda couldn't be made to behave similarly with very little changes.
Today, amanda dumps the DLEs to holding disk using dumper, and then
sends them to one tape using taper. Now, what if these two processes
were even more independent of each other? One could imagine a setup
like the following:
. amdump would gather dumps from the clients and put them onto the
holding disk.
. a new holding disk daemon runs one or several tapers that flush dumps
to tapes. The tapers are not responsible for deleting dumps after the
flush; the holding disk daemon is.
. a new utility permits to recover dumps from any amanda tape and put
them back onto the holding disk, for renewed flushing.
Now, the central holding disk daemon can very easily do a few useful things:
. launch a taper only when a certain size threshold is passed, in order
to fill up tapes
. use more than one tape drive in parallel
. make more than one copy of any dump on different tapes
It could conceivably also do other things:
. prepare a complete set of level-0 dumps for archiving purposes, by
re-reading dumps from tape to holding disk, and then flushing to new tapes
. de-fragmenting tapes by re-reading old dumps that need to be
conserved, discarding those that are expired, and flushing to a new tape
or the same one
. regular refresh of old tapes by re-reading them and flushing to a new
tape, putting the older one back into rotation
(You still don't need to append to any tape for these; every single tape
is overwritten entirely, after its dumps have been re-read to holding disk.)
Note that with this setup, one can also run several instances of amdump
in parallel, limited to one instance per client host. They might be
scheduled according to other criteria, like intermittent visibility of
mobile hosts for example, or different schedules for non-critical hosts.
Alex
--
Alexander Jolk / BUF Compagnie
tel +33-1 42 68 18 28 / fax +33-1 42 68 18 29