自宅用省電力サーバ (fit-PC2) を構築する

24時間稼働サーバの置き換え

私の家には以前より 24時間稼働のサーバがあります。 これが ThinkPad 535 (120MHz Pentium、40MB メモリー) という骨董品のようなノートパソコンに、これまた古い Vine Linux 3.2 を入れたものです。 それでも 1日に 1回ブログアクセスのデータを Google Analytics から取得して FC2 ブログにアップロードしたりするような処理には十分でした。

とは言っても、スペックがスペックなので、例えば cpan コマンドを使って Perl のモジュールをインストールしようにも笑えるほど時間がかかっていました。 更に最近ではディスクの音がやばそうな感じですし、購入時期を考えると本体もいつ壊れてもおかしくないように思います。

というわけで新規サーバを導入することにしたのですが、ハードウェアには fit-PC2 を選びました。 小さくて低消費電力というのが選択理由です。 fit-PC2 には Intel Atom という組み込みシステム用途の CPU が搭載されていて、メモリも 1GB と今となっては少なめですが、それでも ThinkPad 535 に比べたら桁違いのパフォーマンス向上になるはずです。

fit-PC2 を作っているのは CompuLab というイスラエルのメーカーです。 ホームページで直販していて、国内代理店を通すよりも割安です。 実際にメーカー直販を利用している事例を見つけることもできます。 ただし、私の場合はリードタイム (「4 weeks」だった) や配送日数、トラブル時の対応等もろもろを考えて秋葉原の東映テクノハウス (店舗) で買って来てしまいました。 購入価格は 44,800円です。 ちなみに米アマゾンでも売っていますが、日本への発送はできません。

組み立て

私が購入したのは fit-PC2 Diskless (Intel Atom 1.6GHz, 1GB RAM, WiFi) です。 ハードディスクは別途厚さ 9.5mm のものを購入する必要があります。 こちらは WesternDigital WD7500BPVT という 5,400 RPM のものを選びました。 価格 (6,770円也) もありますが、7,200 RPM よりも 5,400 RPM の方が発熱量は少ないだろうという判断です。

ハードディスクのとりつけ自体は、外付けハードディスクボックスにディスクを組み入れるようなイメージで簡単です。 最初についているスペーサーは取り外した後は使わないので、適当な工具がなければラジオペンチで挟んで回してしまって良いと思います。

なお、パッケージには HDMI -> DVI 変換ケーブルが付属しているので、すぐに DVI 対応モニターを使用できます。 別途 HDMI ケーブルを購入すれば、そのまま TV に表示することも可能です (音声は別接続が必要)。

Linux インストール

最近では Ubuntu が最初の選択肢となるようですが、私は Fedora 14 を選びました。 インストールは起動可能な USB メモリを作成して行います。 これにはインストール用 ISO イメージといわゆる USB Creator が必要です。 USB Creator は複数の種類が存在し、 LinuxLive USB Creator のように複数のディストリビューションに対応しているものもありますが、私は Windows版の Fedora Live USB creator を使用しました。

使用方法は簡単でダウンロードしたインストール用 ISO イメージファイルと書き出し先 USB メモリドライブを指定してから「Create Live USB」ボタンを押すだけです。 「Persistent Storage」とはファイル/ディレクトリの変更を保管しておく場所ですが、今回はインストールのためのものなので 0MB のままで良いでしょう。

作成した USB メモリを挿して fit-PC2 を起動します。 BIOS 設定画面の呼び出しは F2 ボタンですが、初期設定のままでもハードディスクより USB メモリが優先されて起動しました。 起動に成功すると X が起動し GUI 画面が表示されますが、「Install to Hard Drive」というショートカットが存在するので、これを選択するとインストールが開始されます。

Fedora のインストールの詳細は省略しますが、簡単にできました。

サーバとしての設定

以下もろもろの設定メモです。 sudo でなく su を使って作業していますので、ご了承ください。 最近の流儀を知らないので、個々の設定はもっとスマートなやり方があるかも知れません。

sshd の有効化

以下のコマンドを打って sshd が自動起動するようにしました。

# chkconfig --level 345 sshd on

更に /etc/sysconfig/iptables に以下の行を足しています。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

別のルールで state が ESTABLISH のものは ACCEPT されているので、ここでは NEW のみに限定しています。 system-config-firewall を使った GUI からの設定も試みたのですが、よくわからなかった (ssh が許可されているように見えるけどそうなっていなかった) のでファイルを直接編集してしまいました。

ハードディスクの APM 無効化

インストール直後の状態では 1分に 1回程度の頻度でハードディスクから「パチン」というような音が出て、S.M.A.R.T. 193番 (C1) の Load/Unload Cycle Count が増えていました。 100万回程度まで増えても大丈夫ではあるようですが、100万分≒約 2年なので、このまま増え続けるとよろしくありません。また、音も気になります。

これを避けるために以下のコマンドを /etc/rc.d/rc.local に追加しました。

hdparm -B 255 /dev/sda
X 無効化

/etc/inittab を以下のように編集して X サーバが自動起動しないようにしました。

id:3:initdefault:

今後に向けて&おまけ

ネットワーク関連ですが、Ethernet インターフェイスの方は何もせずに利用できています。 使われているのは r8169 ドライバです。 Wireless の方は「RaLink RT3090 Wireless 802.11n 1T/1R PCIe」というモジュールなのですが、まだ使えるようになっていません。 メーカーからドライバのソースコードが提供されていますが、こちらは時間がかかりそうです。 USB ポートを使用して Linux で動作実績の多い USB 用無線アダプタを購入した方が早いかも知れません。

また、筺体上部は結構熱くなります。 海外では専用ヒートシンクが売られていますが、国内には入ってきていなそうです。 適当なヒートシンクを探してみようと思います。

Linux については浦島太郎状態なのですが、以下以前と変わっていて驚いた・感心したことを挙げておきます。 やはりたまにはシステム更新をしなければダメですね。

  • ファイアーウォール (iptables) がデフォルトで有効になっている。
  • 「Command not found」だと自動的にパッケージを探しに行く。(そのうち無効化することになるでしょう)
  • Web で紹介される root 権限での作業実行例がみんな sudo を使っている。
  • デフォルトでは、もう telnet はクライアントすらインストールされない。
  • Fedora のバージョンが 2桁になって「Core」が付かなくなっている。

2011. 2.13 追記
Wake on LAN も使えたはずだ、…と思ったらそれは fit-PC2i のみの機能でした。 機能はこちらのページでよくチェックしましょう。 まあ、いずれ電源はつけっぱなしにするので良いのですけど。