はじめに
連載3回目の今回からは,実機を使った実際の設定手順を紹介します。さらには,OpenBlockS 600のパフォーマンスの測定を行い,使用感や性能をデモします。なお,OpenBlockS 600からは,サーバの構築ではWebインターフェースだけでもできるように機能強化していますが,本誌読者の方々には直接的なコマンド操作が適していそうですので,これを前提に解説をしていきます(実際の実行内容がわかりにくいGUIよりも,コマンド操作のほうがシックリきますよね)。ご紹介する内容は,標準OSであるSSD/Linuxの使用方法から,OpenBlockSシリーズの利用方法として例の多いルータ的な使い方,また同時にサーバとしても動作させるまでを予定しています。
OpenBlockSの勘所
OpenBlockSは小型Linuxサーバとして販売をしていますが,一般的なIAサーバとは異なる点も多くあります。初めて利用するユーザにとっては戸惑いを覚える方も多いようです。そこで,まずは最初にOpenBlockSに特有な点を解説しましょう。
SSD/Linuxとは
標準搭載しているOSは,ぷらっとホームがOpenBlockSシリーズ向けに開発/メンテナンスしているオリジナルディストリビューションSSD/Linuxです。ぷらっとホームの本社所在地が秋葉原の外神田なので,Sotokanda Software Distribuitionと名付けられています。頭文字を取ってSSD/Linuxなのですね。
設定方法の基本
勘の良い方は気づいたかもしれませんが,SSD/LinuxはBSDを意識した作りになっております。ネットワーク設定や各種デーモンの起動制御などは「/etc/rc.conf」ファイルで行います。また「/usr/src」以下でOSそのものを構築するしくみも持っています。オリジナルのファームウェア(次項で解説)を作成するための開発環境としても利用します。OSをファームウェア化して使用することを想定しているので,SSD/Linuxにもともと含まれるものは最小限の内容になっています。そこで環境ごとに必要なソフトウェアを追加して利用するしくみを採っています。
ストレージ不要の稼働
OpenBlockS 600からはCF(Compact Flash)スロットを標準添付していますが,従来モデルと同様にCFやSSD(Solid State Drive)などのストレージがなくても動作できます。どのようにしてこのしくみを実現しているのでしょうか。それは図1で示したハードウェア構成の中で,FlashROMが重要な役割を担っています。
FlashROMには,IAサーバでいうところのBIOSとGRUBやNTLDRなどの機能を併せ持つブートローダを出荷時から書き込んでいます。そのほか,SSD/LinuxのカーネルとユーザランドをRAMディスク用にイメージ化したもの(RedHatなどでは/bootにあるinitrdファイルに相当します)を結合したファイルも書き込まれています。電源をONにすると,メインメモリの一部(OpenBlockS600では128Mバイト)をRAMディスクとして確保し,図2のdfコマンドの結果のように,rootパーティションとして利用することでストレージなしの稼働を実現しています。
図2 OS 起動後のメインメモリの見え方
# df -h Filesystem Size Used Avail Use% Mounted on /dev/ram1 126M 25M 95M 21% /
カーネルの読み出し元
前項のとおり,カーネルはファームウェアとしてFlashROMに書き込まれています。IAサーバのつもりで,ストレージにカーネルを置いても,そのカーネルは使われませんでした。この仕様上の制限はOpenBlockS 600から,ブートローダにU-Bootを採用することで解消されました。このため,IAサーバを管理するのと同じ感覚でストレージ上のカーネル更新が行えるようになっています。またこの機能により,OSをインストールしたCFを差し替えるだけで,SSD/Linux以外のOSを起動することも容易にできるようになっています。

