細切れzfs send/recv

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