約10日前にmdadmを使用して管理していたRAID 1が失敗しました。アレイはUSB経由で接続された2つの外付け2TBドライブで構成されており、接続が緩んでエラーが発生したと思われます。
私のbashの履歴に基づいて、次のコマンドを入力しました。
sudo mdadm --manage /dev/md1 --fail /dev/sda1
sudo mdadm --manage /dev/md1 --remove /dev/sda1
cat /proc/mdstat
sudo mdadm --manage /dev/md1 --add /dev/sda1
cat /proc/mdstat
mailx
cat /proc/mdstat
オンラインで指示を見つけましたが、iirc、最初のコマンド、および/または2番目のコマンドは配列の/dev/sda1
一部ではないため失敗します。
エラーが発生した時刻と上記のコマンドを入力した時刻との間に、データがアレイのファイルシステムに書き込まれた可能性があります。
私は4番目のコマンドを実行した後、mdadmがすべてのデータをコピーすると仮定します。/dev/sdb1
これ/dev/sda1
にはかなり時間がかかります。ところが数分後に最後の行を確認してみると、すでに完了していました。
変更されたデータのみをコピーする方法がわからないため、最初の128MiBが異なることがわかっているため、最初の128MiBを除いてRAIDとsha256summedに保存さ/dev/sda1
れたデータの整合性が心配されます。/dev/sdb1
残りのディスクはそれぞれまったく同じデータを格納していることがわかったので、mdadmはアレイの整合性を復元しました。
どの部分が変わったのか、どうすればわかりますか?失敗した時点と上記のコマンドを実行した時点の間で再起動しても機能しますか?
ベストアンサー1
cat /proc/mdstat
そのRAIDのビットマップを表示する必要があります。これはファイルシステムのログに似ています。システムがクラッシュした場合、またはRAIDが破損している場合は、同期機能を使用してどのデータが破損しているかを確認できます。他のすべては無視できます。だから、再構築の速度は非常に高速です。
ビットマップラインの意味
~からhttps://raid.wiki.kernel.org/index.php/Mdstat
bitmap: 0/10 pages [0KB], 16384KB chunk
例: 23/234 とはどういう意味ですか?
これはメモリのビットマップを表します(デフォルトでは、ディスク上のビットマップコンテンツのキャッシュ - ビットマップ操作をより効率的にします)。
23/234なら、234ページのうち23ページがメモリビットマップに割り当てられたという意味だ。これらのページは要求時に割り当てられ、空の場合(すべて0)、解放されます。インメモリビットマップは、ビットマップブロックあたり16ビットを使用してそのブロックに対する進行中のすべての書き込みを処理するため、実際にはディスクビットマップよりも16倍大きいです。