私は、mdadm RAID1 で構成された 2 つのソリッド ステート ドライブを備えたサーバーを管理しています。サーバーは、ext4 ファイルシステムで RHEL6 を実行しています。
今晩、夜間のバックアップが始まってすぐにサーバーがオフラインになり、コンソールにディスク エラーが報告されました。
コンソールにログインすると、ディスクの 1 つが mdadm によって障害としてマークされ、ファイル システムが読み取り専用に設定されていることがわかりました。
ファイルシステムが読み取り専用として再マウントされる前に、ドライブを失敗させるように mdadm を構成する方法はありますか?ファイルシステムをすぐに読み取り専用モードに切り替えると確実に停止することになるので、私は、交換用ディスクをインストールできるまでの間、短期間、単一のディスク システムとして実行することを好みます。
答え1
デフォルトでそうなりますが、確かに、私もこれに関して同様の問題を抱えていました。MD は、故障したディスクをあまり積極的に検出しません (または、ハードウェア RAID コントローラが行うように、セクターを書き換えて修復しません)。そのため、ログ監視を設定して、「ata 例外」をスキャンし、発生したときに電子メールで通知するようにしています。少なくとも従来の HDD では、これによりディスクの故障をはるかに早く確認できます。
ファイル システムが読み取り専用としてマークされている場合、エラーはチェーンの上位に伝わり、MD デバイスでもエラーが発生しています。sdb にエラーがなかったことは確かですか?
それとも、ドライブが故障したと確信していますか? つい最近、私の身に起こったことですが、PCI バス全体が故障したことがあります。それに接続されているすべてのデバイス (すべての ATA とイーサネット) がエラーを吐き出し始め、実際にファイル システムは読み取り専用としてマークされ、MD アレイは故障しました。しかし、明らかにディスクや MD は問題ではありませんでした。
ドライブにエラーがあったかどうかを確認するには: SSD ドライブの SMART についてはあまり経験がありませんが、少なくとも HDD ドライブでは、SMART ログに何かが表示される可能性があります。そこにはエラー ログがあり、スマート パラメータを確認して、他のディスクと比較することができます。
smartmontools がインストールされている場合は、次の操作を実行できます。
smartctl -a /dev/sda
あなたも興味があるかもしれませんRAIDアレイのトラブルシューティング方法。
編集: PCI バスに関してですが、問題は 1 つのディスクまたはコントローラに限定されているようです。