うるせいラックマウント機器たちの紹介。

Express5800 R120a

HPとかDellはオクでそれなりの値段がついてますが、NECとか富士通とか安いです。 富士通はRAMの種類を判別したりしてますが、NECのはよい子。もちろんnon-ECCでも動きます。

そのままでもProliantに比べればかなり静かですが、やっぱり気温があがるとファンがうるさくなってきます。 オフラインBMC更新プログラム(CL12CW14.iso)のCL12CW14.imgファイルをDD for windowsなどでUSBメモリに書くと、 ご親切にもコメント付きでSDR設定ファイルが出てきます。
R120a用とR120b用、またそれぞれ1Uと2UおよびCPUのワット数でCFGファイルが分かれています。 例えばR120aの2Uの80W CPUならCLSSDRD8.CFGでフラグがセットされ、CLS0003.SDRファイルのレコード03D0のところに、SENSOR35(FrontPnl温度)で スレッショルド-128度、29度、32度、37度別に別テーブルを参照し、この別テーブル(例えばレコード0820)に CPU限界までの温度-128度、-26度、-9度、-5度でそれぞれファンのPWM値、 DIMMの温度でもPWM値が設定されており、この高い方のPWM値でファンを駆動している模様です。 PWMもいくつかあって本来的にはファン個別に回転数が制御できる模様ですが、基本同じ値になってます。 FrontPnl温度のテーブルだけをいじるのが安全でしょうか。

10-pin SGPIO
NEC
R120d
HP
DL120
Chenbro
1B8B8A11
2A10ncB11
3A8A10A10
4B11B10B10
5B9keyA9
6A11B11B9
7B10A9A8
8A9A8B8
9keyB9nc
10ncA11key

Express5800 R120d

R120d/eの場合はWindows用アップデートにSDRファイルがありますので、sdronupに-forceを付けて更新可能です。

HDD backplaneはSATAタイプで、SGPIOコネクタが別途あるタイプです。

megaraid 8708EM2

NEC鯖からの抜き取り品が安価に出てますが、正直ソフトウェアの出来がいま1つです。かなり融通利きません。

マルチレーンケーブル

SASでは8対のツイストペアを内蔵したケーブルを用います。送受信で4レーンになり詳細はSASの規格書購入ですが、 Draftの一部は公開されています。
SFF8087
SAS内蔵用のコネクタです。 いわゆるクロスケーブルであり、送受信のツイストペア信号はケーブル両端で互いに入れ替わってます。 エラーやロケータLEDのためにサイドバンド信号といわれるものがあり、SGPIO(SFF8448,SFF8485)で規格化されています。
SFF8087をSATAコネクタx4に変換するものがありますが、SATAはストレートケーブルです。 よってホスト側がSATAなのか、ターゲット側がSATAなのかによってケーブルの種類が異なるので注意が必要です。 SFF8484はクロスですが両端でレーン番号が入れ替わっているため、8484⇔8087にも同様の注意が必要になります。
SFF8088
SAS外部接続用のコネクタです。クロスケーブルなため本来はケーブルの両端に区別はないはずですが、 実際にはチェーン接続時の上流下流区別のため「でっぱり」があって入らない場合があるので注意が必要です。 サイドバンド信号はありません。これは外部接続では外部にexpanderを持つのが普通であり、 LED等はそこで制御される(SES規格)ためです。
SFF8470
InfiniBandや10Gbase-CX4でも用いられ、クロスケーブルです。 SASの場合はほとんどねじ式ですが、IB-SDR/DDRやCX4ではラッチ式になっています。 最大長は線の太さで決まります。 より長く接続するため、IBではGND線の一部が特定パターンのとき電源を供給するような規格になっており、 光トランシーバや信号バッファICのための電源供給が可能になっています。 このようなアクティブケーブルはSASやCX4では使用できません。
QSFP+
上3つはレーンあたり5Gbps程度なケーブル規格ですが、レーンあたり10Gbps程度な規格としてSFP+があります。 もともとSFP+は10GbEのトランシーバ規格で、それをDirectAttachという形で10mまでの近距離接続に用いています。 これを4つ束ねたのがQSFP+で転送速度は40Gbpsになり、次のような利点があるため今後主流になると思いますが、 なぜかSASでは別なコネクタ(miniSAS HD)定義していますね。

