zfs send | zfs receiveの途中で処理が強制的に中断された場合(receiveしてるサーバが逝ってしまったとか)、再度同じ処理をしようとすると
1 |
cannot restore to tank/hogehoge@snapshotname: destination already exists |
となってしまう(ことがある)。
この場合の対処方法は、receiveするサーバで
1 2 3 4 5 6 7 |
% sudo zdb -d tank | grep % Dataset tank/hogehoge/%snapshotname [ZPL], ID 5451, cr_txg 1180978, 503G, 8776142 objects % sudo zfs destroy tank/hogehoge/%snapshotname cannot open 'tank/hogehoge/%snapshotname': dataset does not exist |
これで中途半端にできてしまったゴミが削除される。
(「cannot open…」と出てるので『ん?』と一瞬思ってしまうが、これで大丈夫っぽい)