数百のVM Webサーバー用のSANテクノロジーの選択


15

問題

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

シナリオ

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

ちょっとした背景思考

現在、最大6台のホストであり(ブレードセンターは、現在の成長で1年後にフルキャパシティになります)、拡張のためにMD1220を備えたDell MD3220iに対してiSCSIを実行しています。

私たちが検討した可能性のあるオプション、およびそれらに伴う即時の考え:

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

質問

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

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

絶対に、これについての考え、リンク、ガイド、ポインタなどは大歓迎です。また、私たちがすでに検討した上記のオプションについての考えを聞きたいです。

どんな入力でも事前に感謝します!

12年3月5日更新

これまでに素晴らしい回答がありました。皆さん、本当にありがとうございました!

これまでのところ、この質問に対する回答を見てみると、次のルートが道であると考え始めています。

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

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

私はしばらくこの問題を検討し続けます。それまでの間、これ以上のアドバイスはありがたいことに受け取った!


また、Mellanoxは40gbeのswitch \ nic契約を結んでおり、これは非常に外向的であり、パフォーマンスあたり$ infinibandに非常に近づいています。その時点で、40gbeカードを2枚使用するネクセンタを実行可能なオプションとして検討します。
トニーロス

回答:


13

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

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

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

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

そこにいくつかの素晴らしいコメント、ありがとう。間違いなくどこかへ行き、熟考する。
SimonJGreen

10

私の大規模なVMWare展開は、NFSとiSCSI over 10GbEです。つまり、サーバーのデュアルポート10GbE HBAとストレージヘッドを意味します。私はこのためのZFSベースのストレージのファンです。私の場合、それは市販のNexentaStorを包み込んでいますが、一部は独自のロールを選択しています。

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

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


好奇心からこれらの展開はどのくらいですか?そして、どのようなワークロードですか?
SimonJGreen

複数のホスト。最大のものには、Linux、Windowsインフラ(ファイル/ AD / Exchange)、VDI、およびデータベースシステムを含む90の混合使用VMがあります。ストレージユニットのRAMは高い(96 GB以上)ため、エンタープライズSSDには1.2 TBのL2ARC読​​み取りキャッシュがあります。
ewwhite

ここで私の無知を許さなければなりません。明確にするために、あなたが正しいことをしていることを疑いません。ストレージユニットにそんなに多くのRAMがあるのはなぜですか?バッファに使用されていますか?
SimonJGreen

2
ああ、ZFSとARC / L2ARCについて読んだばかりです。それは素晴らしいソースです:)
SimonJGreen

8

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

ディスクが制限要因であることを明確に特定した場合は、NFSまたはインフィニバンドに切り替えるか、パフォーマンスのためにスクワットを実行しないものに切り替えます-SSD(または少なくとも混在するSSDの階層型ストレージ)が必要ですバンドル全体がより多くのスピンドルになります(世界のステッピングモーターの生産が海に流れ込んだため、ソリューション自体が最近非常に高価になっています)。

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


絶対に正しい、私は常に質問を投稿する人が宿題をしたと仮定しています。しかし、それはかなりの数のパフォーマンス相談を行った後、私はほとんどあきらめて、より多くのまたはより速いドライブを追加し、98%以上が問題が解決したと言いました。他の2%は、信じられないほど過剰にコミットされています。
トニーロス

4
baaaaaad仮定を... - 「私はいつも質問を投稿者が自分の宿題を行っていることを前提とし、」
womble

この答えは完璧です。多くの場合、私はこのような問題に取り組むために着手しました、そして、私は問題が何であるかについていくつかの先入観を持っていました。10回のうち9回は、私が単に問題について十分に知らなかったことを知ったとき、涙で終わります。慎重にプロファイルを作成し、ボトルネックが何であるかを判別してから続行します。「ハイブマインド」に助けを求めることも、SANベンダーに支援を求めることもできます。また、プロファイリングに問題がある場合は、NetAppやEMCが統計情報を把握し、ソリューションのサイズを決定してくれることを嬉しく思います。両方ともこれを行うための優れたソフトウェアを持っています。
SvrGuy

この診断は、esxtopすべてのホストの合計出力(ディスク使用率を示す)に基づいて行われ、CMD /秒の合計を取得して、使用しているSANのベンチマークと比較しました。ベンチマーク結果を見出しとして使用すると、CMD / sの合計は常に高くなります。SSDは間違いなく技術的な観点からは良い選択肢のように思えますが、それでも途方もなく高価なGB /£です。階層型ストレージでは解決策になるかもしれません。サイドノート/ FYIでは、最近受け取ったプレスリリースによると、WDはディスクの生産レベルに戻っています。
SimonJGreen

SANのベンチマークはどのように行われましたか?ディスク自体とは対照的に、制限要因依然としてネットワークです。少なくとも、さまざまなもので遊んで始めて、物事をより速く実行したい場合は、開始するベンチマークがあります。これは非常に重要です。
ワンブル

4

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

しかし、ブレードセンターがqdr infinibandをサポートでき、ネイティブのinfinibandを購入できる場合は、それが選択すべきソリューションです。

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


ブレードセンターからの接続オプションは次のとおりです。dell.com/ us / enterprise / p / poweredge- m1000e / pd Infinibandは見栄えがよく、この量のゲストVMではコストを正当化できます。SAN側で何をしますか?
SimonJGreen

インフィニバンドをサポートするデルが持っているものは、あなたのサンソリューションでなければなりません。
トニーロス

dellがIBベースのストレージを持っているように見えないので、この場合、このオプションは大いに役立つと思います。SunとSGIの両方には、IBベースのSANがあり、コストが何であるかがわかりません。
トニー・ロス

IBストレージは提供しませんが、IB接続は提供します。別のストレージベンダーを使用することに何の問題もありません。その点でデルを愛していません。
SimonJGreen

1
次に、sunまたはsgiのいずれかが解決策となりますが、現在のモデル番号がわからない場合があります。
トニーロス

-3

ローカルストレージは使用できますか?DRBD8でXENマシンのクラスターパートナーにミラーリングされたローカルRAID 5の書き込みスループットに非常に満足しています...(ただし、これはもちろん「サポートされていません」)。

それ以外は、mySQLがパフォーマンスの問題であると確信しています(より悪いDBを見たことはありません)。それを離れて調整するか、DB全体をファイルシステムキャッシュに入れてみてください(読み取りアクセス用)...


OPには既存のVMWareソリューションがあり、ディスクレスホストで実行されています。ローカルストレージは意味がありません。
ewwhite

ローカルストレージには、ローカルストレージブレードの使用も含まれる場合があります。しかし、VMWareはそれをサポートしません。
ニルス

デルがローカルストレージブレードを提供しているとは思わない-そしてそれらを他の誰かと見たことは確かではない。ブレード内の誰にもストレージを提供するのではなく、単一のブレードに接続するドライブブレードを見てきました。そのためには相互接続が必要です。基本的には、シャーシローカルSANでしょうか。
mfinni

@Nilsさん、ごめんなさい。質問をきちんと読んでいないと思います。
SimonJGreen

Nils-D2200sbを見る:「エンクロージャーバックプレーンは、隣接するc-ClassサーバーブレードへのPCI Express接続を提供し、ケーブルを追加せずに高性能ストレージアクセスを可能にします。... HP P4000 Virtual SAN Appliance Software(VSA)を使用してD2200sbをiSCSI SANに変えて、エンクロージャー内のすべてのサーバーとネットワーク上のサーバーが使用できるようにします。」
mfinni
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.