Proliant DL180 G6

IDBMC SDR対象
B02.16.1.71DL160(KittyHawk)_N
B22.16.1.82DL160(KittyHawk)_R
B42.17.1.177DL180(KittyHawk)_NN=ノーマル
B62.17.1.182DL180(KittyHawk)_RR=冗長電源
C02.17.1.181DL180(KittyHawk)_N_LL=軽負荷(標準)
C22.17.1.180DL180(KittyHawk)_R_L
C42.16.1.72DL160(KittyHawk)_N_P
C62.16.1.76DL160(KittyHawk)_R_P
C82.17.1.175DL180(KittyHawk)_N_PP=PCIeあり
CA2.17.1.179DL180(KittyHawk)_R_P
CC2.16.1.77DL160(KittyHawk)_N_V
CE2.16.1.80DL160(KittyHawk)_R_V
CC2.16.1.79DL160(KittyHawk)_N_P_V
CE2.16.1.81DL160(KittyHawk)_R_P_V
PCIex8が2本取れるマシン、ということで入手しました。CPU増やして12HDDケージにしてメモリ24G(non-ECC)とかにしても計10万以下。 が、PCIeに何も刺さないとそこそこ静かですが、何か刺すとファンがうるさいです。
ファンのコントロールはマネジメントCPUで行っているようで、lo100の展開後ファームの00000-0FFFFにセンサ情報、 10000-2FFFFにファン制御用のコードが書かれています。 標準提供のlo100ファームでは機種汎用のものになっていますが、その後BIOSが起動したときに PCIeの使用有無や電源多重化情報を見て、BIOS側から送り込んだ固有のものに置き換えるようになってます。
MMToolを使用してBIOSを調べると、右のようなテーブルがあり、そこに各状態でのセンサ情報とファン制御情報が書かれています。 で、PCIe刺した状態のものを軽負荷のもので置き換え&チェックサム等書き換えてBIOSを作ってやったのですがさらに爆速。 どうやらファン制御用のコードはCPLDの定義ファイルなようで、一筋縄では書き換えできない感じです。

でめんどっちーのでファン換装、は6cm軸流ファンって高いのでNE555+10k半固定+330p+ダイオード3本でPWM信号こさえてアナログ的に解決。 PWM信号は30μs(33KHz)周期で起動時には23μs-High、静音時には6μs-High程度に制御されています。
ファン12VGND電源12VSensorPWMSensor副
DL180--
DL160黒+灰黄+白

しかしマザーは安っぽいですね。上位シリーズはHP自社開発で、やや黄色がかった硬そうな高多層基板を使ってますが、 100シリーズは基板のみならず筐体の鉄板も薄い気がします。 でもHDDがみっしり積めるのがDL180のいいところ。

remote FX

標準ではPCIeはx16、x8、x8、x4で、x4が背面右スロットの一番上でich10経由なので2.5Gb/s、他は5Gb/sです。 せっかくなのでx16にQuadro600を刺してremoteFXの試験。 といった感じでまだまだ、というかたぶん永遠に実用にならない気がします。

remote FX w/Server2012

親をServer2012、仮想および子をWindows8にて同様の試験をしてみました。


SFS-7000D

ファン換装は適当に。

netpipe-tcpでInfinibandの性能測定してみました。 IPoIBでInfinihostだとDDR(16Gbps)のスピードは出ません。 Connected Modeだとmyricomの10GBeと同じぐらいのスピードが出ますが、 これはmtuが大きくなることによるオーバヘッド減少が主な理由で、 CMでmtu=1500で実験すると非CM(UD)よりさらに15%程度遅くなります。 (OFED3.0rcの頃は実験できたのですが、rcが取れたら刺さるようになってしまいました。) ConnectXの場合はボード側でIPoIBの処理を行うので、それなりのスピードが出ると思われます。
PentiumD915(2.8GHz)同士という遅いCPUでなく、DL180(E5506)-Core2Duo(E8400)で測定すると多少速くなります。 また、Etherをオフロードしているmyricomと比べるとCPUが速くなった分だけ速くなったのが見て取れます。 もともとInfinibandはIPoIBとかで使うんではなくて、もっと軽いプロトコルで使うべきなんでしょうね。
DL180にmyricomとInfinihostを両方さして、ブリッジ性能を測定してみました。 Infiniband側のCM/UDに関係なく同じぐらいのスピードなのは結局10GBe側のMTUに制限されるからです。 なお、IPoIBはL3のプロトコルなのでそのままブリッジ設定しただけでは動作せず、以下のコマンドで設定する必要があります。

