激安、最強の1Uサーバを構築するぜ! Dell R200の巻

DellのR200という1Uラックサーバは、最小構成で5万円というものです。(Celeron, 1G mem, 160G SATA HDD)
http://www1.jp.dell.com/content/products/productdetails.aspx/pedge_r200?c=jp&cs=jpbsd1&l=ja&s=bsd

写真は我が家の部屋。タワーサーバの前に、1Uサーバが置いてあります。この1Uを2台買いました。データセンターに設置するまではしばらくこんな感じw


1Uサーバなので、パーツ交換の情報とかGoogle検索しても出てこなかったので、ここに書いておきます。
今回は、ベースの5万円の構成+ECCメモリ8G+DVDドライブ+送料で8.6万円ぐらいでした。
ECCメモリじゃなくても、pqiというメーカのDDR2 PC2-6400 [PC800] CL5 240pin DIMMとか、エクサーであれば動作するらしいので(UMAXは駄目だったみたい)、DellECCメモリを増設せずにこれらのメモリを買えば、7万ぐらいでベース構成が収まると思います。
R200はホットスワップなど対応してないので、運用しながらディスク交換はできません(R300ならできるらしい)。


今回は、この構成で、CPUをXeon X3330に交換し、SATA HDD 7200rpmのハードディスクを2個にすることにしました。


Xeon x3330は2.6万ぐらい、HDDは1TのWesternDigitalのやつと、1TのSeagateのやつをチョイス。HDDのメーカをそろえないのは、同時に壊れたり、不具合が発生する可能性を下げるため。例えばちょっと前のseagate HDDが突然起動しなくなるというファームウェアの不具合にも耐えられます。

この構成で、HDDが1本1万ぐらいだったので、合計13万ぐらい。メモリをnon ECCにすれば11万円台でおさまります。
Dellの見積りでXeon x3330をつけた場合、プラス10万とか言われるので、上記の構成をDellでカスタマイズ注文すると、20万ぐらいかかります。


さて、ここからが本題。まずはCPUの交換です。
ふたを開けると、こんな状態です。

CPUに向けてファンが2個設置されてます。オレンジ色の大きなヒートシンクがCPUです。


この写真のように、ヒートシンクのネジをドライバーで緩めて、とりはずします。

グリスが付いているので、グリスクリーナとか、ヘラとかできれいにグリスを除去します。Celeron CPU側は使わないのでグリスはそのまま。


左のレバーを上げて、CPUを押さえている枠を上げます。

CPUをはずして、Xeonを置きます(CPUの向きに注意。三角の目印をあわせること)


最後にレバーを下げて枠を固定し、グリスを下記の写真のように盛ります。

この上からヒートシンクを左右にぐりぐりしながら押して、ドライバーでネジを締めて完成!!


HDDは、普通のタワー型のHDDのように交換できるので問題ないと思います。ジャンパーとかもSATAだと気にしなくていいしね。
今回はSeagateの500Gプラッター2枚の1T HDDと、WDの1TのCavir Blackという高速転送モデルをつけました。これにCentOS5.2を入れて、ソフトウェアRAIDミラーリング構成にして問題なく動いてます。hdparm -t /dev/md2とかやると、読み込みスピード110MB/secとか出てかなり速い!!


Xeon X3330は45nmのプロセッサで、FSB1333MHzなので、同じようなスペックのCore2Quad Q9000番台とか8000番台も動く気がします。だれか試したら教えてください。


CPU交換後は、BiosでCPUが認識されているか確認します。最後に、Linuxのlm_sensorsというツールでCPU温度を見て、温度が問題ないか確認します(CPU負荷が低い状態で20から30度ぐらい)
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/743hwmonitor.html
ここでの注意点は、yum install lm_sensorsで入れたやつはまともに動かなかったことです。下記サイトから最新のtarをダウンロードして(今だと3.1.0)、makeして入れる必要があります。
http://www.lm-sensors.org/wiki/Download
make前に、
yum install bison
yum install flex
をしてコンパイルするためのツールを準備しておきます。

それとXeon x3330はcoretempモジュールというのをカーネルモジュールで作ってlm_sensorsに利用させるのですが、カーネルのバージョンが2.6.22だとうまく動かず、2.6.26だとうまく動きました(modprobe coretempを実行する必要があるのですが、2.6.22の場合は、/lib/modules/2.6.22以下にcoretemp.koがあるにも関わらず、ファイルが見つからないといわれてしまう)。たぶんXeon X3330がない時代のカーネルだったので動かなかったと思います。



次に、CPU負荷をMaxにした状態でCPU温度が70度以下に落ち着くか確認します。
CPU負荷ツールは下記のものを利用させてもらいました。4コアあるので、ターミナルからこのツールを4つ同時に実行します(Screenを入れてるとターミナル切り替えが楽で便利です)
http://kenknown.blog42.fc2.com/blog-entry-63.html
これを数分実行してCPU温度を見ます。Xeon X3330は45nmの効果か、Max50度ぐらいで落ち着きました。


最後に、DellのCPUファンはCPU負荷100%にしても、回転数がそんなにあがりません。CPU温度が高くて不安な場合は、ファンの青いケーブルを切ればDellのファン回転数をmaxに固定できますw
下記の掲示板にいろいろ書いてあって面白いです。
http://www.jumperz.net/index.php?i=6&threadId=87391219280408959


こんな感じで、いろいろ自分でがんばると、10万ちょっとでスペックの良い1Uサーバを構築できます。一度パーツ交換で慣れておけば、パーツが壊れたときも簡単に交換できると思います。
自分で部品調達したり、交換したり、それなりに手間がかかるので、お金のある企業は、Dellでカスタマイズして買ったほうが良いと思うw