web-dev-qa-db-ja.com

何百ものSAN Webサーバー用のVMテクノロジーを選択する

問題

既存のプラットフォームでのパフォーマンスに問題があるため、これについてセカンドオピニオンを求めてハイブマインドに目を向けます。これまでのパフォーマンスの問題は、スループットではなくIOPSに関連しています。

シナリオ

16個のホストのブレード・センター。それぞれに64GBのRAMが搭載されています。 (これはM610を搭載したDell M1000eですが、おそらく関係ありません)500 VM、すべてのWebサーバー(またはMySQL、ロードバランサーなどの関連するWebテクノロジ)、約90%がLinuxで、残りはWindowsです。ハイパーバイザーはVMWarevSphereです。ホストHAを提供する必要があるため、ローカルストレージが不足しています。そのため、ホストには起動するSDカードがあります。

少し背景を考えて

現在、最大6つのホストがあり(ブレードセンターは現在の成長で数年以内にフルキャパシティーになります)、拡張のためにDellMD3220iとMD1220に対してiSCSIを実行しています。

私たちが検討した可能なオプション、およびそれらと一緒の即時の考え:

  • VMをNFSデータストア全体に分散し、最大で指定された数のVMのパフォーマンス要件を満たすNFSストレージを実行します。 NFSは拡張が安価であるように見えます。また、ブロックレベルのストレージよりも少し抽象化されているため、必要に応じて移動できます。
  • MD3220iコントローラー/ターゲットをさらに追加します。ただし、これを行うと、VMWareが多数のターゲットを持つ処理方法に何らかの悪影響を与える可能性があることを懸念しています。
  • すべてのディスクをNearline SASからSSDに交換します。これにより、IOPSの問題は完全に解決されるはずですが、ストレージ容量を削減するという明らかな副作用があります。また、それでも非常に高価です。
  • vSphere5にはストレージアプライアンスがあります。私たちはこれほど研究していませんが、うまくいくはずですか?

質問

そのすべての下でどのような種類のストレージを実行しますか?別のブレード・センターに拡張する必要はなく、それらすべてのVMに比較的優れたパフォーマンスを提供する必要があるだけです。

「購入SAN xが最良だから」」という答えは探していません。さまざまなSANテクノロジー(iSCSI、FC)についての考えを探しています。 、FCoE、InfiniBand、NFSなど)、さまざまなタイプのストレージ(SATA、SAS、SSD)、および数百のVMのストレージを処理するための方法論(統合、分離、シャーディングなど)。

絶対にどんな考え、リンク、ガイド、ポインタなどもこれについて歓迎します。また、すでに検討した上記のオプションについての考えを聞いてみたいと思います。

ご入力いただきありがとうございます。

2012年3月5日更新

これまでのところいくつかの素晴らしい反応、ありがとうございました!

これまでのところ、この質問への回答を見ていくと、次のルートが道だと思い始めています。

  • 使用可能なストレージをVMWareクラスターに階層化し、VMディスクをワークロードに適したストレージに配置します。
  • 適切なストレージへのデータの配置を自動的に管理できるSAN)を利用できる可能性があります。
  • Infinibandは、フルキャパシティーのホストで必要な帯域幅を取得するために最も費用効果が高いように見えます。

主要なSANベンダーのプリセールスサービスを利用して、シナリオを理解する価値があることは間違いありません。

この問題については、しばらく検討を続けていきます。その間に、これ以上のアドバイスを感謝して受け取りました!

15
SimonJGreen

優れたVMWareストレージプラットフォームの鍵は、VMWareが生成する負荷の種類を理解することです。

  • まず、多数のサーバーをホストするため、ワークロードは通常ランダムです。同時に進行する多くのIOストリームがあり、それらの多くは正常に事前キャッシュできません。
  • 第二に、それは可変です。通常の操作では、70%のランダムな読み取りが表示される場合がありますが、VMを新しいデータストアなどに移動することを決定した瞬間に、60GBの大規模なシーケンシャル書き込みが表示されます。アーキテクチャに注意しないでください。これにより、通常のIOを処理するストレージの機能が損なわれる可能性があります。
  • 第3に、環境のごく一部が通常、ストレージワークロードの大部分を生成します。

