HP ProLiant MicroServerをベースにしたPT1/PT2サーバ機。
ハードウェア構成
外観・概略
- コンセプト
- PT2を内蔵(大前提)
- NAS機能を持つ(最低でも3.5"HDD×4発でRAID5)
- 家庭内LANのサーバ機能(DNS/NTP/DHCP/DLNAなど)を持つ
- 低消費電力・省スペース
- 可能であればOSはFreeBSD。無理なら他のBSD/Unix系OS。Linuxならぎりぎり妥協。
- 選択された構成
- HP ProLiant MicroServer
- 上記コンセプトのうち、PT2を内蔵という項目に難があるものの、実現可能と判断。
- HP ProLiant MicroServer
- TODO:
- 2枚挿しの動作安定
- USB接続LCD部作成
材料
- 機材関連
- HP ProLiant MicroServer (250GB/150Wモデル)
- DDR3 PC10600 2GB ×2枚 (CFD/Elixir/W3U1333Q-2G)
- Intel SSDSA2M040G2 (SSD/40GB/SATA)
- WesternDigital WD20EARS-00MVWB0 ×4台
- EARTHSOFT PT1 or PT2 ×2枚
- DIRAC DIR-EB262-C7 (PCIe→PCI変換ボード)
- SOLID #4144-WP ×2台 (ダブル分波器)
- SOLID #4102FS-AP (2分配器)
- NTT Com. SCR3310-NTTcom (カードリーダ)
- 部材関連
- HDMIケーブル(できればHEC対応) 40cm程度以上
- 1.27mmピッチ26Pフラットケーブルコネクタ(HIF6-26D-1.27R) ×2個
- 3C接栓 ×10個
- 1mmアルミ板 150mm×200mm程度
- 2mmスモークアクリル板 148mm×42mm
- 小型液晶モジュール(SG12232C) [option]
- 3φx10mmスペーサ ×6個
- 3φx5mm皿ネジ・3φx5mmビス・ナット・ワッシャなど適量
- 熱収縮チューブ・配線材・万能基板など
部材製作
- メインフレーム
主として1mm厚のアルミ板を切断・曲げ加工。基本骨格は、左サイド板・右サイド板・奥下渡し板・奥上渡し板の4枚のアルミ板。左サイド板には、PCIe→PCI変換基板(DIRAC DIR-EB262-C7)を取り付けるため、穴を開けて10mmスペーサで固定。奥上渡し板は、PCIブラケットの固定も兼ねるためやや変則的な形状(詳細省略)。
手前に液晶モジュールが見えるが、現状はただの飾りで配線すらしておらず。仕様としては、122×32ドットのモノクログラフィックスで、LEDバックライトつき。将来的にはUSBか何かで制御して、動作状況とかを表示できるようにしたい。
- 背面側処理
背面側は、2スロット分のPCIブラケットの幅が厳密には5インチベイの高さを超えるので、上方に少しはみ出し。ブラケット固定用のネジは通常のスロット装着時と同様にカード上側(5インチベイのフロント側から見て右側)から回すように作ったが、それだと5インチベイからユニットごと外さないとカードの抜き差しが出来なくなって面倒なことに、完成してから気付くorz。
PCIコネクタ付近に生えているアホ毛みたいなのは、12V供給用の線。
- 延長ケーブル
PCI expressの延長をする部分は、素のDIR-EB262-C7だと7cmのフラットケーブルだが、今回は約30cmの延長が必要。PCIe-PCIeの延長と組み合わせて複数段積みするなどの方法は考えられるが、そもそもフラットケーブルにPCIe信号を乗せる時点で、個人的には回避したいところ。さらに後述の理由もあり、添付のフラットケーブルを使うのは大却下。
よって、今回はケーブルを強引に自作。PCIeにはケーブル延長規格(PCI Express External Cabling)もあるようだが、今まで知らなかったくらいだし一般的ではないようなので、似たような既存規格ということでHDMIケーブルを生贄にする。ツイストペアが最低でも4対は入っているので、PCIe x1で必要な本数(3対)を一度に賄えて便利。それ以外の信号線も使って大体は賄えるが、12V電源ラインが通せなかったので、PCI変換基板側で別途供給することにする。
以下にコネクタのピン配列と、今回使ったケーブルでの色の割り振り例。(※)は、ケーブルでは配線せず、PCI変換基板側で12Vを別途供給。
対/線色 | 信号名 | # | # | 信号名 | 対/線色 |
---|---|---|---|---|---|
シールド | GND | 1 | 2 | GND | シールド |
(※) | +12V | 3 | 4 | +12V | (※) |
(※) | +12V | 5 | 6 | SMCLK | 黄/黄 |
黄/芯 | GND | 7 | 8 | SMDAT | 黄/白 |
橙/橙 | +3.3V | 9 | 10 | +3.3V | 青 |
橙/白 | +3.3V | 11 | 12 | GND | 橙/芯 |
赤 | 3.3Vaux | 13 | 14 | WAKE# | 紫 |
緑 | PERST# | 15 | 16 | GND | (NC) |
(NC) | GND | 17 | 18 | REFCLK+ | 緑/緑 |
緑/芯 | GND | 19 | 20 | REFCLK- | 緑/白 |
水/水 | PET+0 | 21 | 22 | GND | 水/芯 |
水/白 | PET-0 | 23 | 24 | PER+0 | 茶/茶 |
茶/芯 | GND | 25 | 26 | PER-0 | 茶/白 |
ちなみに元々のフラットケーブルだと、差動ラインの割り付けが目茶苦茶な気がするのだが、何かの見間違えだろうか。差動対のペア間にGNDが挟まっていて、隣の別の差動対との間に隔壁(GNDなど)が無いようにしか見えない…。
※後日注: 現行品のようなケーブルが0.635mmピッチの1段構成だと差動対の配置が変だが、1.27mmピッチの2段構成だと差動対がうまく配置されるように見える。設計時の想定はこちらだったのかも。
取り付け
- 事前配線
分波分配器は、ソリッド社#4144-WPを2個、5インチベイとHDDベイの間の隙間に設置。計ったかのように、ちょうど2個積み重ねて置けるだけの高さがあり。出力側のケーブルが長すぎるので、適当な長さに切断してF接栓を取り付け。入力側ケーブルは2本出てくることになるが、ここでは処理(分波)せず、2本とも50cmくらい(PCIeスロット部を通して背面まで引っ張れる長さ)のケーブルで手前側に引き出しておく。
出力側のケーブルを短くする際は、#4144-WPの出力の並びと、PT1/PT2の入力の並びが違うので注意。PTx側のS1/T1/S2/T2への接続を、#4144-WP側ではT1/S1/S2/T2の順に並べると、うまく接続できる感じ(S1の線だけT1を斜めにまたぐ配線になるので、他の3種より長めにする)。
ちなみに、奥に見えるのはブートドライブとして使用するSSD。ネジ止めもしないで背面ファンの上に放置(爆)。
- ユニット本体設置
5インチベイにPTx2ユニット部を設置してケーブルを接続してみたところ。フロントパネルが無骨だが、実際にはアクリル板でそれなりに処理(外観写真参照)。
PCI変換基板のPCIe延長ケーブルを接続するコネクタ部分のクリアランスが非常に狭いので、コネクタ接続時にはPTxカードを外す(か、非常に無理な斜め挿しをする)必要があり。PCIe延長ケーブルの反対端は、背面側の隙間を通してマザーのPCIeスロット付近に落とし、小基板を介してPCIeコネクタに挿す。
- アンテナ入力処理
適当なLowProfile PCIの穴あきブラケットに2分配器をアルミLアングルで固定したものを、PCIeスロット部に固定。今回使用したブラケットだと、PCIe延長ケーブルを引き出すための小基板とのクリアランスが微妙だったため、それぞれ別のスロットに固定。
- その他の仕上げ処理
- カードリーダーはUSB接続の上、ケース内に放置...
動作確認
- ドライバ導入
- 手順はcomputer/PTx参照。
- dmesg抜粋
FreeBSD 8.2-STABLE #7: Wed Mar 30 15:08:51 JST 2011 tosy@yua.wig.nu:/usr/obj/usr/src/sys/YUA amd64 Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: AMD Athlon(tm) II Neo N36L Dual-Core Processor (1297.85-MHz K8-class CPU) Origin = "AuthenticAMD" Id = 0x100f63 Family = 10 Model = 6 Stepping = 3 Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT> Features2=0x802009<SSE3,MON,CX16,POPCNT> AMD Features=0xee500800<SYSCALL,NX,MMX+,FFXSR,Page1GB,RDTSCP,LM,3DNow!+,3DNow!> AMD Features2=0x8377f<LAHF,CMP,SVM,ExtAPIC,CR8,ABM,SSE4A,Prefetch,OSVW,IBS,SKINIT,WDT,<b19>> TSC: P-state invariant real memory = 4294967296 (4096 MB) avail memory = 3981905920 (3797 MB) ACPI APIC Table: <HP ProLiant> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs pcib3: <PCI-PCI bridge> irq 16 at device 0.0 on pci2 pci3: <PCI bus> on pcib3 ptx0: <EARTHSOFT PT2> mem 0xfe8ff000-0xfe8fffff at device 4.0 on pci3 ptx1: <EARTHSOFT PT2> mem 0xfe8fe000-0xfe8fefff at device 5.0 on pci3 ad1: 38166MB <INTEL SSDSA2M040G2GC 2CV102HD> at ata0-slave UDMA133 SATA ad4: 1907729MB <WDC WD20EARS-00MVWB0 51.0AB51> at ata2-master UDMA100 SATA 3Gb/s ad6: 1907729MB <WDC WD20EARS-00MVWB0 51.0AB51> at ata3-master UDMA100 SATA 3Gb/s ad8: 1907729MB <WDC WD20EARS-00MVWB0 51.0AB51> at ata4-master UDMA100 SATA 3Gb/s ad10: 1907729MB <WDC WD20EARS-00MVWB0 51.0AB51> at ata5-master UDMA100 SATA 3Gb/s