カーネルの更新/アップグレード中にBCacheが破損する

カーネルの更新/アップグレード中にBCacheが破損する

古いラップトップのルートデバイス(HD + SDカード)でwrite-around bcacheを1年以上使用した後、ついに深刻なファイルシステムの破損に直面したことがわかりました。その結果、バックアップに依存し、すべてを2回再インストールするようになりました(!!)— —すべてのためカーネルの更新/アップグレード後の再起動後にキャッシュデバイスのbcacheが破損する

回避策はキャッシュを読み取ることであるため、かなり「簡単」です。起動プロセスで自分のデバイスが自動的に回復できないほど破損していることを示す場合は、キャッシュされたデバイスを削除してキャッシュを再作成してから再登録するだけです。手動fsck。 -しかし、破損したwrite-around bcacheを使用して、破損していると思われるファイルシステムをfsckしないでください。これを行うと、データが実際に破損する可能性があります。

質問:これらの腐敗を防ぐ方法は何ですか?したがって、私はArchlinuxを使用し、常に最新バージョンを使用します。現在のカーネルは4.19.4です。

ベストアンサー1

複数のアップデートを含む複数のコンピュータで独自に実証された解決策が見つかりました。

一般的なシステムとカーネルのアップグレード後に再起動する前にbcacheを停止してください。

echo 1 >/sys/fs/bcache/*/stop;sleep 2;sync;sync;shutdown -r now;logout

次に再起動すると、破損せずにbcacheが再起動されます。

ほとんどの場合、bcacheはカーネルバージョンからカーネルバージョンにフォーマットを変更しませんが、実際にはカーネルを更新せずにコンピュータを再起動してもbcacheのキャッシュデバイスが破損することはありませんが、カーネルを更新するとbcacheのキャッシュアプ​​ライアンスが破損するということです。でもこれは小さな更新です。

おすすめ記事