VMWareプラットフォームのストレージ構築に取り組む最善の方法は、基本から始めることです。

  • 大規模なランダム読み取りワークロードを処理する機能が必要です。つまり、SSDだけでなく、より小型で高速なドライブも処理できます。最新のストレージシステムのほとんどでは、アクセス方法に応じてデータを自動的に移動できます。 SSDを使用する場合は、これがSSDの使用方法であることを確認する必要があります。ホットスポットを徐々に減らす方法としてそこにあるべきです。 SSDを使用するかどうかに関係なく、すべての作業をすべてのドライブに分散できることは有益であるため、ある種のストレージプーリングを備えたものが有益です。
  • 断続的な大規模な書き込みを処理する機能が必要です。これは、基盤となるドライブのスピンドル速度にはあまり関心がありませんが、コントローラースタックの効率とキャッシュのサイズには関心があります。ミラーリングされたキャッシュがある場合(コントローラーに障害が発生したときにバックアップに戻る必要がない限り、これはオプションではありません)、ミラーリングに使用される2つのキャッシュ間の帯域幅は、通常、大規模な順次書き込みのボトルネックになります。取得するものすべてに、書き込みキャッシュ用の高速コントローラー(またはクラスター)相互接続があることを確認してください。価格を現実的に保ちながら、できるだけ多くのポートを備えた高速フロントエンドネットワークを実現するために最善を尽くしてください。フロントエンドのパフォーマンスを向上させるための鍵は、ストレージの負荷をできるだけ多くのフロントエンドリソースに分散させることです。
  • シンプロビジョニングだけでなく、優先度の低いストレージの階層を設定することで、コストを大幅に削減できます。システムが個々のブロックを安価な大型/低速ドライブ(ニアラインSASまたは7200RPMおよび2TB +サイズのSATAなど)に自動的に移行しない場合は、手動で移行してみてください。大型の低速ドライブは優れています。アーカイブ、バックアップ、一部のファイルシステム、さらには使用率の低いサーバーのターゲット。
  • VMWareがVMの未使用部分とデータストアの割り当てを解除できるように、ストレージがVAAIに統合されていることを主張します。
13
Basil

私の大きなVMWare展開は、10GbEを超えるNFSとiSCSIです。つまり、サーバーとストレージヘッドにデュアルポート10GbEHBAがあります。私はこのためのZFSベースのストレージのファンです。私の場合、それはコマーシャルに包まれています NexentaStor ですが、自分でロールすることを選択する人もいます。

このコンテキストでのZFSベースのストレージの主な機能は、ARC/L2ARCキャッシング機能であり、ストレージを階層化できます。最もアクティブなデータは、RAMおよびSSDストレージを第2層として使用します。メインストレージプールを10kまたは15kで実行するSASドライブも有益である。

これは、ワークロードのプロファイリングと理解のもう1つのケースです。ストレージパターンを分析し、計画を立てるのを手伝ってくれる人と協力してください。 ZFS/NexentaStor側では、 PogoStorage が好きです。この種の洞察がなければ、転送方法(FC、FCoE、iSCSI、NFS)は重要ではない可能性があります。既存のインフラストラクチャを監視していますか? I/Oアクティビティは現在どのようになっていますか?

10
ewwhite

重要な質問は、「ボトルネックはどこにあるのか」です。 IOPSについて言及しましたが、それは、ディスク自体がボトルネックであると明確に識別されていること、または単にSANポートが容量で実行されていないこと、またはVMがあなたが望むよりはるかに多くのiowait?

ディスクが制限要因であることが明確にわかっている場合は、NFSやインフィニバンドなど、パフォーマンスを低下させないものに切り替えると、SSD(または少なくともSSDが混在する階層型ストレージ)が必要になります。バンドル全体でより多くのスピンドル(世界のステッピングモーターの生産が海に流されて以来、最近それ自体がはるかに高価になったソリューション)。

ただし、ボトルネックが実際にどこにあるのかが100%わからない場合は、最初にそれを見つける必要があります。他の人の推測に基づいて、ストレージインフラストラクチャの一部をランダムに交換することは、ここでは起こりません。非常に効果的です(特に、変更の実装にどれほどの費用がかかるかを考えると)。

8
womble

Iscsiまたはnfsが必要な場合は、最低限、10/40gbポートまたはinfinibandが必要になります。これは、これまでで最も安価なオプションですが、infinibandのネイティブストレージソリューションは限られているようです。問題は、ブレードセンターのモジュールであり、そのオプションは何ですか。通常は8gbfcまたは10\1gbeであり、場合によっては無限大です。 infinibandはnfsで使用でき、パフォーマンス/価格の点でそれに近いものは何もないことに注意してください。ブレードセンターがqdrinfinibandをサポートしている場合は、nfsを介してqdr infinibandtcaを使用するある種のLinuxホストでそれを行います。これを説明する良いリンクがあります http://www.zfsbuild.com/2010/04/15/why-we-chose-infiniband-instead-of-10gige

ただし、bladecenterがqdr infinibandをサポートでき、ネイティブinfinibandを購入できる場合は、それを選択する必要があります。

現在、40gbeスイッチは10gbeスイッチよりもはるかに安価に入手できますが(これは奇妙な考えです)、ブレードセンターがそれをサポートするとは思えません。

4
tony roth