エンジニアはRAIDコントローラバッテリーの「再学習」サイクルにどのように対処しますか?
注: LSI MegaRaidの「バッテリー再学習」とは何ですか? 、再学習サイクルはRAIDコントローラーバッテリー(BBWCまたはBBU)を放電し、書き込みキャッシュアクセラレーションを削除します。バッテリーの寿命がチェックされ、充電されると書き込みキャッシュが再度有効になります。これは、再学習サイクルの間、サーバーのI/Oパフォーマンスに明らかな影響を与えます。私は考えるこれは毎月発生します。
特にデータベースシステムでは、パフォーマンスの低下が指摘されています。
データベースが遅い?RAIDバッテリーをチェックしてください!
私の背景は、HP ProLiantサーバーです。そのサーバーの Smartアレイ コントローラーはこの演習を実行しません(または少なくともより積極的なバッテリー寿命の監視があります)。これはひどい機能のようです(最大の不便さ、少しの利益)が、私は多くのLSIコントローラー( Supermicro ハードウェア上)がある環境にいますまた、関連するシステムに包括的なポリシーを適用できるかどうかを確認したいと考えています。
ごく最近、このトピックについてGodaddyのエンジニアの1人の記事を読みました。 Learning to Deal to Learning
ハードウェア(Dell PERCカード)では、バッテリーの学習サイクルは90日ごとに発生しますが、正確にいつ発生するか(つまり、ピーク時またはオフピーク時)を知る方法はありません。
彼らはさまざまな解決策について話しました:
バッテリーの学習を完全に無効にします。このオプションの問題は、バッテリーの状態と、バッテリーがどれだけの時間、どれだけの充電を保持できるかわからないことです。そのため、機能停止が発生すると、データが失われる可能性があります。
別のハードウェアを使用します。一部のコントローラーには2つのバッテリーがあり、そのような学習サイクル中にそれらを切り替えます。さらに、バッテリーを必要とせず、代わりに不揮発性NVRAMを使用してコミットされていないデータを保存するRAIDコントローラー(Dell H710など)があります。
バッテリの状態に関係なく強制的に書き戻し(キャッシュ)します。最初のソリューションと同様に、データ損失の危険があります。
最終的に、彼らは次の学習サイクルを監視するオフピーク時にcronをセットアップし、それが次の24時間以内である場合、それをすぐに強制します。こうすることで、ピーク使用時にバッテリーを実行しなくても、バッテリーを使用する利点を維持できます。