ページ ツリー
メタデータの末尾にスキップ
メタデータの先頭に移動

元々はお買い得RAIDカードにずらっと並べていたのですが、あまりにもデータが多くて見づらくなったので分割しました。

管理諸々についてはこちらが参考になると思います

PCブラウザで見ている場合、ブラウザをめいっぱい横に広げると多少グラフの比較がしやすくなります。購入時は99USDだったので送料を含めるとあまりやすいとも言えませんが、今後は安くなると思います。

HPE SmartArray P420

スペック

ML350p gen8のP420iだと社外ディスク警告が鬱陶しいので、それを消すために買ったのですが、HPEのマシンに接続すると内部/外部(P420i/P420)関係なくディスクの認証がかかるようです。ただ、HPE以外のSupermicroなどのマシンでは社外ディスクでも問題なく使えます。(おそらく、ILOのディスクヘルス報告の関係だとおもいます)

チップはPCI-E3.0対応なのですが、実際に3.0でリンクしているかを確認するためにdebianを立ち上げ、lspci -vvをしてみましたが、LnkSta: Speed 8GT/sとのことなのでちゃんと3.0でリンクしているようです。


02:00.0 RAID bus controller: Hewlett-Packard Company Smart Array Gen8 Controllers (rev 01)
        Subsystem: Hewlett-Packard Company P420
        ~~~~
        Capabilities: [c0] Express (v2) Endpoint, MSI 00
                ~~~
                LnkCap: Port #0, Speed 8GT/s, Width x8, ASPM not supported, Exit Latency L0s unlimited, L1 <64us
                        ClockPM- Surprise- LLActRep- BwNot-
                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk-
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 8GT/s, Width x8, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-   <ーーーーー
                DevCap2: Completion Timeout: Range B, TimeoutDis+, LTR+, OBFF Via message
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
                LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
                ~~~


RAIDカードのFWのバージョンが7.0以前である場合、社外サーバ(Supermicroなど)で起動しようとすると起動時にロックアップする可能性があります(カードのFW認識後から無限に待っても進まない)。ファームバージョンが古くてロックアップが起きる場合、ファームを8.0以降へ更新するためにHPEのマシンが必要になる可能性があります。実際にこれが起きて、ML110G6やDL360G6(手元に余ってたHPマシン)でファームを更新しなければならないことがありました。

実際にFW3.2のカードで起きたパターン

  • RX200S7 起動時にロックアップ
  • RX200S8 起動時にロックアップ
  • X9DRL-iF 起動時にロックアップ

そのため、HPEのマシン以外で使う際には注意してください。(そもそも社外マシンで使われることを想定されていませんが)

(追記):ロックアップが起きて手元にHPのマシンがない場合、BIOS/uEFIからOption ROMを読み込まないようにすると起動できることがあります。その場合起動ドライブとしては使えませんが、カード自体は認識できるので、USBフラッシュなどからLinuxを起動すればファームウェアの更新ができる可能性があります。M/Bの相性が強いですが、ハマってしまった場合試してみてください。

P420以降、SSD SmartPathという機能が組み込まれ、これを有効にするとディスクアクセスが以下のように変わるようです。アレイのドライブがSSDの場合、デフォルトで有効です。

  • HP SSD Smart Path は、所定の要件を満たすサイズの小さい要求 (通常は任意の RAID レベルのボリュームに対するサイズの小さい読み取り要求、および RAID 0 に対するサイズの小さい書き込み要求) を処理します。
  • サイズの大きい要求および大多数の書き込み要求は、通常の I/O パス経由で処理されます。
  • 要求が HP SSD Smart Path 経由で処理された結果エラーとなった場合、その要求は通常の I/O パス経由で再試行されます。
  • ボリュームの拡張、再構築、再構成、または RAID レベルの移行が進行中の場合は、すべての要求に通常の I/O パスが使用されます。

SmartPathについては、HPSSAのGUIから変更が出来なかったため(昔どっかから変更した記憶があるのですが見つけられず)、ssacliから変更しています。

ドライバーのバージョンが最新であること、HPESSAのバージョンが最新(3.x以降)であること、ドライブの初期化が終わっていればGUIから変更ができます。初期化中は変更できません。CLIから変更する場合は以下の手順で変更します。

