静かなホームサーバーを立ち上げる

2002-11-29
2003-2-22 改訂
2003-6-14, 2003-7-30 ちょっと追加

どうしてホームサーバーなの?

初めにお断りしておきますが、ここで言っているホームサーバーは、 家庭で家族が共有して使う使うインターネットのWebサーバー、ファイルサーバー のことで、ビデオをハードディスクに録画しようと言うものではありません。 それから、OSは、Linuxです。

きっかけは、日頃頼りにしているプロバイダ(plala)のホームページ容量が限界に達したことです。 plalaは、基本料金が安いので、1996年来便利に利用していますが、 ホームページが超過した場合は、5MBあたり500円、1年で6000円かかります。 実際は、数十MBでもまだ足りませんし、 ホームページは、何年も継続的に運用するものですから、 このコストは障害です。 プロバイダを利用した場合とホームサーバを立ち上げた場合とのコストや利便性を比較してみました。

plalaなどISP利用
ホームサーバ
容量制限
5MBまで。拡張可能だが、コストから数十MBが限界
ディスクの許す限り制限無し。
運用コスト
月々数百円から2000円くらいまで。 年間、1-3万円くらい。livedoor, geocities, hotmailのように 何から何まで無料のプロバイダもありますね。 (広告がついてうるさいのと、込んでいて反応が悪いようです。)
初期コストは、パソコン一台だけ。 メールなどの信頼性と継続性を考えると、商用プロバイダの契約(年間1万円くらい)は切れない。 メンテは楽しみにやるから良いとしても(ここがプロバイダと差が出るところ)、 電気代は無視できない。 100Wで365日運用すると年間860KWhで、2万円ほどになる。 プロバイダは、1台のサーバーで何千、何万のユーザーのホームページ サービスをするでしょうから、資源の点から考えても電気はプロバイダが有利。
信頼性
高い。しかし、こっちの知らないときに止まることがある。
低い。とても低い。 しかし、止めるも走らすもオウナーの勝手。 UPSを入れた方がいいだろうが、止まったっていいじゃないか。 (見に来てくれた人、ごめんなさい)。 夏場は、エアコンを入れると契約電力をオーバーしてブレーカーが落ちることが ある。
CGI等のプログラミング
できることは限られているが、 カウンターや掲示版など、普通に使うものはたいていそろっている。 だけど、カウンターはお一人様2個まで、なんていうけちなプロバイダもある。
何でもできるが、とりあえずは何もできない。 だけど、FastCGIを使ってレスポンスをあげるような工夫もできる。
セキュリティ
高い。自宅のマシンがアタックされることはないだろうと思っているが、ウィルスが入ってくるのは同じ。
webサーバーを走らせていると、 セキュリティホールを突く攻撃が数時間起きに起こっているのがわかります。 DSLルーターには、ファイアウォール機能がありますし、 Linuxにもアクセス制限をかける方法がいろいろありますが、 設定をきちんとやるのはなかなか神経を使います。
輻輳
他のユーザーとの兼ね合いでとばっちりをこうむるかもしれません。しかし、元来太 く作ってあるので多少のことでは動じない。
込みあうとしたら、自分のホームページが繁盛しているから。ADSLの A(asymmetry)の文字が恨めしい。ADSLは、どんどん速くなっていますが、ダウンロードが速くなるだけで、情報発信は1Mbps程度が限。光にすればよいのですが、コストが倍になる。
ファイルサービス
普通はとても困難。home page書き替えにいちいち ftpをするのもうっとおしい。 このごろは、モバイルなユーザーの味方になってくれるようなファイル共有サービスを してくれるプロバイダもあります。ただ、なんとなくセキュリティに不安は残る。
Samba, NFSなどを設定可能。appletalkもありますね。 以前のsambaは、Windowsからファイルを置くとファイル名が化けたり、 Linuxの上でファイル名を読めないなどの問題がありましたが、今はちゃーんと 動きます。素晴らしい。 しかし、LinuxのNFS自体が未だに信頼できません。 大きなファイルのコピーができないことがあります。
ドメイン名
なし。プロバイダのドメインの中にディレクトリをもらうことになる。
ダイナミックDNSを使うと、一風変わったドメイン名のサブドメインが 使える。 私は、家サーバーを使っています。 とても簡単で便利で、無料です。すばらしい。
その他、特に騒音
騒音はないが、プロバイダからは、しばしば騒音メールが来る。
ファンとディスクが音を出し続ける。パワーセーブと同時に騒音低減がポ イント。

