web-dev-qa-db-ja.com

Synologyとvmware、4ウェイMPIO低速iSCSI速度

ESXボックスとSynology NASの間で高いiSCSI速度を実現しようとしています。 300-400 Mb/sの最高速度を達成したいと思っています。しかし、これまでに到達したのは150〜170 MB /秒です。

私が使用している主なテストは、20 GBの仮想ディスクを作成することです。iSCSISSDベースのデータストアにEager Zeroedと考えてください。 (そしてこれのバリエーション。)

いくつかの質問:

  1. このディスクの作成は順次書き込みであると想定していますか?
  2. SynologyはCPU使用率の30%/ 40%を超えることはなく、メモリはほとんど使用されています。 SynologyはSSDでこれらの速度で書き込むことができると思いますよね?
  3. また、iSCSI経由で仮想ディスクを作成するときに、ESXは利用可能な帯域幅を最大限に活用できますか?
  4. ベンチマークツールを使用している場合、何をお勧めしますか。また、データ送信側にボトルネックがないことをどのように確認できますか?このツールをSSDデータストアのVMにインストールして、「それ自体に対して」実行できますか?

これは私のセットアップです。

Synology 1513+には次のディスクと構成があります:

  1. 3 4TB WDディスク(未使用)
  2. 1つのSamsung EVO 860(1ボリューム、レイドなし)
  3. 1 Samsung 256GB SATA III 3D NAND。 (1ボリューム、レイドなし)
  4. SSDごとに1つ、2つのiSCSIターゲット。 (接続されている合計8つのVMware iSCSIイニシエーター)

ネットワーク構成:

  1. Synology 4000 Mbpsボンド。 MTU 1500、全二重。

  2. Synology Dynamic Link Aggregation 802.3ad LACP。

  3. 4つのSynologyポート用にリンク集約が構成されたCisco SG350。

  4. ストレージとiSCSIネットワークは、メインネットワークから物理的に分離されています。

  5. CAT 6ケーブル。

VSphere:

  1. PowerEdge r610(Xeon E5620 @ 2.40Ghz、64 GBメモリ)
  2. Broadcom NetXtreme II BCM5709 1000Base-T(8 NICS)
  3. VSphere 5.5.0 1623387

VSphere構成:

  1. 4 vSwitch、1 NICそれぞれiSCSI.MTU 1500の場合。全二重。
  2. ポートグループに4つのvmkernelスイッチを備えたiSCSIソフトウェアイニシエーター、すべての準拠およびパスステータスがアクティブ。
  3. それぞれ4つのMPIOパスを持つ2つのiSCSIターゲット。すべてのアクティブおよびラウンドロビン

したがって、基本的に、NASからの4本のケーブルはCisco LAGに行き、ESXからの4本のiSCSIはスイッチの通常のポートに行きます。

私が実行したテストと構成:

  1. すべてのvmswitch、vmkernel、synology、およびCiscoでMTUを9000に設定します。 2000や4000のような他の値も試しました。
  2. ワークロードを最大化するために、1/2 iSCSIターゲットに1つ(および2つ、3つ同時に)の仮想ディスクを作成します。
  3. 無効/有効なヘッダーとデータダイジェスト、遅延確認。

私が試したすべてのことの数を失いました。私のボトルネックがどこにあるのか、間違って何を設定したのかわかりません。スクリーンショットをいくつか添付しました。

どんな助けでも大歓迎です!

ESX上のiSCSIパス

ESXのネットワーク構成

vmkernel構成の例

iSCSIイニシエーターネットワーク構成

Cisco LAG config 1

Cisco LAG設定2

4
acanessa
  1. VAAI ZEROプリミティブで加速される可能性があります(古いvSphereバージョンでは正確にはわかりません)。しかし、どちらの方法でも順次書き込みです。また、iSCSIターゲットの作成方法にも依存します。新しいDSM-sはデフォルトで、ファイルシステム上に作成されるAdvanced LUNを作成します。古いバージョンでは、デフォルトでLVMディスクが直接使用され、パフォーマンスが大幅に低下しました。
  2. 約400MB/sが達成可能である必要があります
  3. ターゲットがIOを提供できる場合、400MB/sは問題ではありません
  4. 純粋なシーケンシャルスループットを検討している場合は、Linux側のddまたはWindowsの単純なCrystalDiskMarkが機能します。

LAGとiSCSIは通常混在しません。 Synologyの結合を無効にし、個別のインターフェースとして構成します。 SynologyでマルチイニシエーターiSCSIを有効にします。申し訳ありませんが、正確な手順を説明するSynologyはありません。

このようにvSphereを構成します。

  • vSphereイニシエーター-> SynologyターゲットIP /ポート1
  • vSphereイニシエーター-> SynologyターゲットIP /ポート2
  • vSphereイニシエーター-> SynologyターゲットIP /ポート3
  • vSphereイニシエーター-> SynologyターゲットIP /ポート4

不要なパスを無効にし(1つのvSphereソースIPを1つのSynology IPに保持)、vSphereはiSCSI上のターゲットごとに8つのパスのみをサポートします(強制されません)。 Synology側でソースごとのターゲットアクセスを制限できるかどうか覚えていません。また、信頼性に十分なパスがすでにあり、帯域幅が制限されている可能性があるため、これ以上は役に立ちません。

ポリシーをより低い値に変更します。ここを参照してください https://kb.vmware.com/s/article/2069356 それ以外の場合、パスの変更が発生するまで1000 IOPSが1つのパスを取得します。

ジャンボフレームを使い続けます。帯域幅だけで約5%勝ち、ギガビットでは帯域幅が不足する可能性があります。

3
Don Zoomik

更新:

私はなんとか問題を解決した。結論としては、80%は私のせい、20%は構成です。

結局、シノロジーとスイッチ構成は正しかった。 SynologyとCiscoでLACPを使用することでうまくいきました。私のNASには、iSCSIターゲットを利用できるIPが1つだけあり、ESXはそれを指す4つのNIC/vMKernelを持っています。

このようにvSphereを構成します。

  • vSphere ini。 10.10.74.11 |
  • vSphere ini。 10.10.74.12 |
  • vSphere ini。 10.10.74.13 |
  • vSphere ini。 10.10.74.14 | --4Cables-> [Cisco]-4cables-> Synology IP(10.10.74.200)

ラウンドロビンでMPIOを使用しました。

主な問題は、システムに十分なストレスをかけていなかったことです。仮想ゼロ化ディスクを作成し、ESXホストが使用可能なすべての帯域幅を使用することを想定した私のテストは、間違っているようです。

CrystalDiskMarkを正しく設定することが重要でした!また、リンク( https://kb.vmware.com/s/article/2069356 )にあるドキュメントに従ってIOPSを変更することもソリューションの一部でした。現在、約450 Mbsの読み取り/ 300 Mbsの書き込みを取得しています。

0
acanessa