=> ctrl slot=1 array a modify ssdsmartpath=disable
=>


1G-FBWCのみを搭載してバックアップキャパシタを搭載しなかったとろ、強制WBCが出来なかったため、今回はキャパシタを接続しています。

=> ctrl slot=1 modify nobatterywritecache=enable

Warning: Enabling write caching on a cache module without a fully charged
         battery/capacitor could cause data loss in the event of power failure.
         Use of this feature is not recommended unless proper precautions are
         followed to maintain power to the controller. Continue (y/n)?y


Error: This operation is not supported with the current configuration. Use the
       "show" command on devices to show additional details about the
       configuration.
Reason: Not Applicable

また、SmartArrayについてはRAID5以上を作成する場合は512MB以上のキャッシュが必須のため、RAID5のWTは省略します。キャッシュの比は初期値はRead10:Write0ですが、過去の経験から性能の伸びるRead1:Write9に変更しています。ディスクキャッシュはデフォルト無効ですが、N8103-130と条件を揃えるため、今回は設定変更をしてディスクキャッシュを有効にしています。

LSIとはまた初期値などが違うので、一概には比較できませんが以下のモードを比較してみます。ちなみに、FW Version7くらいからJBOD機能も追加されているので、それも対象にしました。

  • 1Disk-RAID0 WriteBack SmartPath Enable
  • 1Disk-RAID0 WriteBack SmartPath Disable
  • 1Disk-JBOD
  • 4Disk-RAID0 WB SmartPath Enable
  • 4Disk-RAID0 WB SmartPath Disable
  • 4Disk-RAID5 WB SmartPath Enable
  • 4Disk-RAID5 WB SmartPath Disable

ディスクのストライプサイズはデフォルトの256K固定です。

1Disk-RAID0 WB SmartPath Enabled


1Disk-RAID0 WB SmartPath Disabled


Access Specification Name対SSP有効時比Read IOps 増分(%)対SSP有効時比Write IOps増分(%)
512 B; 100% Read; 0% random_QD1-72.50.0
512 B; 100% Read; 0% random_QD32-21.70.0
512 B; 50% Read; 0% random_QD155.755.2
512 B; 50% Read; 0% random_QD3213560.013470.3
512 B; 0% Read; 0% random_QD10.015.2
512 B; 0% Read; 0% random_QD320.018007.5
4 KiB; 100% Read; 0% random_QD1-69.70.0
4 KiB; 100% Read; 0% random_QD32153.30.0
4 KiB; 50% Read; 0% random_QD1-13.7-14.1
4 KiB; 50% Read; 0% random_QD324108.04004.7
4 KiB; 0% Read; 0% random_QD10.04.6
4 KiB; 0% Read; 0% random_QD320.039.8
256 KiB; 100% Read; 0% random_QD13.60.0
256 KiB; 100% Read; 0% random_QD322684.70.0
256 KiB; 50% Read; 0% random_QD158.259.5
256 KiB; 50% Read; 0% random_QD32916.0911.9
256 KiB; 0% Read; 0% random_QD10.031.8
256 KiB; 0% Read; 0% random_QD320.0832.6
1M-Seq-100%R_QD197.50.0
1M-Seq-100%R_QD32760.90.0
1M-Seq-50%R_QD175.872.6
1M-Seq-50%R_QD32289.4301.5
1M-Seq-100%W_QD10.070.9
1M-Seq-100%W_QD320.0197.5
1M-rand-100%R_QD1152.70.0
1M-rand-100%R_QD32779.50.0
1M-rand-50%R_QD171.271.8
1M-rand-50%R_QD32307.0285.9
1M-rand-100%W_QD10.077.6
1M-rand-100%W_QD320.0186.2


値をみると、SSP有効時は512BQD1の読み込みが14kIOPSに対して、無効にすると4kIOPSまで劣化しました。しかし、50%のR/W時にはSSP有効時には読み書き共に134IOPS(kではない)まで落ちるのに対して、SSP無効時には読み書き14kIOPSまで回復しています。それのせいで無効時に+18007.5%という値が出てしまい、グラフがぶっ壊れています。

