Ross wrote:
> Well, I really like the idea of an automatic service to manage send/receives 
> to backup devices, so if you guys don't mind, I'm going to share some other 
> ideas for features I think would be useful.
>   

cool.

> One of the first is that you need some kind of capacity management and 
> snapshot deletion.  Eventually backup media are going to fill and you need to 
> either prompt the user to remove snapshots, or even better, you need to 
> manage the media automatically and remove old snapshots to make space for new 
> ones.
>   

I've implemented something like this for a project I'm working on.
Consider this a research project at this time, though I hope to
leverage some of the things we learn as we scale up, out, and
refine the operating procedures.

There is a failure mode lurking here.  Suppose you take two sets
of snapshots: local and remote.  You want to do an incremental
send, for efficiency.  So you look at the set of snapshots on both
machines and find the latest, common snapshot.  You will then
send the list of incrementals from the latest, common through the
latest snapshot.  On the remote machine, if there are any other
snapshots not in the list you are sending and newer than the latest,
common snapshot, then the send/recv will fail.  In practice, this
means that if you use the zfs-auto-snapshot feature, which will
automatically destroy older snapshots as it goes (eg. the default
policy for "frequent" is take snapshots every 15 minutes, keep 4).

If you never have an interruption in your snapshot schedule, you
can merrily cruise along and not worry about this.  But if there is
an interruption (for maintenance, perhaps) and a snapshot is
destroyed on the sender, then you also must make sure it gets
destroyed on the receiver.  I just polished that code yesterday,
and it seems to work fine... though it makes folks a little nervous.
Anyone with an operations orientation will recognize that there
needs to be a good process wrapped around this, but I haven't
worked through all of the scenarios on the receiver yet.

> I'm thinking that a setup like time slider would work well, where you specify 
> how many of each age of snapshot to keep.  But I would want to be able to 
> specify different intervals for different devices.
>
> eg. I might want just the latest one or two snapshots on a USB disk so I can 
> take my files around with me.  On a removable drive however I'd be more 
> interested in preserving a lot of daily / weekly backups.  I might even have 
> an archive drive that I just store monthly snapshots on.
>
> What would be really good would be a GUI that can estimate how much space is 
> going to be taken up for any configuration.  You could use the existing 
> snapshots on disk as a guide, and take an average size for each interval, 
> giving you average sizes for hourly, daily, weekly, monthly, etc...
>   

ha ha, I almost blew coffee out my nose ;-)  I'm sure that once
the forward time-slider functionality is implemented, it will be
much easier to manage your storage utilization :-)  So, why am
I giggling?  My wife just remembered that she hadn't taken her
photos off the camera lately... 8 GByte SD cards are the vehicle
of evil destined to wreck your capacity planning :-)

> That could then be used in a GUI (I'm thinking a visual column with colours 
> for each type of snapshot showing how full the drive would be).  You know the 
> size of the external drive (and that's fixed for each device), you also know 
> the average sizes of snapshots, so you can show the user how much space they 
> will have, and let them play around with the numbers.
>   
I think there is some merit for this as a backwards-looking process.
 -- richard

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to