別のzpool volumeへの一括バックアップ


 opensolarisで運用してた時は、容量の大きなHDDへのreplaceで、ファイル移行をおこなっていましたけど。
opensolarisのzpool/zfsのversionから、FreeNASへは結構versionUpしてる*1ので、
素直にFreeNASで作成したzpool volumeにコピーすることにした。


linuxなら、rsyncなどを使用するのだけど、zfsなのでsend/recvを使用してvolumeの一括バックアップを取る。

別volume(物理的に別HDD群)への全コピー

snapshot作成及びsend/recv(全コピー)
zfs snapshot -r tank_old/share@snap20170417
zfs send -R tank_old/share@snap20170417 | zfs receive -v tank_new/share

P.S. 2017Apr22

broken pipe error?

なんかError?(もしくはWarning)でbroken pipeとか出てたので、receiveにFオプション追加で、やり直した*2w−。


 あと途中で「CAM status: Uncorrectable parity/CRC errorComments」の
エラーが発生。

どうも接続が悪いときや、SATAコントローラが貧弱な場合にも起こりうるとのこと。

 でもなんか特定HDDで起こりやすい気もするので*3ちょっとこちらは様子見。一先ずreplace用のHDDをそのうち追加購入しないといけないかw=、

# zfs send -R tank_old/share@snap20170417 | zfs receive -vF tank_new/share
receiving full stream oftank_old/share@snap20170417 into tank_new/share@snap20170417
...
received 1.23TB stream in 12345 seconds (123MB/sec) 

今回は、broken pipe エラーっぽいの出なかったので良かった良かった^^

snapshot差分のsend/recv

参考参照のこと

snapshot削除
zfs destroy tank_old/share@snap20170417

(未確認)全コピー中に停止した場合の再開

FreeNAS9.10.2だとデグレしていて試せなかった。manページ見る限り、send -t ホゲホゲっぽい気もするがよくわからんw−

zfs send tank_old/share@snap20170417 | zfs recv -s -dv first-five

*1:厳密には最新ではverでの管理は行っていない模様

*2:バックアップって大変ですね

*3:コネクタが壊れかけてる?