サーバークラスのハードウェアにRAMを焼き付ける必要はありますか?


31

多くのサーバークラスのシステムにECC RAMが搭載されているという事実を考慮すると、展開前にメモリDIMM を焼き付ける必要がありますか?

すべてのサーバーRAMが長時間のバーンイン/ストレステストプロセスによって配置される環境に遭遇しました。これにより、システムの展開が遅れることがあり、ハードウェアのリードタイムに影響します。

サーバーのハードウェアは主にSupermicroなので、RAMはさまざまなベンダーから供給されます。Dell PoweredgeHP ProLiantのようなメーカーから直接ではありません。

これは役に立つ練習ですか?過去の経験では、ベンダーRAMをそのまま使用していました。POSTメモリテストはDOAメモリをキャッチすべきではありませんか?通常、ECCしきい値は保証の配置のトリガーであるため、DIMMが実際に故障するずっと前にECCエラーに対応しました。

  • RAM を焼き付けていますか?
  • ある場合、テストの実行に使用する方法は何ですか?
  • 展開前に問題を特定しましたか?
  • バーンインプロセスにより、そのステップを実行しない場合と比べてプラットフォームの安定性が向上しましたか?
  • 既存の実行中のサーバーにRAMを追加するときはどうしますか?

回答:


25

Kingstonがサーバーメモリでどのように機能するかを詳述したドキュメントを見つけました。このプロセスは、通常、ほとんどの既知のメーカーで同じだと思います。メモリチップとすべての半導体デバイスは、バスタブカーブとして知られる特定の信頼性/障害パターンに従います。

ここに画像の説明を入力してください

時間は水平軸で表され、工場出荷から3つの異なる期間まで続きます。

  • 初期の障害:ほとんどの障害は、初期の使用期間中に発生します。ただし、時間が経つにつれて、障害の数はすぐに減少します。黄色で示されている初期障害期間は約3か月です。

  • 耐用年数:この期間中、故障は非常にまれです。耐用年数は青で表示され、20年以上と推定されます。

  • 寿命末期の障害:最終的に、半導体製品は摩耗して故障します。終了期間は緑色で表示されます

キングストンは、最初の3か月で高い故障率が発生することに気付いたためです(この3か月後、ユニットはEOLになるまで約15-20年後と見なされます)。彼らは、KT2400と呼ばれるユニットを使用してテストを設計しました。このユニットは、高電圧で摂氏100度、24時間サーバーメモリモジュールを残酷にテストします。この高レベルのストレステストは、モジュールを少なくとも3か月エージングする効果があります(ほとんどのモジュールが障害を示すクリティカル期間の前に述べたように)。

結果は次のとおりです。

2004年3月、キングストンは6か月のトライアルを開始しました。このテストでは、サーバーメモリの100%がKT2400でテストされました。故障の変化を測定するために、結果を綿密に監視しました。2004年9月、すべてのテストデータがコンパイルおよび分析された後、結果は障害が90%減少したことを示しました。これらの結果は予想を超えており、すでにそのクラスのトップにあった製品ラインの大幅な改善を表しています。

では、メモリへの書き込みがサーバーメモリに役に立たないのはなぜですか?単に、それはあなたの製造業者によってすでに行われているからです!


10
チップのメーカー、さらにはサーバーベンダーでさえ、いくつかのチップをテストする場合があります。しかし、最近では、コストを削減するためにmstコンポーネントのサンプルテストのみが行われています。チップまたはDIMM全体が一度テストされたとしても、アセンブリまたは出荷中にコンタクトまたはPCBが何らかの形で調整または台無しにされたかどうかはわかりません。MemTEst86バーンインでは、2つの異なる「ティア1」サーバーベンダーが提供する2つの異なるサーバーのメモリに関する問題を発見しました。彼らが本番環境に到達した場合、ECCが私たちを救ったかもしれませんが、サイレントデータベース破損も結果として生じた可能性があります。
rmalayter

