3TBのzfsデータセットをリモートバックアップしようとして 最後に到達する前に途中でコケてしまってうまく行かない。 というときに resume token があるのを知った。
たとえばこんな感じで send/recv する場合:
zfs send -vRp HugeDataset@somesnap \
| ssh RemoteHost zfs recv -vudF BackupDataset
受け取る側に -s オプションを追加するだけ。 数分経ったところで C-c などして停めてみる。 リモート側の方で受取データセットの zfs プロパティ receive_resume_token を見る。
zfs get receive_resume_token BackupDataset/HugeDataset
すると231桁くらいのトークンが得られる。 送信再開するときはこのトークンだけを指定すればよい。
zfs send -ve -t 長い長いトークン \
| ssh RemoteHost zfs recv -vudsF BackupDataset