うるせいラックマウント機器たちの紹介。
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 |
1 | B8 | B8 | A11 |
2 | A10 | nc | B11 |
3 | A8 | A10 | A10 |
4 | B11 | B10 | B10 |
5 | B9 | key | A9 |
6 | A11 | B11 | B9 |
7 | B10 | A9 | A8 |
8 | A9 | A8 | B8 |
9 | key | B9 | nc |
10 | nc | A11 | key |
Express5800 R120d
R120d/eの場合はWindows用アップデートにSDRファイルがありますので、sdronupに-forceを付けて更新可能です。
HDD backplaneはSATAタイプで、SGPIOコネクタが別途あるタイプです。
megaraid 8708EM2
NEC鯖からの抜き取り品が安価に出てますが、正直ソフトウェアの出来がいま1つです。かなり融通利きません。
- チップはLSI 1078で、RAID5/6にはハードウェアキーが必要です。
ITモードファームはなく、VSC7155(DL180の12HDDケージ、DL18xG6BP)やVSC7154(MSA60/70)なexpanderとは相性よくありません。
Vitesse→Maxim→PMCだから対抗というわけではもちろんなく、LSI 1068Eでは問題なく認識されますし、
同じ1078を用いているP400ではもちろん認識されます。
- 1T+1TでRAID1を組んだものを→2T+1T →2T+2Tとかにしてもボリューム容量増やせません。
そもそもボリューム容量は空きがあっても任意に増やせません。空き部分に新ボリューム作成はできます。
- 増やしたい場合は→2T+1Tにした後に2Tだけにしてwebconfigでclear config、
再度RAID0-2Tで新規作成してInitializeしなければOKです。
- 1T+1TのRAID1を1T+1T+1TのRAID5にmigrateすると容量増やせますが、
そのグループに切ってあるボリュームが単一の場合のみで、ボリューム容量が必ず倍になります。
- 例えば1T+1Tに100GのボリュームVD_0を起動ドライブ、残り900GのボリュームVD_1をデータドライブとしておいて、
1T+1T+1Tにしてデータドライブだけ増やそうとしてもそもそもmigrateメニューが出てきません。
- これはUEFI非対応なDL180だと、起動HDDを別に用意しておかないと2TB超えに対応できない、ということです。
P400や3wareの9650SEとかでは問題なく可能なのにね。
マルチレーンケーブル
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)定義していますね。
- I2C信号でケーブル特性を機器側に伝えることができる。
- SFF8470とケーブルだけで接続できるし、SFP+ともケーブルだけで接続できる。
- 光トランシーバを筐体内に内蔵でき、機器内部だけの熱管理で済む。
Proliant DL180 G6
ID | BMC SDR | 対象 |
B0 | 2.16.1.71 | DL160(KittyHawk)_N |
B2 | 2.16.1.82 | DL160(KittyHawk)_R |
B4 | 2.17.1.177 | DL180(KittyHawk)_N | N=ノーマル |
B6 | 2.17.1.182 | DL180(KittyHawk)_R | R=冗長電源 |
C0 | 2.17.1.181 | DL180(KittyHawk)_N_L | L=軽負荷(標準) |
C2 | 2.17.1.180 | DL180(KittyHawk)_R_L |
C4 | 2.16.1.72 | DL160(KittyHawk)_N_P |
C6 | 2.16.1.76 | DL160(KittyHawk)_R_P |
C8 | 2.17.1.175 | DL180(KittyHawk)_N_P | P=PCIeあり |
CA | 2.17.1.179 | DL180(KittyHawk)_R_P |
CC | 2.16.1.77 | DL160(KittyHawk)_N_V |
CE | 2.16.1.80 | DL160(KittyHawk)_R_V |
CC | 2.16.1.79 | DL160(KittyHawk)_N_P_V |
CE | 2.16.1.81 | DL160(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程度に制御されています。
| ファン12V | GND | 電源12V | Sensor | PWM | Sensor副 |
DL180 | 赤 | 黒 | - | 青 | 黄 | - |
DL160 | 橙 | 黒+灰 | 赤 | 青 | 黄+白 | 緑 |
しかしマザーは安っぽいですね。上位シリーズはHP自社開発で、やや黄色がかった硬そうな高多層基板を使ってますが、
100シリーズは基板のみならず筐体の鉄板も薄い気がします。
でもHDDがみっしり積めるのがDL180のいいところ。
remote FX
標準ではPCIeはx16、x8、x8、x4で、x4が背面右スロットの一番上でich10経由なので2.5Gb/s、他は5Gb/sです。
せっかくなのでx16にQuadro600を刺してremoteFXの試験。
- 親サーバDL180, CPU=2*E5506, MEM=24G, Video=Quadro600, 1000BASE-T, OS=2008R2SP1 + 2012-1末までのアップデート
- クライアントMacbook+Bootcamp, CPU=C2D2.4G, MEM=8G, Video=nVidia320M, 1000BASE-T, OS=Windows7SP1
- remoteFXには、親サーバ自体につなぐわけではないのにリモートデスクトップサービスの役割とRemoteFXなどの3つの役割サービスが必要です
- 役割インストールをするとHyper-VでremoteFX 3D ビデオアダプタがインストールできるようになりますが、
親サーバに対応ビデオカードを刺してない状態だと仮想マシン起動時に怒られます
- 刺してるだけでもだめで、BIOSで主要ビデオカードになってないとだめです。
- クライアントPCから32bitカラー、LAN接続でリモートデスクトップするとremoteFXで接続されますが、
スタートメニューのクリックなど広い範囲の書き換えだとクリックしてから0.3秒程度またされます。
- 仮想マシン起動状態で親サーバが直接落とせません(Hyper-Vのシャットダウンで刺さる)
- WAN設定つまりremoteFXにしないでRDPした中でDirectXなアプリを起動すると仮想マシンごと落ちたりします
- A列車9 viewerでは、水面・影表示ありだと6.1fps前後、なしだと9.6fps前後、クライアントのCPU消費は20~25%程度、サーバCPU消費は1コアのみ40~60%。
といった感じでまだまだ、というかたぶん永遠に実用にならない気がします。
remote FX w/Server2012
親をServer2012、仮想および子をWindows8にて同様の試験をしてみました。
- サーバ同じ、クライアントはCPU=E8400, MEM=8G, Video=GeFoce9300, 1000BASE-T, OS=Windows8Ent
- 2008R2のときと同様、リモートデスクトップの役割で仮想化ホストを選ぶとremote FXが使えます。
- BIOSで主要ビデオカードになってなくても可。このあたりremoteFXというよりquadroのドライバの改善でしょうね。
- 2008R2のときはremoteFX構成すると親の接続が使えませんでしたが、外からremoteFXでつないでない限りは通常通り使えます。
- クリックしてからの更新速度がかなり改善しました。1000BASE-Tでつないでいる場合はほぼストレスないと思われます。若干不安定ですが。
- が、A列車は水面・影表示ありだと2.1fps、なしでも3.6fps前後しか出ませんでした。
また、DirectX画面内をクリックするともたついたりスカったりします。
- あくまで推測ですが、
2008R2の場合は画面全体を常にGPUで描画、差分を圧縮して転送(そのため、仮想マシンが起動すると親からは接続不可)というような感じでしたが、
2012ではDirectX画面のみGPUで描画転送、その他の部分は今までのRDPで転送、っぽい動きをしています。MCXかよっ。
- シンクライアントでもそこそこCAD動かすため、応答を優先して描画をあとまわしにしたんでしょうね。ゲーム向きではないです。
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でしょうか。
- bridgeは1のみ指定可能。bridge=仮想スイッチ、ですな。
- no ipv6 multicast-routeとか打ち込むとbridgeがなくなることがある。
先にbridge 1 protocolとかvlan databaseとか作っておくと飛びにくいような。
- 10BASE-Tでリンクアップしない?
- show envでのCPUは99.3%とか100%とかunknownしか出ない。
- 細かな点はもろもろあるけど、単なるvlan switchとしてはXFP含め使えるかも。
性能測定
ge1とge2をvlan2、ge3とge4をvlan3に設定して、ge2とge3をLANケーブルでつなげば、
ge1とge4で通信するとスイッチ内を2回通る、みたいなことをして(設定)
スイッチ内11回通過させて1000BASE-Tで試験。
測定はnetpipe-tcpだけど、直結でも520MbpsしかでないへたれPC達なのであまり測定効果はないですな。
ppsが多くなる領域で時々測定値が落ち込んでます。ただ、劇的にサチったりしてないのでそこそこ使えるかな、という印象です。
さすがXFPを持つだけのことはあります。