web-dev-qa-db-ja.com

Linuxは、シャットダウン前にキャッシュをフラッシュするようにLSI Megaraidカードにどのように指示しますか?

LSI Megaraidコントローラーには、書き込みキャッシュ用のバッテリーバックアップがあります。これにより、予期しない停電が発生した場合に、キャッシュされたまだ書き込まれていないデータを保持できるため、サーバーの次回起動時にディスクに書き出すことができます。アップ。クリーンシャットダウンの場合、このバックアップはおそらく必要ありません。クリーンシャットダウンの一部には、キャッシュされたデータをディスクに書き込むコントローラーが含まれるためです。

シャットダウンが発生しようとしていることをレイドコントローラーに通知するにはどうすればよいですか?おそらく、このフラッシュは、他のOSシャットダウンコードの後に​​発生する最後のことである必要があります。これには、データまたはログをレイドに書き出すことが含まれる場合があります。

保留中の電源切断を周辺機器に通知するPCIeレベルのシグナリングはありますか? Megaraid_sasカーネルモジュールは、保留中のシャットダウンをカードに通知しますか?または、キャッシュをフラッシュするためのMegaCliコマンドを、シャットダウンのためにinitスクリプトから実行する必要がありますか?

Megaraidカードとドライブの追加セットを1つなしでインストールされたLinuxシステムに手動で追加しました。シャットダウン時にキャッシュの一貫性を保証するために、手動で何かを追加する必要がないことを確認したいと思います。

5
bk.

シャットダウン中、システムはほとんどのファイルシステムをアンマウントします。アンマウントできないものは読み取り専用で再マウントされます。 Umount syscallは、VFSを介してディスクキャッシュをフラッシュし、ブロックデバイスの背後にあるドライバーを使用してディスクバッファーをフラッシュします。あなたの場合のブロックデバイスドライバーは、汎用SCSIドライバーsgです。これにより、デバイスの特定のドライバーとSCSIフラッシュコマンドを使用してデータがSCSIデバイスに送信され、データが内部ディスクキャッシュからディスクストレージメディアに書き込まれます。これはすべて同期的であり、データがディスク上にあるまでumountは返されません。再マウントされた読み取り専用の場合FSシャットダウンスクリプトは、同期システムコールを実行するだけです。

6

LSIドキュメント内説明選択したコントローラーのコントローラーキャッシュをフラッシュします

MegaCli –AdpCacheFlush -aN|-a0,1,2|-aALL
Storcli /cx flushcache
0
user164485