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

このページの古いバージョンを表示しています。現在のバージョンを表示します。

現在のバージョンとの相違点 ページ履歴を表示

バージョン 1 次のバージョン »

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

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

NEC N8103-130 (Megaraid SAS 9264-8i)

スペック

  • チップ  PMC Sierra チップ不明
  • メモリ 1GB、DDR3-1333MHz
  • リンク速度 x8@PCI-E3.0
  • FW 8.0.0

ML350eのP420iだと社外ディスク警告が鬱陶しいので、それを消すために買いました。また、チップは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-
                ~~~


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から変更しています。

=> 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は省略します。キャッシュの比は初期値のRead1:Write9になって、ディスクキャッシュは有効です。

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 WriteThrough

何気にAHCIよりIO性能が高い…。SSD自体に256MBのDRAMが載っているので、そもそもカード自体のDRAMが不要な可能性があります。

CDMの4G、100MBリードの参考値です。ちなみにDiskcacheを無効にするとシーケンシャルでも書き込みが45MB/s程度まで落ちました。



1Disk-RAID0 WriteBack

5GBというキャッシュに乗り切らないサイズのせいか、違いがぜんぜんわからん!

WTモード時とのデータの向上率の比較をしてみる



512 B; 100% Read; 0% random_QD1-44.27840
512 B; 100% Read; 0% random_QD32-2.246020
512 B; 50% Read; 0% random_QD1103.7055102.828
512 B; 50% Read; 0% random_QD32181.8043183.2034
512 B; 0% Read; 0% random_QD10101.8742
512 B; 0% Read; 0% random_QD320-39.6489
4 KiB; 100% Read; 0% random_QD1-34.77720
4 KiB; 100% Read; 0% random_QD32-29.60010
4 KiB; 50% Read; 0% random_QD1-0.77824-1.62854
4 KiB; 50% Read; 0% random_QD32-9.38483-9.62174
4 KiB; 0% Read; 0% random_QD1090.90597
4 KiB; 0% Read; 0% random_QD320-41.4706
256 KiB; 100% Read; 0% random_QD1-1.214280
256 KiB; 100% Read; 0% random_QD323.8310430
256 KiB; 50% Read; 0% random_QD17.1405738.666481
256 KiB; 50% Read; 0% random_QD32-21.9534-21.8982
256 KiB; 0% Read; 0% random_QD1012.71637
256 KiB; 0% Read; 0% random_QD320-0.00466
1M-Seq-100%R_QD10.1833230
1M-Seq-100%R_QD324.4696010
1M-Seq-50%R_QD1-3.69594-5.69608
1M-Seq-50%R_QD32-7.78602-8.20952
1M-Seq-100%W_QD10-0.63321
1M-Seq-100%W_QD3200.440793
1M-rand-100%R_QD1-7.91010
1M-rand-100%R_QD32-25.52830
1M-rand-50%R_QD1-10.3011-14.8897
1M-rand-50%R_QD32-18.1436-17.3741
1M-rand-100%W_QD10-7.48275
1M-rand-100%W_QD320-5.91396


0%でキャッシュ無し時と同じなので、512 B; 100% Read; 0% random_QD1の-44%というのは、キャッシュを有効にすると逆に性能劣化が起きてキャッシュ無しの半分の性能になっているパターンです。

512BアクセスのRead50%/Write50%時はキャッシュを有効にすると無しに比べて+200%になるので、WTの3倍近い性能向上を得られますが、それ以外の場合は大体性能劣化が起きているようです。

WBの効果が出ているかCDMも走らせてみましたが、キャッシュに収まる100MBでテストしたところキャッシュ速度はずいぶんと速いようです。


4Disk-RAID0 WT

IOPS的にいえば1ディスク構成時の90kからあまり増加はないので、コントローラ的には90kIOPSくらいが限界のようです。

一方、ディスクの読み込みについては1ディスク構成時に最大450MB/sだったのが4本構成で約1800MB/sなので、順当に伸びているようです。

こ れらから、最大90kIOPSか2GB/sまでの帯域のどちらかがに触れない範囲で使う事になりそうです。いずれにしても、IOPSについてはHDDでは 間違いなく到達できない範囲なので、HDDで運用する限りRAIDカードがネックになると言うことはないと思われます。

HDDを16台くらいぶら下げれば、帯域の方はシーケンシャルIOで上限にあたる可能性がありますが、それなりにがんばらないと到達できないと思います。


4Disk-RAID0 WB

例によってWT/WBの対比が分からないので増分



