#895 closed Feature Request (fixed)

Fine grained life-preserver

Reported by: yggdrasil Owned by: kris
Priority: minor Milestone:
Component: Life Preserver Version: 10.0-RELEASE
Keywords: Cc: trac-bugs@…


I already asked about it in the forums (http://forums.pcbsd.org/showthread.php?t=21773), but received no answer, so I'm bringing it here

Change History (8)

comment:1 Changed 20 months ago by joshms

  • Owner set to kris

Thanks for your request yggdrasil. Kris what do you think?

comment:2 Changed 20 months ago by kris

This looks like a reasonable request, I'll try to add it here soon :)

comment:3 Changed 20 months ago by kris

  • Owner changed from kris to kenmoore

Ken, Can you take a look at this? The backend does allow setting snapshots on different zpools, I think its just the GUI that needs updating to allow this now.

comment:4 Changed 20 months ago by kenmoore

  • Owner changed from kenmoore to kris

The GUI already allows for distinct snapshot settings for different pools.
Reading through his forum request a bit more carefully, it looks like he is backing up one pool into a subset of the other pool ("midgard" and "nas" pools, but "midgard" gets regularly copied to "nas/backups/midgard") and the auto-snapshot of "nas/backups/midgard" is what is causing the issues.

So it almost sounds like he wants individual auto-snapshot control not just of the zpools (which he can already do), but particular datasets within the zpool. So basically we would have to change lpreserver to allow snapshot restrictions for particular datasets within the managed zpool snapshot schedule (maybe just a simple "off" flag for particular datasets in the pool).

comment:5 Changed 20 months ago by kris

Ok, so I guess we need more information. The lpreserver backend does not auto-snap every pool automatically :P

yggdrasil, can you post the following output and answer these questions?

# lpreserver listcron
# zpool list

How are your pools setup? Are they both on the same host? Do you need snapshots to take place on both pools?

comment:6 Changed 20 months ago by yggdrasil

lpreserver listcron
Datasets scheduled for snapshots:

midgard - hourly - total: 168
nas - hourly - total: 168

zpool list
midgard 117G 81.8G 35.2G 69% 1.00x ONLINE -
nas 8.12T 4.22T 3.90T 51% 1.00x ONLINE -

Yes, those are two pools in my desktop machine. midgard is the bootpool (/, /usr/, /usr/home/, /var etc.) currently consisting only of one SSD, then we have the nas pool which is a RAID-Z1 of 3x3TB disks. Within the nas pool I have the mentioned backups dataset, and under this the midgard dataset in which I backup the whole midgard pool.
Yes, I'd like to have snapshots on both pools, with the exception of the nas/backups dataset and all subsequent datasets.

Extending my original request: might it be possible to incorporate some of the functionality of the zfs-snapshot-mgmt into lifepreserver? With this port it is possible to define to keep e.g. hourly snapshots for 1 day, Twice-a-day snapshots for 1 week. Weekly snapshots for 3 months, and so on. It automatically destroys intermediate snapshots that don't fit that scheme. This would be a really handy feature.

comment:7 Changed 20 months ago by kris

It may be a tad late to add this for 10.0, but I do plan on adding both the exclude feature you requested, as well as a "auto" scheme for pruning old-snapshots to look something like this:

Keep hourly snapshots for the last week
Keep daily snapshots for the past 3 weeks
Keep weekly snapshots for the past 6 months

This take a bit of doing, since I'll have to ensure that it does the necessary pruning if disk-space runs low on the zpools, etc.

comment:8 Changed 16 months ago by kris

  • Resolution set to fixed
  • Status changed from new to closed

Update on this ticket. I've added the "auto" functionality to do the hourly / daily / weekly / monthly type of snapshots, it will be in 10.0.2 in June. The ability to selectively exclude specific datasets from the snapshot of the entire pool will not be added at this time. (The underlying "zfs" command doesn't provide a way to do this, and it would quickly become a slow process for life-preserver to parse each / every dataset and snapshot manually to do this)

If you wish to exclude specific datasets from snapping, then the best way will be to not do a snapshot of the entire pool, and list the specific datasets you want LP to manage instead.

Note: See TracTickets for help on using tickets.