独自のドメイン名を取ってCGIを使っていろんなことができるし容量の制限もないが、 信頼性には難あり、電気代などのコストもかかる、ということです。 その上、騒音は、家庭では厄介な問題です。 以下、騒音克服の物語です。

騒音を決めるのはCPUの消費電力

ホームには数台のコンピュータがありますが、今まで電気代や騒音はそれほど気にしませんでした。気になれば切ればいいからです。サーバーではそうはいきま せん。電気の消費量と騒音は関係があります。電力消費は、全て熱になり、冷却のためにファンを回し、騒音源になるからです。

コンピュータの中で大きな電力を消費するのは、昔(1980年代まで)はメモリでした。 特にSRAM の電力消費が大きかった。容量を得るために多数のメモリチップを並べる必要があり、 そのメモリチップがシステムの中で最も多数のトランジスタを集積していたからです。 それが、Pentium以来、電気食いの主役はCPUということになりました。 256MBのメモリは、1bitのメモリが1個のトランジスタと1個のキャパシタで構成され、全部で約10億個のトランジスタになります。Pentium-4のトランジスタは、1億個くらい。 しかし、動作周波数が違うのと、アクティブになるトランジスタの比率の違いから、CPUの方が圧倒的に大きな電力を消費します。

主なCPUの消費電力 PC雑記帳「CPUの消費電力」など には歴代のプロセッサの消費電力が列記されています。 1992年当時、初めて登場したPentiumは熱くて目玉焼きが焼けそうだ言われていました。 それでも、せいぜい4Wくらいのことだったのですね。 そのころからCPUにヒートシンクを付けるようになりました。 ヒートシンク付のLSIを最初に知ったのは、1975年ころ、富士通のMシリーズのメインフレーム機用 のECLのチップでした。 煙突状のタワーにかっこいいフィンが付いていました。 Pentiumのヒートシンクは、電力トランジスタ用のものを流用しているようでかっこ悪かった。

1996年、Pentium-Proは、それまで別チップだったキャッシュメモリを同じパッケージに入れたので 大きく豪華で、30Wに達しました。30Wというと中型のハンダゴテくらいですから、 ほっておくと融けてしまいます。 ヒートシンクにはファンが必要になりました。1998年ごろのK6-II などは性能に比較すると低消費電力で、2002年に入ってからもSun Microsystemsは、K6-IIを使ったSOHO用サーバーを出しました。

従来は、半導体のスケールを縮小すればそれに応じて消費電力が下がってくれたのですが、最近はリーク電流が多いのでこの法則が成り立たなくなってい ます。Pentium-4やAthlon-XPでは、60-80Wに達してしまいました。面積あたりの発熱量では、料理用のホットプレートを越えて、原子炉に迫っていると言います。

いにしえの名機、Pentium-Pro/166MHzによる構成

我が家には、6502、Z-80、68040、Pentium-Pro 150MHz, Cyrix PR166, Cylix M-II/300 (225MHz), AMD K6-II 500MHz, AMD Athlon Thunderbird 700MHz, AMD Athlon XP 1800++ などのプロセッサがあります。思い起こしてみるとだんだんと重厚なヒートシンクを付けるようになって来ました。

