私はコードモンキーで、私の小さな会社のSysAdminの職務をますます引き受けています。私のコードは私たちの製品であり、ますますSaaSと同じアプリを提供しています。
約18か月前に、私はサーバーをプレミアムホスティング中心のベンダーからTier IVデータセンターのベアボーンラックプッシャーに移動しました。 (通りの向こう側。)このメンターは、ネットワーク、ストレージ、監視など、自分自身をはるかに自分で行います。
大きな動きの一環として、ホスティング会社からリースされた直接接続ストレージを置き換えるために、9 TBの2ノードを構築しましたNAS SuperMicroシャーシ、3ware RAIDカード、Ubuntu 10.04、2ダースSATAに基づいています)ディスク、DRBD、および。3つのブログ記事にすべてが丁寧に文書化されています:新しい9TB SATA RAID10 NFSv4 NASの構築とテスト: パートI 、 パートII および パートIII。
Cacitモニタリングシステムもセットアップします。最近、SMART値のように、より多くのデータポイントを追加しています。
awesomeboffinsatServerFault なしでは、これらすべてを行うことはできなかったでしょう。 。それは楽しく教育的な経験でした。私の上司は満足しています($$のバケット負荷を節約しました)、お客様は満足しています(ストレージコストが下がっています)、私は幸せです(楽しい、楽しい、楽しい)。
昨日まで。
昼食後しばらくして、アプリケーションであるオンデマンドストリーミングメディアCMSのパフォーマンスが遅いというレポートを取得し始めました。ほぼ同時に、Cacti監視システムから大量のメールが送信されました。よりわかりやすいアラートの1つは、iostat awaitのグラフです。
パフォーマンスが非常に低下したため、Pingdomは「サーバーダウン」通知の送信を開始しました。全体的な負荷は中程度で、トラフィックの急増はありませんでした。
NASのNFSクライアントであるアプリケーションサーバーにログオンした後、ほぼすべてが非常に断続的でめちゃくちゃ長いIO待機時間を経験していることを確認しました。そして、プライマリにホップNASノード自体、問題のあるアレイのファイルシステムをナビゲートしようとしたときに、同じ遅延が明らかでした。
フェイルオーバーする時間、それはうまくいきました。 20分以内にすべてが正常に動作していることが確認されました。
システム障害が発生した後、私は事後分析を行って障害の原因を特定します。私が最初に行ったのは、sshを使用してボックスに戻り、ログの確認を開始することでした。完全にオフラインでした。データセンターへの旅行の時間。ハードウェアのリセット、バックアップ、実行。
/var/syslog
この恐ろしいエントリを見つけました:
Nov 15 06:49:44 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_00], 6 Currently unreadable (pending) sectors
Nov 15 06:49:44 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_07], SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 171 to 170
Nov 15 06:49:45 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_10], 16 Currently unreadable (pending) sectors
Nov 15 06:49:45 umbilo smartd[2827]: Device: /dev/twa0 [3ware_disk_10], 4 Offline uncorrectable sectors
Nov 15 06:49:45 umbilo smartd[2827]: Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
Nov 15 06:49:45 umbilo smartd[2827]: # 1 Short offline Completed: read failure 90% 6576 3421766910
Nov 15 06:49:45 umbilo smartd[2827]: # 2 Short offline Completed: read failure 90% 6087 3421766910
Nov 15 06:49:45 umbilo smartd[2827]: # 3 Short offline Completed: read failure 10% 5901 656821791
Nov 15 06:49:45 umbilo smartd[2827]: # 4 Short offline Completed: read failure 90% 5818 651637856
Nov 15 06:49:45 umbilo smartd[2827]:
そこで、アレイ内のディスクのサボテングラフを確認しました。ここでは、はい、syslogが言うように、ディスク7がずれています。しかし、ディスク8のSMART読み取りエラーが変動していることもわかります。
Syslogにはディスク8に関するメッセージはありません。さらに興味深いのは、ディスク8の変動値が高い値に直接相関していることですIO待機時間!私の解釈は、 :
より正確または正しい説明があるかもしれませんが、最終的な結果として、1つのディスクがアレイ全体のパフォーマンスに影響を与えています。
重要な本番環境では「SATAを使用しないでください」とは言いたくないのですが、このような状況は頻繁に見られます。 SATAドライブは、一般に、仕様で指定したデューティサイクル向けではありませんが、セットアップで仕様 24x7操作用に特別に評価されたドライブ を使用しました。私の経験では、SATAドライブは予期しない方法で故障する可能性があり、以前のようにRAID 1 + 0を使用している場合でも、多くの場合、ストレージアレイ全体に影響を及ぼします。時々、ドライブはバス全体を停止させるような方法で故障します。注意すべきことの1つは、セットアップでSASエキスパンダーを使用しているかどうかです。これにより、ドライブの障害が残りのディスクに与える影響に違いが生じます。
しかし、SATAではなく ミッドライン/ニアライン(7200 RPM)SASドライブ を使用する方が理にかなっている可能性があります。 SATAに比べて価格は割高ですが、ドライブの動作/故障はより予測可能です。 SASインターフェイス/プロトコルでのエラー修正とレポートは、SATAセットよりも堅牢です。したがって、ドライブがあっても メカニズムは同じ でも、SASプロトコルの違いにより、ドライブの障害時に発生した痛みが防がれた可能性があります。
単一のディスクでアレイを停止するにはどうすればよいですか?答えは、そうすべきではないということですが、停止の原因によって異なります。ディスクが動作するように停止した場合でも、ディスクが停止することはありません。ただし、コントローラーが処理できない「エッジケース」の方法で失敗している可能性があります。
これは起こらないはずだと考えたことはありませんか?いいえ、そうは思いません。そのようなハードウェアRAIDカードはほとんどの問題を処理する必要があります。
それを防ぐ方法は?このような奇妙なEdgeケースは予想できません。これはシステム管理者であることの一部ですが、ビジネスに影響を与えないように回復手順に取り組むことができます。これを今すぐ修正する唯一の方法は、別のハードウェアカードを試すか(おそらく、実行したいことではない)、ドライブをSATAではなくSASドライブに変更して、 SASの方が堅牢です。RAIDカードのベンダーに連絡して、何が起こったのかを伝え、彼らの発言を確認することもできます。結局のところ、彼らは専門になっている会社です不安定なドライブエレクトロニクスの内外を知ること。ドライブの動作や信頼性など、より適切な技術的なアドバイスが得られる場合があります。
何か見逃しましたか?ドライブにエッジケースの障害があることを確認する場合は、アレイからドライブを引き出します。アレイは機能低下しますが、異常な速度低下やエラー(機能低下したアレイステータスを除く)が発生することはありません。現在、問題なく動作しているようですが、ディスクの読み取りエラーが発生している場合は、可能な限りドライブを交換してください。大容量のドライブでは、別のドライブが故障するまで表示されないUREエラー(RAID 5を実行しない最善の理由)が発生する場合があります。また、その1つのドライブでエッジケースの動作が発生している場合、破損したデータをアレイ内の他のドライブに移行する必要はありません。
私はエキスパートではありませんが、RAIDコントローラーとストレージアレイでの経験に基づいて、暗闇の中でワイルドショットを撮ります。
ディスクはさまざまな方法で故障します。残念ながら、ディスクは、パフォーマンスに重大な影響を与えるが、RAIDコントローラーは障害とは見なされない方法で障害が発生したり、障害が発生したりする可能性があります。
ディスクに明らかな障害が発生した場合、RAIDコントローラーソフトウェアは、ディスクからの応答がないことを検出し、プールから削除して通知を発行するのに適しています。ただし、ここで何が起こっているのかについての私の推測は、ディスクに異常な障害が発生しており、何らかの理由でコントローラー側で障害がトリガーされていないことです。したがって、コントローラが影響を受けるディスクから書き込みフラッシュまたは読み取りを実行している場合、戻ってくるまでに長い時間がかかり、その結果、IO操作全体、したがってアレイがハングします。理由は、これはRAIDコントローラーが「障害のあるディスク」になるのに十分ではないためです。おそらくデータが最終的に戻ってくるためです。
私のアドバイスは、故障したディスクをすぐに交換することです。その後、RAIDカードの構成を確認し(3wareであり、かなり良かったと思います)、障害が発生したディスクと見なすものを見つけます。
追伸サボテンにSMARTをインポートする素晴らしいアイデア。
エンタープライズクラスのストレージデバイスの機能が必要です。具体的には、WD RE 4エンタープライズドライブには、RAIDアレイでのこの動作を防ぐために必要な2つの機能があります。以下にリストされている最初の技術は、回転調和振動がハードドライブの機械部品に不必要な摩耗を引き起こすのを防ぎます。 2番目のテクノロジーが問題の原因です。SATAプロトコルにはこの機能がありません。これらの機能を利用するにはSASが必要です。SATAドライブを主張する場合は、SASからLSISS9252などのSATAインターポーザカードを購入できます。
強化されたRAFFテクノロジー洗練された電子機器がドライブを監視し、線形振動と回転振動の両方をリアルタイムで修正します。その結果、前世代のドライブよりも高振動環境でのパフォーマンスが大幅に向上します。
RAID固有の時間制限エラー回復(TLER)デスクトップドライブに共通の拡張ハードドライブエラー回復プロセスによって引き起こされるドライブのフォールアウトを防止します。
http://en.wikipedia.org/wiki/Error_recovery_control#Overview
以下のリンクもご覧ください:
http://en.wikipedia.org/wiki/Error_recovery_control#Raid_Controllers
また参照して下さい:エラー回復プロセスを詳細に説明するWestern Digital TLERドキュメント。 WD Caviar RAID EditionシリアルATAハードドライブのエラー回復フォールアウト防止:
単なる推測です。ハードディスクは、エラーを報告するのではなく、読み取りエラーで再試行するように構成されています。これはデスクトップ設定では望ましい動作ですが、RAIDでは逆効果です(コントローラーが他のディスクからの読み取りに失敗したセクターを書き換えて、ドライブが再マッピングできるようにする必要があります)。
暗闇での私のショット:
ドライブ7が故障しています。利用できない障害ウィンドウがあります。
ドライブ8にも「軽い」エラーがあります。再試行により修正されました。
RAID10は通常「いくつかのRAID1ペアのRAID0」ですが、ドライブ7と8は同じペアのメンバーですか?
その場合は、同じペアで2つのディスクに障害が発生した場合に「発生してはならない」ケースが発生したようです。 RAID10を殺すことができるほとんど唯一のもの。残念ながら、すべてのドライブが同じ配送ロットのものである場合に発生する可能性があるため、同時に死ぬ可能性がわずかに高くなります。
ドライブ7の障害時に、コントローラーがすべての読み取りをドライブ8にリダイレクトしたため、エラーの再試行により大きな遅延が発生し、フリーズしたタスクの雪崩が発生し、しばらくパフォーマンスが停止したと思います。
ドライブ8がまだ停止していないように見えるので幸運です。データを失うことなく修正できるはずです。
両方のドライブを変更することから始め、ケーブル接続を確認することを忘れないでください。接続が緩んでいると、これが発生する可能性があり、しっかりと配線されていないと、隣接ドライブで発生する可能性が高くなります。また、一部のマルチポートカードには2つのポートコネクタがいくつかあり、ドライブ7とドライブ8が同じものにある場合、問題の原因となる可能性があります。
SATAインターポーザカードは別のソリューションです。
私は最近、まったく同じ運命を経験し、このスレッドを見つけました。全体的な傾向は、SATAには機能がないため、SASprotocolがSATAよりもRAIDに適しているということです。これは同じ物理ドライブにSASコントローラが装備されている理由、それからニアラインSASとして販売されている理由。
さらに検索すると、次のことがわかりました。
http://www.lsi.com/products/storagecomponents/Pages/LSISS9252.aspx
ストレージの1つをこれらのバッチでアップグレードすることを検討しています。現在、3 TB SATAとSASの価格差は400%です(バニラ価格、同じブランド、仕様、ショップ、ドイツ)。私は明らかにできます。この戦略がうまく機能するかどうかはわかりませんが、試してみる価値はあります。
コメントは大歓迎です:-)
Areca 12somethingのファームウェアの初期化が電子機器でロックされているSATAディスクがしっかりとロックされているのを目にしました。検索ファッション。