LSI Megaraidコントローラーには、書き込みキャッシュ用のバッテリーバックアップがあります。これにより、予期しない停電が発生した場合に、キャッシュされたまだ書き込まれていないデータを保持できるため、サーバーの次回起動時にディスクに書き出すことができます。アップ。クリーンシャットダウンの場合、このバックアップはおそらく必要ありません。クリーンシャットダウンの一部には、キャッシュされたデータをディスクに書き込むコントローラーが含まれるためです。
シャットダウンが発生しようとしていることをレイドコントローラーに通知するにはどうすればよいですか?おそらく、このフラッシュは、他のOSシャットダウンコードの後に発生する最後のことである必要があります。これには、データまたはログをレイドに書き出すことが含まれる場合があります。
保留中の電源切断を周辺機器に通知するPCIeレベルのシグナリングはありますか? Megaraid_sasカーネルモジュールは、保留中のシャットダウンをカードに通知しますか?または、キャッシュをフラッシュするためのMegaCli
コマンドを、シャットダウンのためにinitスクリプトから実行する必要がありますか?
Megaraidカードとドライブの追加セットを1つなしでインストールされたLinuxシステムに手動で追加しました。シャットダウン時にキャッシュの一貫性を保証するために、手動で何かを追加する必要がないことを確認したいと思います。
シャットダウン中、システムはほとんどのファイルシステムをアンマウントします。アンマウントできないものは読み取り専用で再マウントされます。 Umount syscallは、VFSを介してディスクキャッシュをフラッシュし、ブロックデバイスの背後にあるドライバーを使用してディスクバッファーをフラッシュします。あなたの場合のブロックデバイスドライバーは、汎用SCSIドライバーsg
です。これにより、デバイスの特定のドライバーとSCSIフラッシュコマンドを使用してデータがSCSIデバイスに送信され、データが内部ディスクキャッシュからディスクストレージメディアに書き込まれます。これはすべて同期的であり、データがディスク上にあるまでumountは返されません。再マウントされた読み取り専用の場合FSシャットダウンスクリプトは、同期システムコールを実行するだけです。
LSIドキュメント内説明選択したコントローラーのコントローラーキャッシュをフラッシュします
MegaCli –AdpCacheFlush -aN|-a0,1,2|-aALL
Storcli /cx flushcache