妄想日記 by 妄想エンジン


タカシの異常な愛情。または私は如何にして心配するのを止めて zfs を愛するようになったか

「完璧なバックアップなどといったものは存在しない。
 完璧な絶望が存在しないようにね。」

ある日のことでした。
マシンのうしろにつながっている、USBケーブルを抜こうとおもったら、なぜか一緒に電源ケーブルも抜けて、それからなにか調子がおかしくなっていったのです。
どうも BIOS の設定がおかしくなったようで、おかげであるとき再起動をかけたら、 zfs の root を認識しなくなってしまってたのです。

とりあえず、da0 を root にして立ち上がるようにして、 zpool status したら core dump されて昇天です。
おちつけおちつけ、とりあえず素数を100まで数えるんだ。

ということで、ダメ元で記憶の片隅にあった zdb を使ってみることに。この時点で、仕事のバックアップは先月末のだけ。とりあえず会計関係はそろってるし、
ソースも最新のものはあるから、なんとかなるかなとは思っていたけど、それでもやはり 10TiB ちかいデータが失われるのは痛い。

で、何度か zdb を走らせてみると、 mount -t zfs ..... でマウントできるところまで行けた。
あいかわらず、 zpool status とか zfs list とかすると core dump するのですが、 mount できてしまえばこっちのもの。

たまたま、お仕事で使うように買った ML110G7 があったので、そこに FreeBSD 9.0 Release を入れて、あとは手持ちの HDD をごっそりいれて、なんとか 5.8TiB のストレージを作成。これコンカチじゃなくてストライプなのね。手持ちで寝てたやつだから、いつ飛んでもおかしくないやつばかりだったので、かなりドキドキだけど、ないよりましだ。

で、rsync 使って転送しだしたのだが、どうも 40MiB/sec くらいしか転送速度がでていなくてちょっと悩む。rsync の --progress オプションは、こんな時に重要だ。結局何が遅かったって、ssh の暗号化の部分が遅かった。ざくっとスクリプト書いてベンチとってみた結果、 -c arcfour256 で scp したときが一番速い(コンスタントに70~90MiB/secくらい出る)ので、
rsync -avp --progress -e "ssh -c arcfour256" ........
で転送することにした。うん、賢明なる読者諸兄ならご存知と思うがこの辺は内部のLAN でやってるからいいのであって、外だしだったり信頼できないネットワークをまたぐのであれば、適切な暗号方式を選んでもらいたい。

で、2日ほどかけて重要と思われるデータをバックアップ。最後の最後でもう入りきらないと思ったが部屋の片隅から発掘された 1TiB の HDD があったので、zpool add して増やす。おお、すごい便利。

無事、バックアップ終了。(と思われたのだが...。)

今までのファイルサーバは「秘伝のソース継ぎ足し」だったので、 zfs の 4k セクタ対応ができていなかったので、これを機会に対応することにした。ついでにここ最近いろいろ物騒なので、データも暗号化することに。FreeBSD の zfs はまだ暗号化が入っていないので、geom eli で暗号化した HDD を RAID-Z2 でまとめることにする。これで 4k セクタ対応もできるしね。

ということで、作り方はそのうち書く予定。とりあえず、ブートの際にパスフレーズを入力しないといけないので、停電とかで自動復旧するのは不可能になったけど、データ漏えい対策という意味では一安心かな。まあ、これでいつガサいれにあっても大丈夫(をぃ

で、ただいまデータを書き戻し中なのだが、50~70MiB/sec くらいの速度で書き戻せてます。バックアップが取れていなくていくつか失われたデータもあった模様。まあ、全滅よりましだ。

まとめ。
・バックアップはきちんととりましょう。
・zfs はよっぽどのことがないと壊れないっぽい。
・ssh の -c オプションと、 rsync の --progress オプションは重要。

ツイート
|top |アフィリエイト |windowsネタ |料理メモ |コンタクト |twitter |
さわやかなエロスを目指す--妄想エンジン ©1996-2022
コンテンツ配信