別の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