I'm working on the backup concept for my infrastructure and there is a FreeNAS box among them which is used as fileserver. The backup is currently being done using bacula to encrypted hard drives which are stored externally. The FreeNAS box also has a file-daemon running and hence, all the data is already properly backed up. Furthermore there is also backups of the FreeNAS configuration.
I'm now simulating a full system failure (think theft or a server room fire) where the FreeNAS server and all the hard disks are gone for good. My original plan was:
The only solution I've found so far is to use zpool history and some grepping to filter out all the periodic snapshots, scrubs and other maintenance stuff that piles up. I could then, after some manual screening, just run the series of commands on the new pool. Afterwards, restoring from backup and doing the following steps seems to work ok.
However, that solution seems to be very hacky and probably also fragile. So I'm wondering if there is a better way. It appears to be quite a big missing feature if recovering from such a disaster essentially requires re-creating all datasets by hand.
I'm now simulating a full system failure (think theft or a server room fire) where the FreeNAS server and all the hard disks are gone for good. My original plan was:
- Install fresh FreeNAS on new hardware
- Restore backup configuration
- Get bacula-fd running again from backups
- Use bacula to restore all data
The only solution I've found so far is to use zpool history and some grepping to filter out all the periodic snapshots, scrubs and other maintenance stuff that piles up. I could then, after some manual screening, just run the series of commands on the new pool. Afterwards, restoring from backup and doing the following steps seems to work ok.
However, that solution seems to be very hacky and probably also fragile. So I'm wondering if there is a better way. It appears to be quite a big missing feature if recovering from such a disaster essentially requires re-creating all datasets by hand.