Btrfs の領域が完全に沈黙
いろいろなデータのバックアップ先として使っていた Btrfs な領域が読みも書きもできなくなってしまった。cd も ls もできない。たぶん復旧不可だな。もちろん btrfsck は行っている。きゅぅぅぅぅ。
原因は領域を完全に使い果たしたからのようだ。今なら disk full を検知できるように思えるのだが、まだまだ実用レベルではないようだ。まあ、ほんのひと昔前までは disk full を検知する仕組みが実装されていなかったのだから仕方がないだろう。でもさ、悲しい。
[2011-01-07 Fri] 追記:きっちり 85% というわけではない。多少のばらつきはあるようだ。手元では 88% で disk full になったものがある。(追記ここまで)
[2011-01-08 Sat] さらに追記:Linux カーネルのバージョンにもよるようで、なるべく新しいものを使ったほうがよい。できれば新しいカーネル上で領域を作り直したほうがいいのかもしれない。公式ページの FAQ を読みましょう。(追記ここまで)
ウェブで調べてみると、どうやら Btrfs というのは df コマンドで分かる使用量でいうところの 85% までしか書き込みができないようだ。実は僕の沈黙した Btrfs 領域は読み書き不能であるがマウントはできる。試しに df コマンドでこの領域の使用量を見てみると、ちょうど 85% であった。
/dev/sdg1 1465136000 1237335260 227139220 85% /mnt/mirror
しかし、btrfs filesystem show (もしくは btrfs-show) で見てみると領域をきっちり使い果たしていた。これじゃあなあ。
% sudo btrfs filesystem show Label: none uuid: bf990d34-139f-4b01-a236-70f6d25ff2e3 Total devices 1 FS bytes used 1.14TB devid 1 size 1.36TB used 1.36TB path /dev/sdg1 Btrfs Btrfs v0.19
ちなみに、btrfs filesystem df の結果は次の通りだった。
% btrfs filesystem df /mnt/mirror Metadata, DUP: total=13.50GB, used=13.20GB System, DUP: total=8.00MB, used=156.00KB Data: total=1.34TB, used=1.13TB Metadata: total=8.00MB, used=0.00 System: total=4.00MB, used=0.00
今回の失敗を繰り返さないよう df と btrfs filesystem show の出力に注意しないといけないな。
あと、Btrfs のマウントオプションに compress を付けることにしよう。しょせんバックアップデータだから事故が起こらない限り読みに行かないもんね。