これらの中で、68040以前は問題外。使えそうなCPUで、発熱が一番少なそうなのはK6-II なのですが、マザーボードに不安があるのと、実際のところK6-2もそんなに涼しくはないので、Pentium-Pro 150MHzをサーバーにすることにしました。実は、166MHzにクロックを上げていますが、安定しています。買ったばかりの1997年頃は、速いなーと思いましたが、今は誰も見向きもしません。30GBのハードディスクにLinuxを インストールして試験運用を始めました。

電力消費は結構少ないと信じたとして、騒音はどうでしょうか?電源ファンとCPUクーラーの二つのファンがあります。Pentium-Proですから、当 然マザーボードはATで、電源もファンのスピードをコントロールするようなハイカラ(死語?)な機能はありません。それで、ファンの電源に直列に抵抗を入れてファン のスピードを落すことにしました。電源には30オーム、cpuファンには50オームを入れました。これで、ファンの消費電力は半分くらいになります。結果、かなり静かになったのですが、その部屋で眠れるほどではありません(Minoru君が被害に会いました)。では、ファンを完全に止めるとどうなるか? 少なくともCPUは、かなりの高温に達し、1時間ほどで動かなくなります。風の力は相当なものだと申せましょう。

※このPentium-Pro機は、2003年5月についにゴミとして処分されました。

VIA EPIA 533での再構築

2週間程、Pentium-Proサーバーを維持しましたが、どうしても夜はうるさくて止めることになります。電気代も、おそらく100Wくらい食っていると思います。 2002年11月、VIA EPIA533MHzをサーバーにすることにしました。VIA Technology社製です。

買い求めたのは、EPIA E533(マザーボード+CPU), ケース(Procase II) と薄型のCDROMドライブです。いずれもComsatellite III で購入しました。EPIA E533 は、11,800円、Procase-IIが9980円、薄いCDROMが5480円でした。(2002/11/16)。EPIAには、 100BaseT、ビデオチップ、オーディオチップが搭載されているので、これら以外に必要なのは、メモリ、ハードディスクです。フロッピーをつけるとし たらUSBになりますが、なしですませます。

Procase-IIには、小さなファンが二個ついています。 Linuxをインストールするときは、ケース(蓋)をはずしていたので、CPUも熱くならず、 2時間程でインストールが終りました。 その後、蓋を締めましたが、ファンは決線せず、回さないことにしました。 その状態で2、3時間使ってみると、ケースの外から触っても温かい状態。 ケースを開けてCPUに触ってみると触れないくらいの発熱です。チップセットも熱い。 それで、ファンをつけたり外したり、ケースの蓋を開けっぱなしにしたり して、数日のあいだ試してみました。 達した結論は、冬の間は大丈夫でも、夏になればファンは必須にきまっとるというもの。 しかし、それでは安眠妨害のうえ、電力消費(CO2生産)が悪い。

それで、二つの改造をしました。 一つは、ハードディスクを3.5inchから2.5インチに載せ変えること。 もう一つは、電源ファンがCPUにじかに吹き付けるようにすることで効率を上げ、 回転数を下げる、と言うものです。 ディスクは、流体軸受けタイプにし、スポンジを挟んでケースにテープで留めました。 ファンは、写真に示すように、CPUのすぐ上のケース(蓋)にDremellで穴を開けました。 実際にファンを回してみると、強力で冷えすぎるくらいなので、 60オームの抵抗を直列に入れて回転数を下げました。それでも十分に冷えます。 ずっと実験を続けていると、ケースに触るだけで冷え具合がわかるようになります。


オリジナルのファンは、最後の写真に示すように、外気と交換すると言うよりは、 ケースの中で空気を撹拌するような位置関係の場所に取り付けられています。 今回の措置で、熱交換効率はかなりよくなったので、 この撹拌用(?)ファンは止めることにしました。