7
このバスタブ曲線は、半導体だけのものではありません。その他(主にコンデンサの)ハードドライブ、SSDは、電源、ファン、:品質管理、それに続く任意の程度で構築されたほとんどのコンポーネント
voretaq7

6
これは、電子機器の延長保証を購入しない理由の1つです。デバイス(またはコンポーネント)は、最初の数か月で故障するか、またはその寿命の残りを持ちます。これは、できるだけ早くスムーズに航行できるように、悪いリンゴを早めに取り除くことが非常に重要である理由も示しています。
Atari911

@rmalayterでは、とにかくRAMの書き込みを推奨しますか?
ewwhite

2
@ewwhiteはい、テストします。memtest86を起動して384 GBのRAMをチェックするのに数時間ほどかかります。同じ理由でIOmeterを使用して、すべてのストレージサブシステムも焼き付けます。OSのインストール時に最初は正常に機能していましたが、バーンイン中に過去数年間にわたっていくつかのRAIDコントローラーまたはドライブが停止していました。時々、それは悪いファームウェアのものであり、時々RAIDコントローラーのキャッシュRAMに欠陥があり、時には「誰が知っている-RMA it!」でした。
rmalayter

30

いや

ハードウェアでの書き込みの目標は、コンポーネントの障害を触媒するポイントまでストレスをかけることです。

メカニカルハードドライブでこれを行うと、いくつかの結果が得られますが、RAMに対してはあまり効果がありません。コンポーネントの性質上、RAMの読み取りおよび書き込み(数時間または数日間の最大帯域幅であっても)よりも、環境要因と年齢が障害の原因である可能性がはるかに高くなります。

RAMが十分に高品質で、実際に使用を開始したときにはんだが溶けないと仮定すると、バーンインプロセスでは欠陥を見つけることができません。


15

ブレードを購入し、通常は一度にかなり大きなブロックを購入します。そのため、ネットワークポートの準備が整う前にブレードを何日もかけてインストールします。そのため、その時間を使用してmemtestを約24時間使用しますが、週末を過ぎると、場合によってはそれ以上長くなります。それが完了したら、基本的なESXiをスプレーし、IPがネットワークの起動後にホストプロファイルを適用する準備が整います。そのため、必要以上に機会を逃すことなくテストを行っていますが、これまでにいくつかのDOA DIMMを捕まえました。私はそれのためです。


3
「機会のテスト」は理にかなっています-私がそれをするチャンスを考えると。展開が遅れると、悪いDIMMとECCライトのリスクがあります:-)
voretaq7

2
テストを展開計画に組み込む場合、時間をかけて購入したことになります。できるだけ早くすべてを実行する場合は、後日批判の準備をすることになります。可能な限り強力な腕の管理:)
Chopper3

@ Chopper3したがって、ポリシーを確立している場合、 常にそれを行いますか?決してないの?またはできるときにそれをしますか?
ewwhite

@ewwhite-私は後者を言いますが、私たちはそれを標準的な展開計画に組み込む傾向があるので、毎回可能性が高いです。
チョッパー3

11

まあ、それはまさにあなたのプロセスが何であるかに依存すると思います。MemTest86をシステム(サーバーまたはその他)に配置する前に、常にメモリで実行します。システムを起動して実行した後、メモリの不良が原因で発生した問題のトラブルシューティングが困難になる場合があります。

実際に「ストレステスト」については、メモリ; あなたがオーバークロックの目的でテストしているのでなければ、なぜこれが役に立つのか、私にはまだ分かりません。


MemTest86から何がわかりますか?この方法を使用してサーバーにインストールする前にRAMの問題を発見しましたか?
ewwhite

4
MemTest86 +には、BIOSおよびWindowsのメモリ診断では見つからない多くのエラーが見つかりました。強くお勧めします。はい、ECCは同じエラーを検出しますが、memtestを使用すると、すべてのエラーを事前に検出できます。
オーウェンジョンソン

