Dell PowerVault MD3600iの最近の所有者は、奇妙な結果を経験しています。
専用の24x10GbEスイッチ(PowerConnect 8024)があり、ジャンボフレーム9Kにセットアップされています。
MD3600には2つのRAIDコントローラーがあり、それぞれに2x10GbEイーサネットNICがあります。スイッチには他に何もありません。 1つのVLAN for SANトラフィック。
これが私のmultipath.confです
defaults {
udev_dir /dev
polling_interval 5
selector "round-robin 0"
path_grouping_policy multibus
getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
prio_callout none
path_checker readsector0
rr_min_io 100
max_fds 8192
rr_weight priorities
failback immediate
no_path_retry fail
user_friendly_names yes
# prio rdac
}
blacklist {
device {
vendor "*"
product "Universal Xport"
}
# devnode "^sd[a-z]"
}
devices {
device {
vendor "Dell"
product "MD36xxi"
path_grouping_policy group_by_prio
prio rdac
# polling_interval 5
path_checker rdac
path_selector "round-robin 0"
hardware_handler "1 rdac"
failback immediate
features "2 pg_init_retries 50"
no_path_retry 30
rr_min_io 100
prio_callout "/sbin/mpath_prio_rdac /dev/%n"
}
}
そしてiscsid.conf:
node.startup = automatic
node.session.timeo.replacement_timeout = 15
node.conn[0].timeo.login_timeout = 15
node.conn[0].timeo.logout_timeout = 15
node.conn[0].timeo.noop_out_interval = 5
node.conn[0].timeo.noop_out_timeout = 10
node.session.iscsi.InitialR2T = No
node.session.iscsi.ImmediateData = Yes
node.session.iscsi.FirstBurstLength = 262144
node.session.iscsi.MaxBurstLength = 16776192
node.conn[0].iscsi.MaxRecvDataSegmentLength = 262144
私のテストの後;読み取り/書き込みが200Mb/sになることはほとんどありません。
それ以上のことを期待すべきですか?それがデュアル10GbEを持っているとすれば、400 Mb/sをどこで実現するかについての私の考えです。
何か案は ?ガイドライン?トラブルシューティングのヒント?
編集:
アレイは5.7TBの単一論理ボリュームとしてセットアップされますディスクはすべて1TB7.2k SAS 6GB(ST1000NM0001)RAIDはRAID10です
Swith構成のいくつかの行:
interface Te1/0/23
storm-control broadcast
storm-control multicast
spanning-tree portfast
mtu 9000
switchport access vlan 40
exit
...
iscsi cos vpt 5
management access-list "default"
permit service ssh priority 1
permit service http priority 2
permit service https priority 3
そしてマルチパス出力:
[root@xnode4 ~]# multipath -ll -v2
multipath.conf line 30, invalid keyword: prio
mpath1 (36d4ae520009bd7cc0000030e4fe8230b) dm-2 Dell,MD36xxi
[size=5.5T][features=3 queue_if_no_path pg_init_retries 50][hwhandler=1 rdac][rw]
\_ round-robin 0 [prio=400][active]
\_ 7:0:0:0 sdc 8:32 [active][ready]
\_ 9:0:0:0 sde 8:64 [active][ready]
\_ 11:0:0:0 sdi 8:128 [active][ready]
\_ 13:0:0:0 sdn 8:208 [active][ready]
\_ round-robin 0 [prio=0][enabled]
\_ 10:0:0:0 sdj 8:144 [active][ghost]
\_ 12:0:0:0 sdh 8:112 [active][ghost]
\_ 8:0:0:0 sdd 8:48 [active][ghost]
\_ 6:0:0:0 sdb 8:16 [active][ghost]
コメントや編集から判断すると、ボトルネックはストレージである可能性があります。まず、書き込みキャッシュが有効になっていると仮定すると、キャッシュがいっぱいになるまでのすべての書き込みは、回線速度で実行する必要があります。キャッシュの量を把握し、それより少ないデータで100%の書き込みベンチマークを実行することで、これをかなり簡単に測定できます。次に、キャッシュがデータのディスクへのデステージングを開始すると、RAID-10での書き込みパフォーマンス(コントローラーがボトルネックを引き起こしていないと仮定)は、読み取りパフォーマンスの半分になります。これは、各書き込みが2つのディスクに対して行われるのに対し、読み取りは1つのディスクからのみ行われるためです。 RAID-10の利点の1つは、計算するパリティがないことです。そのため、コントローラーのプロセッサーが単に追いつくことができない可能性はほとんどありません。
次に、ベンチマークが読み取りと書き込みの混合を測定している場合、ストレージコントローラーから得られるパフォーマンスはIOのタイプによって異なります。シーケンシャルの場合、MB /秒の数は多くなりますが、IO /秒の数は少なくなります。ランダムなスモールブロックの場合、MB/sの数は少なくなりますが、ディスクが提供できる数のIO/sが得られます。各7200RPMディスクは、予測できない読み取り時に特定の数のIO /秒を提供するため、レイド内のドライブ数にドライブあたりのIO /秒数を掛けたものが、理論上のパフォーマンスの上限になります。
最後に、1つの大きなボリューム内のすべてのストレージが単一のLUNとして提示されている場合、コマンドキューが飽和状態になる可能性があります。通常のオペレーティングシステムには、構成可能なコマンドキューの深さ(ストレージ用に並べられる未処理のIOの数)があり、各ボリューム/ LUNには独自のキューがあります。すべてのストレージを同じLUNに配置する場合の別の問題は、通常、IOがそのLUNの単一のコントローラーに送信されることです。アクティブ/アクティブストレージシステムでも(あなたのことはわかりませんが)つまり、あるコントローラーに対して別のコントローラーとの親和性を持つことができます。目標は、一連のボリュームを作成し、それらをコントローラー間で均等に分割することです。
単一のディスクでベンチマークし、RAID0のすべてのディスクで再度実行します。
RAID 0には、RAID10またはRAID5のオーバーヘッドはありません。
MDのキャッシュも確認してください。デフォルトは4kブロックですが、最大32kブロックになる可能性があります。これら2つの値の間で速度に最大30%の違いがありました。ただし、ワークロードについてテストしてください。
より多くのスレッドを使用できるSQLIOのようなものを使用してください。一生懸命頑張ると、ようやく数字が良くなり始めました。
そして、MDが10G用に構成されていることを確認します。オプションはポートで10Gまたは1Gであり、自動ネゴシエーションは行われません。
アレイのキャッシュブロックサイズを4kから16kまたは32kに増やしたい場合があります(特にシーケンシャルワークロードを探している場合)