このProcase-IIというのは、電源を外出しにして電源ファンを取り去っていることが特徴です。 外部電源は、100V ACから12VDCへの変換をします。ケースの中の電源は、12Vから5V, 3V, -12Vなどを作り出します。 一番大電流が流れるのは3.3Vなので、 12Vだけ外出ししてどのくらい意味があるのかわかりませんが、 通常のノートPCと似た作りだから大丈夫なのでしょう。 外部電源は、手で持つとほんのり暖かい程度です。 ノートPCと比べると明らかに大きすぎる作りです。 50W程度ですから、この半分の大きさにはなるでしょう。

パフォーマンスは?

ファンレスマザーボードEPIA-E533活用記に書かれているように、、 カーネルのバージョンが古いと、IDEへのアクセスがPIOになってしまい、 ディスクのI/Oが、2-3MB/secに落ちてしまいます。 実際、2.4.13では、hdparm -d 1 はきかず、 hdparm -t /dev/hd* の結果は、2-3MBでした。 2.4.19にしたところ、DMAが有効になりました。 2.4.18でも大丈夫です。 CPUとディスクのhdbenchの結果を表にしておきます。

processor
float
int
mem
disk read
disk write
Eden 533MHz 2.5"HD
12615
35930
6620
13189
9882
Eden 533MHz 3.5"HD



29000
17000
Pentium Pro 166MHz 3.5" 19435
21708
7506
14800
10000
Athlon TB 700MHz 3.5" 55868
69878
24542
36000
25000

プロセッサの性能としては、浮動小数点が特に低く、100MHzのPentium程度でしょうか。整数演算も300MHz相当、メモリはすごく低い。 Xwindowを走らせていると、動きが遅くていらいらしますが、Pentium-Proよりはましだと思うので、これらの値はかなり実感に近いです。 サーバー用としては問題ないでしょう。

ディスクアクセスは、2.5インチでは10MB/sくらい、3.5インチでは2-30MB/sくらいです。これはハードディスクそのものの性能差でしょう。2.5インチで使うと、Pentium-Pro/166MHzとほとんど同じ性能です。1997年頃、Pentium-Proを本格的に使っていた頃は、1-3GBくらいのディスクで、2-5MB/s位の性能だったと思います。10MB/sあれば、100Mbpsのネットワークで使う分には、ちょうどよいでしょう。

総合的には、2-300MHzのPentiumに相当というところでしょうか。2-300MHzのPentiumは、1996-7年ころに15-20Wの 電力消費でしたから、それが5-6年たって5Wになったということです。当時と比較して何が進歩したかと言えば、マザーボードにビデオやネットワークが組 み込みになったこと、メモリやディスクが10倍くらいになり、値段も下がったこと、何よりLinuxやオープンソース系が充実して来たことで、EPIAに 限って言えばCPUはたいした進歩ではないですね。

ここに、/proc/cpuinfo の情報を掲載しておきます。 また、dhrystonの値は、567,645でした。Athlon-1800+ でのdhrystonは、2,400,000ほどあります。整数演算では、500MHzというのは妥当に思えます。ちなみに、Athlon1800+で、cygwinでエミュレートするとdhrystonは、400,000ほどで、EPIAの勝利ということになりました。
processor 0
vendor_id CentaurHauls
cpu family 6
model 7
model name VIA Samuel 2
stepping 3
cpu MHz 533.365
cache size 64 KB
fdiv_bug no
hlt_bug no
f00f_bug no
coma_bug no
fpu yes
fpu_exception yes
cpuid level 1
wp yes
flags fpu de tsc msr cx8 mtrr pge mmx 3dnow
bogomips 1064.96

電気代は?

クランプメータで電流を計測してみましょう。外部の電源パックが、AC100VをDC12Vにしてコンピュータに送り込んでくる電流が、1.3-1.8Aくらいです。つまり、コンピュータが消費している電力は、15-22Wということです。ACからの変換の効率を70%くらいだと思うと、100V電源では20-30Wを消費していることになります。電気代にすると年間5000円くらい、月々400円くらいではない だろうか。これくらいなら安心できます。負荷の小さいときはクロックを下げてさらに節電するような技術が欲しいところです。

