Chienomi

フリーズ→btrfsファイルシステム崩壊

space_cache

熱なのかPCがフリーズ、そしてBtrfsが壊れ、マウントできなくなった。

btrfs csum mismatch on free space cache

と言われてしまう。

これがまたどうしようもない。fsckしてみるが

# btrfsck /dev/mapper/dmcw_ata-WDC_WD30EZRX-00D8PB0_WD-WCC4N0840765

エラーを大量に吐くだけ。

リカバリーマウントしようとしてみる。

# mount -t btrfs -o recovery,no_space_cache /dev/mapper/dmcw_ata-WDC_WD30EZRX-00D8PB0_WD-WCC4N0840765

がやはりマウントできない。

諦めてリカバリー

# btrfs check --repair /dev/mapper/dmcw_ata-WDC_WD30EZRX-00D8PB0_WD-WCC4N0840765

が、ここでもfsckなエラーが出てしまい結果は同じ、依然として状況は変わらず。

zero-log

# btrfs-zero-log /dev/mapper/dmcw_ata-WDC_WD30EZRX-00D8PB0_WD-WCC4N0840765

エラーのあと完了を知らせるが、やはり状況は変わらず。

救出マウント

# mount -t btrfs -o recovery,nospace_cache,nospace_cache /dev/mapper/dmcw_ata-WDC_WD30EZRX-00D8PB0_WD-WCC4N0840765 /mnt/1

マウントできた。scrub

# btrfs scrub start /dev/mapper/dmcw_ata-WDC_WD30EZRX-00D8PB0_WD-WCC4N0840765

時々statusを見ると、猛烈な勢いでエラーがたまっていく。システムがとても重い。

しばらく後、コンソールに出力

WARNING: errors detected during scrubbing, corrected.

statusしてみると

scrub status for 5764a2af-d7e7-4b45-955c-19e27de332ee
    scrub started at Wed Mar 25 13:52:45 2015 and finished after 10337 seconds
    total bytes scrubbed: 4.30TiB with 635846 errors
    error details: read=13 verify=630 csum=635203
    corrected errors: 635846, uncorrectable errors: 0, unverified errors: 0

635846 errors!! まぁ、それはすごい。 しかし、すべてcorrectedとなっているから大丈夫なのか。

一応、従来のバックアップとは別にバックアップをとり、その上で差分をとって、差分があるファイルは保存しておくようにしよう。