open-iscsiの書き込みが10Gイーサネット経由のSambaの2倍遅いのはなぜですか?


9

ローカルファイルサーバーでは、7x HDDドライブにraid-6を使用しています。

dd if=/dev/zero of=tempfile bs=1M count=2048 conv=fdatasync

ローカル速度テストでは、349 MB /秒の書き込み速度が得られます。

SSDからSambaへのリモート書き込み(2Gb /秒以上の読み取り速度)では、259MB /秒の書き込みができます。しかし、iSCSIドライブ(Win10 iSCSIイニシエーター上)へのリモート書き込みでは、151 Mb /秒の書き込みしかできません。

raid6構成-128Kチャンクサイズ、stripe_cache_size =8191。書き込みインテントビットマップはSSDにあります(Samsung 860 PRO、4096Kビットマップチャンク)。

オプションでマウントされたアレイ: rw,noatime,nobarrier,commit=999,stripe=128,data=writeback

open-iscsi setup:ターゲットは4Tbファイルに基づいています。

書き込み時にiSCSIがSambaより遅い理由は何か?iSCSI書き込み速度を向上させる方法に関するヒントはありますか?

open-iscsiが各操作の後にディスクへの書き込みをフラッシュしたいという欲求と関係があると思います。これにより、過度のパリティ書き換えによりraid6の書き込み増幅が増加します。しかし、私はそれを修正する方法がわかりません。停電の場合は、現在書き込まれているデータの安全性よりも速度を重視してください。

余談ですが、古いietd iSCSIターゲットは(を使用してIOMode=wb)ライトバックモードを有効にすることができ 、持続的な書き込み速度ははるかに高速でした。残念ながら現在はメンテナンスされていないようです。


2
ネットワークはどのようなものですか?10GigE?サーバーOSバージョン、カーネルバージョンは何ですか?iscsiのターゲットとバージョンは何ですか?ietd、scstまたはlio?Open-iscsiはイニシエーターのみを提供し、ターゲットは提供しません...書き込み速度を測定するために何を使用していますか?ターゲットで使用されているファイルシステムは何ですか?
wazoox

Windows 10では、QoSがNICから削除されましたか?
yagmoth555

2
この場合、iSCSIターゲットの構成と調整されたネットワーク調整パラメータを送信することも賢明です。また、既存のテストがWindowsイニシエーターによって狭められすぎている可能性があるため、同じターゲットを使用するイニシエーター間の明確な比較を提供するために、最新のカーネルを備えたLinuxクライアントでopen-iscsiイニシエーターを使用したテストを検討することもできます。より多くのデータ==より良い。
スプーラー

1
しかし、実際の問題に関する限り、iSCSIとSambaは大きく異なり、ベアブロックデバイスに存在しないSambaを使用する場合は、VFSキャッシングレイヤーを利用します。パフォーマンスの違いに驚いているとのことですが、この比較について、またはiSCSIでネットワークを飽和させることについて、もっと気にしていますか?iSCSIが主な関心事であり、Sambaのパフォーマンスがコンテキストのマイナーな詳細である場合、質問を編集してそれをより明確にする(そしておそらくより良い答えを得る)ことができます。
スプーラー

テストにはWindows 10を使用しましたが、どこで使用されているマシンの詳細もわかりません。(そして、なぜそのようなテストにWindowsクライアントOSを使用するのですか?)
yagmoth555

回答:


6

まず、RAID-6はダブルパリティ計算のため問題です。次に、MS iSCSIイニシエーターでiSCSIターゲットを2回接続し、RRまたは最小キュー深度を有効にすることができます(残念ながら、Win10はマルチパスをサポートしていないため、代わりにWindows Serverでテストできます)。

実際、ブロックレベルのアクセスは、ファイルレベルのアクセスよりも高速でなければなりません。Windowsサイトからどのようなベンチマークツールを使用していますか?私はdiskspdまたはFIOを使用することをお勧めします。さらに、Starwindなどをより高速なiSCSIターゲットとして使用できます。

https://www.starwindsoftware.com/starwind-virtual-san#Hyper-V


2
RAID 6はソフトウェアではなくハードウェアにあります。約20年前から、パフォーマンスの問題ではなくなりました。
Nils

RAID-6が問題ですか?パリティの計算は、プロトコルに関係なく行われます。
Daniel

2
RAID6は、パリティの計算のためではなく、読み取り、変更、書き込みのパリティRAIDの性質の結果である、いわゆる「書き込みホール」のために遅くなります。
BaronSamedi1958

3
「Raid 6はソフトウェアではなくハードウェアにあります。約20年以来、パフォーマンスの問題ではなくなりました。–
NISMO1968

1

iSCSIはブロックレベルで使用する必要があります。セットアップの説明では、ファイルシステムを使用してファイルを配置し、このファイルをiSCSIブロックレイヤーとして実行しているように聞こえます。

これは理想的とはほど遠く、速度を比較するための設定ではありません。raid6の上でlvmを使用してスペースをセグメント化し、iSCSIのブロックレイヤーに留まるか、raid6を直接iSCSIデバイスとして使用してみてください。

現在の設定では、データはネットワークを介して転送され、ファイルシステム内のファイルにヒットします。このファイルは、(おそらく)このタイプのワークロード用に最適化されておらず、他のプロセスとも共有されています。iSCSIでこのような設定を行うことは可能ですが、最適化されていないフォールバックソリューションと見なす必要があります。


1

dd非常にシンプルなベンチマークであり、非常に歪みが発生しやすいことに注意してください。たとえば、ddゼロを書き込んでいる場合-何かがゼロでいっぱいの特別なケースがある場合(たとえば、圧縮を実行できるため)、素晴らしいパフォーマンスが表示されますが、ゼロ以外の「実際のデータ」の書き込みに切り替えると、突然そのパフォーマンスが消えることがあります。 ..

(すべてのベンチマークと同様に)質問に答えるためには、実際に問題を特定するために部分を分離する必要があります。たとえば、Windowsファイルシステムに直接(iSCSI経由ではなく)書き込むことも非常に高速ですか?同じハードウェア構成で、Windowsの代わりにLinuxを実行する場合、速度は同じですか、それとも遅くなりますか?fioなどのベンチマークツールに切り替えるとどうなりますか?

残念ながら、このような質問にうまく答えられる可能性は多すぎます...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.