SSPの「所定の要件を満たすサイズの小さい要求」というのはどうやら512Bや4k等の読み込みに対しては特に効果的ですが、SmartPathを通すかのIOの判断のオーバーヘッドか、512Bの書き込みでは性能劣化が起きます。「細かい読み取りが頻繁に起きる」環境以外では無効にした方が良さそうです。

しかし、5Gのデータサイズを指定しているはずなのですが、1MQD32の読み込み時に1803.7MB/sという、明らかに限界突破をしている値が出ているのが謎です。キャッシュは1GBのはずなので、そこに乗り切るとは思えないのですが。IOパターンがRepeating bytes(AAABBBCCCみたいな繰り返しになる)を指定しているため、キャッシュ上の圧縮が効いているなどあるのでしょうか。これについてはLSIのカードとは動きが違うようでよく分かりません。

1Disk-JBOD

試しに、アレイをといてJBODのベンチマークも行いました。読み込みはQD32時に90kIOPS出ているので優秀なのですが、書き込みが全般的にダメなようです。IOPS的にもダメですが、1M読み込みで100MB/s程度しか出ていないのも問題だと思います。

ディスクキャッシュが有効になってないような動きですが、JBOD時にはディスクキャッシュを有効に出来ませんでした。

=> ctrl slot=1 modify drivewritecache=true

Error: This operation is not supported with the current configuration. Use the
       "show" command on devices to show additional details about the
       configuration.
Reason: Controller not configured


OSから直接SMARTが見えるのは良いのですが、通常は1つのディスクであってもRAID0を組んだ方が良いみたいです。

4Disks-RAID0 WB SmartPath Enabled

4Disk-RAID0 WB SmartPath Disabled


Access Specification Name対SSP有効時比Read IOps 増分(%)対SSP有効時比Write IOps増分(%)
512 B; 100% Read; 0% random_QD176.40.0
512 B; 100% Read; 0% random_QD32-7.50.0
512 B; 50% Read; 0% random_QD1807.7805.8
512 B; 50% Read; 0% random_QD325971.35937.4
512 B; 0% Read; 0% random_QD10.094.8
512 B; 0% Read; 0% random_QD320.0131.5
4 KiB; 100% Read; 0% random_QD1116.50.0
4 KiB; 100% Read; 0% random_QD3222.50.0
4 KiB; 50% Read; 0% random_QD1453.3452.0
4 KiB; 50% Read; 0% random_QD32359.1360.7
4 KiB; 0% Read; 0% random_QD10.099.8
4 KiB; 0% Read; 0% random_QD320.038.8
256 KiB; 100% Read; 0% random_QD1192.20.0
256 KiB; 100% Read; 0% random_QD328.20.0
256 KiB; 50% Read; 0% random_QD143.644.3
256 KiB; 50% Read; 0% random_QD32-17.9-18.7
256 KiB; 0% Read; 0% random_QD10.0263.9
256 KiB; 0% Read; 0% random_QD320.0-1.4
1M-Seq-100%R_QD11.80.0
1M-Seq-100%R_QD3213.00.0
1M-Seq-50%R_QD1-6.3-4.7
1M-Seq-50%R_QD326.75.8
1M-Seq-100%W_QD10.0-3.6
1M-Seq-100%W_QD320.0-0.2
1M-rand-100%R_QD111.30.0
1M-rand-100%R_QD3220.00.0
1M-rand-50%R_QD1-2.51.2
1M-rand-50%R_QD3224.924.7
1M-rand-100%W_QD10.0-2.0
1M-rand-100%W_QD320.016.7

4台のSSDのRAID0した限り、1台構成時には良かった512Bの読み込みでもSSP無効の方がスコアがよいなど、SSPを有効にすると極一部を除いて全く良いことがないように見えます。特に、QD32のR/W50%時のスコアが


Read IOpsWrite IOps
SSP有効576.5580.7

SSP無効

35001.235057.8

となり、それぞれ+5937%という値が出てしまっていてまたグラフがぶっ壊れています。

4Disks-RAID5 WB SmartPath Enabled

4Disk-RAID5 WB SmartPath Disabled