6
MemTestは、メモリの内部に欠陥があるかどうかを知らせます。これは、エラーをトリガーするために、バイトのパターンとバイトのランダムセットをメモリに保存することによってこれを行います。プログラムは「パス」を実行してメモリが良好かどうかを通知できますが、通常は念のために複数のパスを一晩実行します。MemTestの良いところは、システムを展開する前にメモリが不良かどうかを教えてくれることです。RMAを何度もトリガーし、頭痛の種を大幅に減らしました。マシンが展開されると、メモリをRMAするために@ssに苦労します。
Atari911

2
@OwenJohnson一般的に、MemTest86(+)を実行するときは、マシンを実稼働に移す前にこれらのECCエラーをトリガーしたいと考えています:
voretaq7

6

私はしませんが、そうする人を見てきました。私は彼らがそれから何かを得ることを見たことはありませんが、おそらく二日酔いや迷信かもしれません。

個人的には、ECCエラー率のほうが私にとっては便利です。RAMがDOAではないが、とにかくそれを知っていると思います。


6

通常、システムの実行中にビットエラーを検出する信頼できる方法はないため、memtest86 +で30分間実行する非ECCラムの場合は便利です。
ブルースクリーンは信頼できる方法とは見なされません...
そして、わずかに不安定なRAMは、システムが完全なメモリ負荷を確認した後、そのRAMのデータが使用されたコードである場合にのみ、すぐに表示されないことがよくあります。その後、クラッシュしました。データ破損は、長期間にわたって気付かれることはありません。

ECCラムの場合、メモリコントローラ自体が実行しないことは何も行わないため、実際には意味がありません。それは時間の無駄です。

私の経験では、燃え尽きることを主張する人は通常、いつもこのようにそれをやってきた老人であり、本当に物事を本当と考えずに習慣からそれをやり続けています。
または彼らはそれらの老人によって書かれた規定された手順に従う若い男です。


悪い知識、何世代にもわたって伝えられている?
ewwhite

@ewwhiteはい、私が知る限り。そして、私はBscを持っています。コンピュータハードウェアテクノロジーの
専門家な

スレッドに示されているように、実際にエラーを見つけた人のすべてのインシデントを除きます。また、明らかでない場合は、24時間365日稼働するDBサーバーでサーバーを実稼働に移したり、ラムを交換する前に部品を交換することに違いがあります。「成長エラー」のふりをしない限り、他のすべての人は古くて貨物カルトの仕事をしていますが、それでもprodサーバーがオフラインになると損失が発生します。
フロリアンハイグル14年

1
@FlorianHeigl私はそれのためにRAMに書き込むことを推奨しませんが、少なくとも24時間にわたってストレステストを行うことなく、サーバーを実稼働に移行することを推奨しません。通常、RAMは問題ではありません。不安定なHDD、RAIDコントローラー、IPMIカード、電源、CPU、VRM ...すべて見ました。(そして、多くの場合、サーバーは最初のインストールで問題なく生き残ります。実際に動作する必要があるときに、負荷やヒースがそれを行います。)
トニー14年

3

場合によります。

50 000の新しいRAMを展開していて、1日未満の操作でこの特定のハードウェアの故障率が0.01%であることがわかっている場合、統計的に言えば、最初の日に故障するものがいくつかあります。焼き付きはそれをキャッチするためのものです。その規模の展開では、例外的な状況ではなく、障害が予想されます。

ただし、数百個のアイテムのみを展開している場合、障害のある部品を入手するのは非常に不運である必要があるため、統計はおそらくあなたの側にあります。


あなたはポイントを持っています。Btuはそれに直面しましょう。私たちのほとんどは、それほど大きな展開を行うことはありません。(新しいGoogleデータセンターを構築する場合を除きます。)通常、ほとんどの場合、同時に5〜10台のサーバーを展開します。私が個人的に行った最大のものは、16個のESXノード(4x 4ノードクラスター)で、それぞれ8個のDIMMを使用しました。それは3年前で、それ以降1 DIMMが故障しました(2か月前)。同じマシンの5つの電源を交換する必要がありました。すでに1週間後の最初の1。しかし、これらはHP Proliantsなので、私たちはそれを期待していました。(HPと電源。.始めてはいけない...)
トニー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.