最近、btrfs-convertを使用して、lvmボリュームのext4ファイルシステムをbtrfsに移行しました。後でインストール後にいくつかの問題があることがわかりました。
ディスクにデータを書き込むことに関連するタスクを実行するdmesg
とscrub
。残念ながら、その一つはext2_saved
ロールバック用です。 csumエラーが発生したファイルを削除すると、問題が解決されると思います。だからバックアップやその他のファイルを削除しました。
再起動後、scrub
いいえエラーが見つかりました。ただし、インストール中に次のメッセージが表示されますbdev /dev/mapper/my-volume errs: wr 0, rd 0, flush 0, corrupt 608, gen 0
。これでディスクに書き込むことができるようです(ファイルの名前を変更するのはうまくいきますが、追加のテストはしませんでした)。
このメッセージが私を心配する必要がありますか、それとも無視してもいいですか?またはより良い方法は:原因を見つける方法は?スクラビングとbtrfs check --repairでも問題は見つかりませんでした。
修正する:
Memtestを実行し、不良ブロックがあることを確認しました。どちらのテスト結果もきれいでした。また、カーネルを.dllに更新しました4.9.9-gentoo
。カーネルをコンパイルするときCONFIG_BTRFS_FS_CHECK_INTEGRITY
有効オプション(別名Btrfs with integrity check tool compiled in (DANGEROUS)
)現在、このオプションは無効になっています。
その後、Chromeを実行してみました。上記のディスクで何かをしたようです。しばらくして、dmesgで次の内容を読みました。
*Some stacktrace*
btrfs_finish_ordered_io:someline errno=-95 unknown
forced readonly
削除により、次のメッセージが残りました。
cleaner transaction attach returned -30
また、チェックサムエラーが引き続き発生したときにこれらのエラーが発生しましたが、今は解決しました。今私はその理由を見つけることができません。
スクラブを再実行しましたが、エラーが0回発生しました。btrfs check --repair /dev/mapper/my-volume
今実行すると、fixed discount file extents for some inodes
更新前の同じコマンドで何も見つからなかったため、これは明らかに新しいエラーです。
データを読み取り専用で別のディスクに移動し、フォーマットする必要があります。
修正する:
読み取り専用モードでデータをコピーすると効率的で、データが失われないようです。 ext4からbtrfsへの変換がまだ完全に機能していないようです。
システムメッセージ:
Kernel: 4.4.39-gentoo; now: 4.9.9-gentoo
btrfs-progs v.4.9
答え1
btrfsはデバイス固有の統計を保持し、それをディスクに永続的に保存します。手動で印刷できますbtrfs device stats device|mountpoint
。また、マウントにも印刷されます(少なくともゼロでない場合)。
したがって、あなたが見るのは、過去に損傷が発見されただけです。 -zフラグを使用してカウンタを消去できますbtrfs device stats -z /dev/mapper/my-volume
。
もちろん、最初に損傷を引き起こした原因を見つけるのが最善です。 btrfs変換エラーか、それでも破損を引き起こす可能性があるもの(信頼できないハードウェア)があるかどうかはわかりません。よくわからない場合は、記憶力テストを試すことをお勧めします。
(もちろん、特にbtrfsなどの比較的新しいファイルシステムを使用する場合は、バックアップする必要があります。)