netsh bridge>show adap
-----------------------------------------------
 ID AdapterFriendlyName  ForceCompatibilityMode
-----------------------------------------------
  1 Myricom-10GBe-LAN          unknown
  2 OFED-IPoIB-LAN             unknown
-----------------------------------------------
netsh bridge>set adap 2 force=enable
もっとも「なんちゃってブリッジ」なので、マルチキャスト等はまともに動作しない模様です。


Procurve 3500yl-48G

電源入れると「ヒュイーン」とターボのようないい音をして起動します。ま、うるさいんですけどね。

OpenFlow

openflow対応のファームが公開 されています。もっともベータ版なのかかなり制約ありますけど。(Release Notes参照)
www.openflow.orgにて最低限のL2SWコントローラのサンプル実装があるのでこれで遊んでみます。 といってもこのページにあるように 適当なマシンにdebianインストールしてgitからソース取ってきてコンパイルしただけ。unstableでなくていいです。 Wiresharkの代わりにテキストのtsharkで覗くことにしてWireshark Dissectorは無視、コントローラだけなのでRegression Suite不要。
192.168.1.1$ /usr/local/bin/controller ptcp:
3500yl側のほうは、Release Notesにあるとおりに設定します。
3500# vlan 10 untagged 41-48
3500# openflow vlan 10 controller tcp:192.168.1.1:6633 listener ptcp:6633 enable
以上でポート41から48までが通常のL2SWとして機能します。 ちょっと通信させた後で状態を見るとこんな感じ。
3500# show openflow 10
 ...
 Openflow Status - VLAN 10
  Switch MAC address : 00:1C:2E:XX:XX:XX
  Openflow datapath ID : 000A001C2E95XXXX
  Controller connection status (1/1) : connected ; state: ACTIVE
  Listening connection status : listening (1 connections)
  SW Dpif n_flows: 0 ; cur_capacity:7 ; n_lost: 0
          n_hit: 0 ; n_missed: 1088 ; n_frags: 0
  Number of hardware rules: 13
3500# show openflow 10 flows
 Flow 1
  Incoming Port      : 45                HW acceleration    : Yes
  Destination MAC    : 441ea1-xxxxxx     Source MAC         : 00030d-xxxxxx
  VLAN ID            : 65535             VLAN Priority      : 0
  Source IP          : 192.168.0.45      Destination IP     : 192.168.0.47
  IP Protocol        : TCP               IP ToS bits        : 0
  Source Port        : 49166             Destination Port   : 80
  Duration           : 84s secs          Priority           : 65535
  Idle Timeout       : 60 secs           Hard Timeout       : 0 secs
  Packet Count       : 31                Bytes Count        : 66
  Actions            : output:47
 Flow 2...15
3500#
フロー15個中13個がハードウェアで処理され、ソフトで処理になってるのはARP、さもありなん。

SPX-2420GL

買ったけど放置していたのをちょっと試験。物はomniswitch 6850-24Xでしょうか。

性能測定

ge1とge2をvlan2、ge3とge4をvlan3に設定して、ge2とge3をLANケーブルでつなげば、 ge1とge4で通信するとスイッチ内を2回通る、みたいなことをして(設定) スイッチ内11回通過させて1000BASE-Tで試験。

測定はnetpipe-tcpだけど、直結でも520MbpsしかでないへたれPC達なのであまり測定効果はないですな。 ppsが多くなる領域で時々測定値が落ち込んでます。ただ、劇的にサチったりしてないのでそこそこ使えるかな、という印象です。 さすがXFPを持つだけのことはあります。