Access Specification Name対SSP有効時比Read IOps 増分(%)対SSP有効時比Write IOps増分(%)
512 B; 100% Read; 0% random_QD175.50.0
512 B; 100% Read; 0% random_QD32131.90.0
512 B; 50% Read; 0% random_QD11463.31455.3
512 B; 50% Read; 0% random_QD321635.51625.8
512 B; 0% Read; 0% random_QD10.01948.7
512 B; 0% Read; 0% random_QD320.02664.0
4 KiB; 100% Read; 0% random_QD199.10.0
4 KiB; 100% Read; 0% random_QD32197.50.0
4 KiB; 50% Read; 0% random_QD11135.51137.8
4 KiB; 50% Read; 0% random_QD321084.31090.3
4 KiB; 0% Read; 0% random_QD10.01511.9
4 KiB; 0% Read; 0% random_QD320.04639.1
256 KiB; 100% Read; 0% random_QD1258.90.0
256 KiB; 100% Read; 0% random_QD3219.60.0
256 KiB; 50% Read; 0% random_QD1576.4565.9
256 KiB; 50% Read; 0% random_QD32225.2225.6
256 KiB; 0% Read; 0% random_QD10.01912.5
256 KiB; 0% Read; 0% random_QD320.01173.6
1M-Seq-100%R_QD116.00.0
1M-Seq-100%R_QD3216.70.0
1M-Seq-50%R_QD1212.4192.3
1M-Seq-50%R_QD32196.1185.4
1M-Seq-100%W_QD10.0880.2
1M-Seq-100%W_QD320.0570.5
1M-rand-100%R_QD116.40.0
1M-rand-100%R_QD3220.30.0
1M-rand-50%R_QD1206.2216.4
1M-rand-50%R_QD32194.3212.5
1M-rand-100%W_QD10.0560.4
1M-rand-100%W_QD320.0306.9

RAID5構成時にはSSPを有効にしても何一つ良いことがありませんでした。存在価値…

気になったのでCDMでサクッとキャッシュに載る100MBのデータを取得してみましたが、はやりSSP無効の方がベンチマーク上は良い性能が出ます。SSP有効時はWTに近くSSP無効はWBに近いので、SSPを無効にすればオンキャッシュになるので当たり前ですが…。

8Disk-RAID5 WB SmartPath Disabled

NEC N8103-150 性能評価の時に出てきたSSD(840Evo)を4台)追加して計測してみます(X300s*4+840Evo*4構成)。

時間がかかるので、テスト結果からSSP無効の方がベンチマーク的にいいスコアが出る傾向があるのでSSP無効のキャッシュ有効状態でのみ実施します。

書き込み4kQD32の時の61kIOPSと読み込み4kQD32の約80kIOPSはかなり速いです。また、1Mseq/randQD32の4GB/sと言う速度もかなり速いです。500MB/s*8で4GB/sですが、ランダムの方が速いのは8本のディスクにまたがってうまく分散して読み込めているからでしょうか。

書き込みもシーケンシャルで1.5GB/sとかなり速い方だと思います。その分Rand1Mの落ち込みは少し気になりますが…。

CDMでも見てみましたが、読み込みはかなり差が出た物の書き込みは似た値が出ました。


まとめ

キュー長が深ければ読み最大80kIOPS、書き込み60kIOPS,速度にして読み込み4GB/s 書き込み1.5GB/sくらいの速度はでるようです。かなり速いです。

また、ssacliからキャッシュする書き込みデータの閾値などの変更も出来るので、チューニングを行えばもっと良い値が出るのかもしれませんが、組み合わせが膨大になるためそこまで検証する気力はありません。。

SSPなど、結構癖がある上、2017年現在そこまで安く流通していないので、HDD運用で使いたい、と言うなら価格面で130が有利です。

ただ、複数のSSDでのRAID5の運用を考えたら多少高くてもP420の方が良いかもしれません。(130が書き込み最大500MB/sに対してP420は1.5GB/s)

買う際には

  • 1GBか2GBのどちらかのキャッシュを搭載している
  • FBWC保護キャパシタ/バッテリが付いている

事を確認して買わないと悲惨なことになるので注意してください。

こいつも例に漏れずとても発熱します。100℃で警告らしいですが、150と同じようにバラック無風の状態だとじわじわと温度が上がり80℃くらいまで達しました。ラックマウントサーバではない一般的なデスク機で使う場合はエアフローに注意してください。


コメントを書く…