512 B; 100% Read; 0% random_QD1-38.39260
512 B; 100% Read; 0% random_QD32-10.46960
512 B; 50% Read; 0% random_QD1105.3036105.2979
512 B; 50% Read; 0% random_QD32182.4146183.829
512 B; 0% Read; 0% random_QD10100.2315
512 B; 0% Read; 0% random_QD320-31.7521
4 KiB; 100% Read; 0% random_QD1-15.35250
4 KiB; 100% Read; 0% random_QD32-9.962260
4 KiB; 50% Read; 0% random_QD14.4516383.060278
4 KiB; 50% Read; 0% random_QD32-5.8848-5.67845
4 KiB; 0% Read; 0% random_QD1078.77088
4 KiB; 0% Read; 0% random_QD320-44.7767
256 KiB; 100% Read; 0% random_QD1-13.18050
256 KiB; 100% Read; 0% random_QD321.1935010
256 KiB; 50% Read; 0% random_QD117.6612715.54095
256 KiB; 50% Read; 0% random_QD320.8095172.130234
256 KiB; 0% Read; 0% random_QD10-7.04535
256 KiB; 0% Read; 0% random_QD320-18.4334
1M-Seq-100%R_QD1-2.466640
1M-Seq-100%R_QD322.4631720
1M-Seq-50%R_QD1-3.53151-4.23811
1M-Seq-50%R_QD32-2.97517-3.60646
1M-Seq-100%W_QD10-20.8247
1M-Seq-100%W_QD320-12.7551
1M-rand-100%R_QD1-1.110880
1M-rand-100%R_QD324.7780210
1M-rand-50%R_QD1-4.51558-6.17381
1M-rand-50%R_QD324.0557173.391034
1M-rand-100%W_QD10-10.4651
1M-rand-100%W_QD320-13.909


CDMでも似た傾向がみれます。



4Disk-RAID5 WT

読み込みはRAID0の1.8GB/sに対して、RAID5でも最大約1.6GB/sと優秀なのですが、書き込みは最大でも300MB/sと残念なことに。

RAID0の時は512BQD32の書き込みが66kIOPSあったのに対して、RAID5の時は26kIOPSまで落ちたので、やはりパリティー計算が必要なRAIDのオーバーヘッドは大きいです。



4Disk-RAID5 WB




512 B; 100% Read; 0% random_QD1-80.90080
512 B; 100% Read; 0% random_QD32-24.74160
512 B; 50% Read; 0% random_QD10.3743550.015933
512 B; 50% Read; 0% random_QD3267.3972867.56659
512 B; 0% Read; 0% random_QD10482.0557
512 B; 0% Read; 0% random_QD32066.55948
4 KiB; 100% Read; 0% random_QD1-77.37430
4 KiB; 100% Read; 0% random_QD32-10.14110
4 KiB; 50% Read; 0% random_QD1-7.2077-5.82038
4 KiB; 50% Read; 0% random_QD3246.4411646.29059
4 KiB; 0% Read; 0% random_QD10479.8198
4 KiB; 0% Read; 0% random_QD32098.44912
256 KiB; 100% Read; 0% random_QD111.124180
256 KiB; 100% Read; 0% random_QD326.0394540
256 KiB; 50% Read; 0% random_QD159.6797161.75022
256 KiB; 50% Read; 0% random_QD328.0590767.317294
256 KiB; 0% Read; 0% random_QD10159.8849
256 KiB; 0% Read; 0% random_QD320130.9874
1M-Seq-100%R_QD13.9511610
1M-Seq-100%R_QD325.2726360
1M-Seq-50%R_QD160.7914861.17785
1M-Seq-50%R_QD3214.3281116.1741
1M-Seq-100%W_QD10174.7787
1M-Seq-100%W_QD32094.76335
1M-rand-100%R_QD11.7220710
1M-rand-100%R_QD328.1867690
1M-rand-50%R_QD157.8420661.04148
1M-rand-50%R_QD3216.9375516.22543
1M-rand-100%W_QD10147.958
1M-rand-100%W_QD32019.62272

通説通り、RAID5の時はWBキャッシュがあると性能向上があります。512BQD32の書き込みがWT時には26kIOPSでしたがWB時には44kIOPSまで上がりました。

また、RAID0の時と違い、大体の場合において性能が上がりました。

CDMでも似た傾向は出ましたが、たとえば4KQD32時の書き込みがIOMeterだとWB時に121MB/s出ているのに対して、CDMだと35MB/sになっているなど、結構違いが出ているので参考値です。

まとめ

4000円前後で買える割にはそこまで悪くないと思います。RAID5で運用する際にはBBU+キャッシュを、0で運用する際にはキャッシュしない設定にする、と言うのがベストのようです。




  • ラベルがありません