静かなホームサーバー 

(その11: Raspberry Piをサーバーに使う)

2013-10 新規導入

2014-Dec 増補

Raspberry Pi

Raspberry Piとは、お菓子のような名前だが、名刺サイズのLinuxコンピュータである。

電源は、μUSBから供給し、最大5V700mA=3.5Wという省エネ型(USBの規格を越えているじゃないか!)、当然ファンレスで、回転するものが一切ないから、大変に静か。キーボード、マウス、モニタをつなげば、完全なLinuxマシンになる。Linuxは、wheezyというDebian版が付いてくる。簡単なベンチマークでは、Pentium-2と同程度である。基板がむき出しで、一応、別売のプラケースがあるが、おもちゃのような外観。

最大の売りは、$35という驚異的な低価格ではあるまいか。Linuxがフルに動くのに、4,000円足らずとは驚きだ。16GBのSDメモリを付けたとすると、6000円で十分と言うことになる。ケースが1000円近くしたり、USB電源が800円、名刺サイズの空っぽの拡張ボードが2230円とかいうのが恨めしい。

Wheezy Linux

OSの導入は、適当なPCでraspberry pi のWebサイトから、Wheezy とかのディスクイメージをダウンロードして、SDメモリに書き込む。wheezy とは、喘息などでゼイゼイ言うことらしいが、なぜLinux? Wheezy以外にも、何種類かのパッケージが用意されている。サーバー専用にするならXウィンドウはいらないだろう、というようなことではないかと思う。Wheezyは、Webブラウズはもちろんできるし、gccで一応の開発もできる。フルセットのLinux。

μUSBの電源端子、USBにマウスとキーボード、RJ45イーサネット、HDMIでディスプレイをつなぐと、いっちょまえのPCになる。raspi-configでXを走らせる設定にすると、1920x1080の解像度のデスクトップが表示される。Webブラウザも走るが、さすがに遅い。LX-Terminalでプログラムする。

サーバー

CPUがi386ではなく、ARMなので、ARM用のバイナリを入手しなければならないが、debianには、ほとんどがそろっているようだ。apt-get で何でもインストールできる。Xwindowも動く。次のようなものを入れた。

ファイルサーバーは、別に設けているので、Raspberry PIが大容量のディスクをサービスする必要はない。Webのコンテンツを入れておくための10-20GBくらいあればよい。大きめのSDメモリを使えば十分である。64GBくらいまでは楽勝だろう。

Emailサービスは、SPAMが来るばっかりなので、もうやめた。DNSも不要。データベースは、たいした使い道がないわりにメンテがめんどう。blogには、Wilikiを使用。要するに、Webサービスと、以下の温度計測と赤外線リモコン用なのだ。

温度計測

Raspberry piは、サーバー用と言うよりは、電子工作用である。デジタルIOと、SPI (serial periferal interface)、I2Cで、モータや照明やカメラを制御できる。Linux上で、apache2を走らせて、Webインタフェースでリモートから制御することができる。IOポートは、たくさんではないし、むき出しで、半田ごてを振り回して工作する必要があるが、それが楽しい。普通は、GPIOのデジタル(パラレル)IOで何かをオン/オフさせるのだろうが、私にとって一番ありがたいのは、SPIで多チャンネルのADC(AD変換)チップにつなげられることだ。これで温度計測を再開できるはず。

赤外線リモコン

屋根裏部屋のエアコンを付けたり消したりするのに、OP-PC-RS1というプログラマブル赤外線リモコンを使っている。残念ながら、この製品は、2013年に販売終了になってしまった。この製品は、2006年発売のようだが、赤外線LEDの出力が弱いので、受光部にずいぶん近づけなければならないことと、コードメモリが小さいので、複雑な機能を制御する機器では使えないことが欠点であった。

電源トラブル

サーバーを立ち上げて数ヶ月後、様子がおかしいのに気がついた。温度計測が止まったのは、なぜかファイルのパーミションが変わったからのようだ。なぜパーミッションが書き換わる? 侵入されたのだろうか? と思っていたら、ファイルがごそごそと壊れていく。シャットダウンして、再起動しようとすると、fsckで止まってしまう。ファイルシステムが大幅に壊れているようだ。

バックアップしてあったSDメモリイメージを再ロードして復旧。しかし、赤外線リモコンサーバで同じようなことが起こる。先輩から、Raspberry Piは、電源が不安定だと聞かされた。Webで検索すると、確かに、電源が弱いというか、十分な電力を供給せよと言うようなことが書かれている。さらにさらに、Raspberry Piの新型が発表されたが、回路上は、電源を強化したとなっている。要するに、現行(古い)Raspberry Piの電源には、何か問題があったのだ。電解コンデンサを220μFの倍くらいにすると良いという記事もある。

Piの基板は、2-3枚あるので、SDメモリを作り直した後、それぞれで起動してみると、途中でエラーになる基板がある。いろいろ疑って取り替えてみると、USB供給の電源が、最低でも1A以上の容量がないと不具合が出るとわかった。USBの定格は、0.5Aなのだが、電源として使うときは、1Aくらい引く物もあるということだろう。タブレットPCも充電しながら使ったりするとかなり消費するが、充電は、一瞬電圧が下がってもOKだが、コンピュータの電源は、瞬停でも災害を起こす。。Piもそうだが、USBコネクタがμ型だと、ピンが細いから、1Aも流すと電圧降下もあるだろう。

何にせよ、Piをサーバーに使うときは、電源に注意、十分余裕のある電源を用意した方が良い。これは、2ポートで2A取れるから大丈夫。 これは、88円と安いがやっぱりだめだった。 USBの電圧と電流を計測してLED表示する電源チェッカが500円ほどであるから、確認しておくと良い。我が家のサーバーは、平均0.45A位である。動的にどうなっているかは、オシロスコープでないと計れない。それから、コネクタの抜き差しでスイッチするのは耐久性を落としそうだから、こんなUSBの中間スイッチを使うといいかも。

それから、SDメモリのバックアップを取っておくこと。ddで丸ごとコピーしておけば簡単だろう。

新型Raspberry Pi

2014年7月に、Raspberry Pi B+ が発表された。USBが、4ポートに増強されたのと、SDメモリがμ版に小型化された。電源回路が、シリーズレギュレータから、スイッチングに変わったようだ。キーボード、マウス、ネットワークをつないだ状態で電流を計ると、0.22-0.28A で、かなり消費電力が下がったようだ。


toshihiro matsui