I am having some problems with architecting a zfs snapshot replication
scheme that would suit the needs of my company.
Presently we do hour/daily/weekly snapshots of our file server. This file
system is organized in parent/child/child type zvols. so think
pool/zvol1/zvol4, pool/zvol1/zvol5*, etc.
For our zfs send/recieve we have been using a format like this
*"/usr/bin/pfexec zfs send -R osol1/shares@zfs-auto-snap:daily-2011-11-03-00:00
|/usr/bin/ssh 10.10.10.75 /usr/bin/pfexec /usr/sbin/zfs receive -vFd
Our problem is that we need to use the -R to snapshot and send all the
child zvols, yet since we have a lot of data (3.5 TB), the hourly snapshots
are cleaned on the sending side, and breaks the script as it is running. It
throws an error message like
*warning: cannot send 'osol1/shares@zfs-auto-snap:hourly-2011-11-02-16:00':
no such pool or dataset*
This seems to me to be because the snap was there when it started sending,
but has been cleaned by auto-snapshot service as the script was running.
Does anyone know of a way I can resolve this? One way I can think of is
killing off hourly snapshot service, yet we seem to use that feature as
people here tend to accidentally delete stuff off the server. Or perhaps
disabling the hourlies service at the beginning of the script and
re-enabling at the end.
Or is there a better way of doing this that I am not seeing?
Sr. Systems Administrator
718 233 9164
zfs-discuss mailing list