I have two shared RAID-Z arrays for actually storing my data.
Because I'm paranoid, I have a third RAID-Z for keeping non-shared backups of my data. Since the third array is meant to hold snapshots from two different volumes, I've broken this backup array into two datasets, bkTank and bkMovies
I'm using snapshots to send the data to backup.
However, testing restores from these dataset backups are tricky.
Here are my snapshots:
[root@freenas] /mnt/tank# zfs list -t snapshot
NAME USED AVAIL REFER MOUNTPOINT
backup/bkMovies@20140517-1 20K - 34.5K -
backup/bkTank@20140517-1 20K - 34.5K -
movies@20140517-1 20K - 34.5K -
For testing, Tank is a new drive, no data nor snapshots. I make it into a volume. I want to restore files from backup/bkTank@20140517-1 to the empty volume Tank
I use the command:
zfs send backup/bkTank@20140517-3 | zfs receive -d -u -F tank
However, this does not restore the files. It simply adds a snapshot to Tank:
NAME USED AVAIL REFER MOUNTPOINT
backup/bkMovies@20140517-1 20K - 34.5K -
backup/bkTank@20140517-1 20K - 34.5K -
movies@20140517-1 20K - 34.5K -
tank/bkTank@20140517-3 0 - 53.5K -
This is different behavior from when backup was simply a lone volume holding my snapshot files. In those cases, if I used the command:
zfs send backup@20140517-3 | zfs receive -d -u -F tank
I got the files in Tank.
What am I doing wrong? how do I restore a snapshot, saved to a dataset, to a volume?
Because I'm paranoid, I have a third RAID-Z for keeping non-shared backups of my data. Since the third array is meant to hold snapshots from two different volumes, I've broken this backup array into two datasets, bkTank and bkMovies
I'm using snapshots to send the data to backup.
However, testing restores from these dataset backups are tricky.
Here are my snapshots:
[root@freenas] /mnt/tank# zfs list -t snapshot
NAME USED AVAIL REFER MOUNTPOINT
backup/bkMovies@20140517-1 20K - 34.5K -
backup/bkTank@20140517-1 20K - 34.5K -
movies@20140517-1 20K - 34.5K -
For testing, Tank is a new drive, no data nor snapshots. I make it into a volume. I want to restore files from backup/bkTank@20140517-1 to the empty volume Tank
I use the command:
zfs send backup/bkTank@20140517-3 | zfs receive -d -u -F tank
However, this does not restore the files. It simply adds a snapshot to Tank:
NAME USED AVAIL REFER MOUNTPOINT
backup/bkMovies@20140517-1 20K - 34.5K -
backup/bkTank@20140517-1 20K - 34.5K -
movies@20140517-1 20K - 34.5K -
tank/bkTank@20140517-3 0 - 53.5K -
This is different behavior from when backup was simply a lone volume holding my snapshot files. In those cases, if I used the command:
zfs send backup@20140517-3 | zfs receive -d -u -F tank
I got the files in Tank.
What am I doing wrong? how do I restore a snapshot, saved to a dataset, to a volume?