ところで、本来のサーバーの仕事の他に、このマシンは、 プログラミングや簡単なオフィス作業にも使っています。 Windows-XPのマシンをよっこらしょ、と立ち上げる代わりに、 最近はたいていのことはサーバーを使ってやるようになってしまいました。 今や、Windowsを立ち上げるのはいかにも大仕事。 立ち上がったあともうるさいし、電気代も気になる、夏には部屋が熱くなるような気もする。 そういうところで節約できるので、月400円も丸損ではないでしょう。 web browsingはもちろん、メールもオフィスもデジカメもフォトレタッチ もLinuxでOK。 今、どうしてもWindowsを立ち上げないといけないのは、 ムービー関係、ファイルメーカ、印刷。

騒音レベル

妻は、夜寝るとき、ちょっと気になると言います。私も、はじめは、静かだな、と悦に入っていましたが、毎晩続くと、実はちょっとうるさいのではないかと思 うようになりました。騒音計を借りて来て計ってみると、サーバーの直上50cmくらいのところで、34dBくらいです。静寂とはいいがたい。それで、ファ ンの電源に100オームの抵抗を入れてみました(200オームにするとファンが止まってしまいます。)それから、ディスクをスポンジでくるんでみました。 また、ファンとケースの間にテープをはさみました。
これで、5dB程度低減され、28dBになりました。暖房が入っているときは全く聞こえません。夜寝るとき、耳をすますとファンの音がします。ディスクア クセスの音も聞こえます。けれども、近くを車が通ったり、風が木を揺らせば聞こえなくなるくらいの音です。



結論

静かで低消費電力のサーバーを立ち上げることができました。 プロバイダのホームページでは容量制限がきつくて窮屈だったのですが、 写真や動画など、容量を気にすること無く公開できます。 ファイル共有も便利で、ftpを使わずともファイルの更新ができるので、 ホームページ管理が簡単になります。 それから、クライアントマシンとして使うときも、 起動時間無しでインタネットにアクセスでき、 ちょっとしたタイミングでメールのチェックなどできるのは便利です。 メールサービスも入れると、好きなだけアドレスや メーリングリストが作れる。 デジカメのメモリを吸い上げるのもいつでも簡単。 要するに、これまで、パソコンを使わなければならないのだが 立ち上げるのに2,3分かかるからまた後で、と思っていたことが すぐできるわけです。 ビデオカメラを使えるようにしたいところ。

静かにするには、とにかくファンの数を減らし、回転数を下げること。 ファンレスで動くのが一番良い。 それがむずかしいときは、ケースの中で空気をかき混ぜる形でなく、 外気を直接ホットな部品に当てるのが効果的。 オーディオアンプのように放熱器だけをケースの外に出せれば EPIAのような低ワットのCPUならば自然対流で十分冷えるでしょう。

しかし、VIA/EPIAの処理能力は、500MHzという数値からは期待外れです。 整数は200-300MHzのPentium並、浮動小数点の能力は100MHz程度でしょう。 つまり、CPUの処理能力は、5年前からあまり進歩していないということです。

半導体製造のプロセスが当時の0.35μm-0.25μmから、0.15-0.13μmに進化したので、パワー対パフォーマンス比は2,3倍になっています。今後、0.09-0.07μmに縮小されたときも同じ比率で消費電力が縮小するかどうかに関しては、ゲート長が短くなりすぎて一つのゲートだけでは漏れ電流を抑えられなくなりつつあり、否定的な観測が多いようです。20年くらい前に電総研(現在、産総研)で開発されたダブルゲート(XMOS)技術が鍵を握ると言われています。

マザーボードは、USBが使えるようになったという利点もありますが、 Linuxでサーバーをするにはたいした効能ではありませんね。 EPIAを新たに買う必要はなく、旧型のパソコンを復活させ、ファンに手を入れる、あるいは、古いノートパソコンのディスクを大きくしてサーバーにする方が経済的ではないかと思います。