btrfs:論理チェックサム/ヘッダーエラー

btrfs:論理チェックサム/ヘッダーエラー

私はBTRFSをほぼ2年間問題なくファイルシステムとして使用してきました。ところで、昨日、ファイルシステムが自動的に読み取り専用に切り替わる問題が発生しました。コンピュータを再起動すると、読み取り/書き込みモードで正しくインストールされますが、しばらくすると自動的に読み取り専用モードになります。多くの調査の最後に、問題をBTRFSエラーとして分類しました。

走った後

btrfs scrub start /dev/sda5

私は私に次のことを見つけましたdmesg

[  107.910348] BTRFS warning (device sda5): checksum/header error at logical 100470390784 on dev /dev/sda5, physical 36045881344: metadata leaf (level 0) in tree 7
[  107.910354] BTRFS warning (device sda5): checksum/header error at logical 100470390784 on dev /dev/sda5, physical 36045881344: metadata leaf (level 0) in tree 7
[  107.910364] BTRFS error (device sda5): unable to fixup (regular) error at logical 100470390784 on dev /dev/sda5

だからファイルシステムに何かが破損しています。また、これが/dev/sda5私のルートパーティションがある場所であることを指摘する必要があります。しかし、ほとんどの場合、すべてがうまく機能するため、これは重要ではないようです。私は何かが時々破損したブロックやファイルへのディスクアクセスを引き起こし、BTRFSがクラッシュして読み取り専用モードに移行する必要があると思いました。

2回実行しましたが、btrfs scrub start /dev/sda5出力は次のようになります。

UUID:             8b0f88e4-8fb2-4201-8cfa-ed08f40fb185
Scrub started:    Wed Sep 18 14:26:47 2019
Status:           finished
Duration:         0:03:56
Total to scrub:   101.19GiB
Rate:             439.09MiB/s
Error summary:    verify=1
  Corrected:      0
  Uncorrectable:  1
  Unverified:     0

私のルートパーティションなので、/dev/sda5インストール中に何もできません。そのため、ライブUSBを使用してマシンで起動して実行しましたが、btrfs rescue zero-log /dev/sda5問題は解決しませんでした。

役に立つかもしれない他の情報。私はArch Linuxと5.2.11-arch1-1-ARCHを使用しています。私は数日前にDropboxをインストールしたため、Dropboxが犯人ではないかと疑っていましたが、プログラムを削除してDropboxフォルダを削除しても問題は解決しませんでした。

私は以前この問題を処理したことがなく、システムが読み取り専用モードでロックされるたびに再起動できないようです。どんな助けでも大変感謝します。

答え1

他の人がこの部分的な答え以上のものを期待できることを願っています。しかし、次のようになります。

Btrfs は、ファイルシステムで使用される各ブロックのチェックサムを保存します。このエラーメッセージは、btrがブロックを読み取ったがチェックサムが一致しなかったことを意味します。通常、これは簡単に回復可能な(バックアップからファイルを置き換える)ユーザー(ファイル)データブロックです。ただし、この場合はファイルシステムのメタデータブロックです。

理想的には、チェックサムの破損は、ハードウェアの問題(ディスクの「ビット破損」など)によって引き起こされます。 btrfsは、ディスクが1つしかない場合でも、通常2つのメタデータコピーを保存します(メタデータ設定ファイルDUP)。したがって、btrfs scrubこの問題は通常、別のコピーを見て解決されます。そのコピーが存在しない(ファイルシステムが作成されたか、単一のメタデータプロファイルに変換された)、両方のコピーが破損しています。

最初にすべきことは、(実際にはこの手順の前に実行する必要がありますzero-log)、特に重要なファイルのバックアップがあることを確認することです。

その後、新しいファイルシステムを作成し、データをコピーして再び動作させることができます。私ができる唯一のアドバイスはbtrfsメーリングリストにお問い合わせください

関連情報