さて、ここまででPXEブートに必要なDHCPサーバ機能とTFTPサーバ機能が正常に動作することが確認できた。次は本来の目的であるOSのブートを設定する。だがここにはもう1つ、越えなければならないハードルがある。
TFTPサーバで提供できるのは、あくまでファイルのダウンロードであり、ファイル共有のように自由に読み出し、書き込みができるわけではない。そのため、TFTPではブートストラップをダウンロードし、それによって以降のブートプロセスが処理されることになる。その際、OSの実行環境(ファイルシステム)をどうやって構築するかが問題となるが、これはHDDにインストールせずに利用可能なLiveCDなどでも同様だ。つまり、LiveCD版が提供されているOSは比較的簡単にPXEブートできる可能性が高い。
今回は人気の高いLinuxディストリビューションである「Ubuntu」を使用する。
OSのイメージは数ギガに及ぶ巨大なものが多いため、ダウンロードにも時間がかかる。また、ダウンロードが集中するとサーバへの負荷もかかってしまう。そこで今回は、TurboNASのダウンロードステーションからBitTorrent経由でダウンロードを行うことにする。ダウンロードステーションを利用すればダウンロードが完了するまでPCを立ち上げっぱなしにしておく必要はない。

Ubuntu 12.04 LTS Desktop日本語Remix CDのダウンロードページ(画面=左)。ダウンロードしたTorrentファイルをQGetで開くとダウンロード設定が完了する。ダウンロードが終わるまでしばらく待とう(画面=右)ダウンロードしたファイルはISO形式になっている。これはCDやDVDなどのデータを丸ごとイメージ化して1ファイルにしたもので、通常はCDやDVDなどに焼いてから使用する。だが、TurboNASにはISOマウント機能があり、ISOファイルのままでもその中に含まれるファイルに個別にアクセスできる。アクセス権管理>共有フォルダからISO共有フォルダタブをクリックし、「ISOファイルのマウント」を選択してISOファイルを指定する。
ここで1つ工夫をしておく。ISOをマウントした場合、そのマウント先は共有フォルダのトップに作成される。これではISOファイルに含まれるファイルをTFTPでダウンロードすることはできない。ISOマウントした後にファイル単位でTFTPディレクトリ以下にコピーしてしまってもよいが、シンボリックリンクを使えば手間がかからない。また、今後ISOファイルを差し替えたときにシンボリックリンクを張り直す手間を考えて、ISOマウントディレクトリはISO01のように内容に関係しない連番などにしておくとよい。
カーネルvmlinuzのダウンロード、その後の初期ユーザー空間となるinitrdまではTFTPでダウンロードできるが、以降のファイルシステムはNFSを利用する。ISO共有フォルダのNFSアイコンをクリックし、読み取り専用にしておく。
SYSLINUXのメニュー設定ファイル「default」では、KERNELにcasper/vmlinuz、APPENDのパラメータinitrdにcasper/initrd.lzを指定する。vmlinuzとinitrd.lzはTFTP経由で読み込まれるので、TFTPディレクトリからのパス、nfsrootはNFS経由なのでNFSパスになることに注意する(設定例2。ここではTurboNASのIPアドレスを192.168.0.11、ISO共有フォルダをISO01としている)。クライアントPCを起動し、SYSLINUXメニューから「Ubuntu12.04」を選択してUbuntuが起動すれば成功だ。
default syslinux/vesamenu.c32
label Ubuntu12.04
KERNEL /ISO01/casper/vmlinuz
APPEND root=/dev/nfs initrd=/ISO01/casper/initrd.lz boot=casper netboot=nfs nfsroot=192.168.0.11:/ISO01
そのほかにもPXEブートが可能なLiveCDはたくさんある。中には一部のファイルを書き換えなければならないものもあるが、インターネット上の情報などを参考に選んでほしい。
System Rescue CDをネットワークブートで立ち上げたところ。System Rescue CDはISOLINUXを利用しているので、それをベースに設定する。具体的にはKERNELにはvesamenu.c32を、APPENDパラメータにSystem Rescue CDのisolinux.cfgを指定する。isolinux.cfgはSystem Rescue CDの/isolinux/以下にあるが、そのままではvesamenu.c32からのマルチブートに対応できないのでINITRDやLINUXのファイルパスをTFTPディレクトリをルートとする絶対パスに書き換え、さらにAPPENDのパラメータにnetboot=tftp://[TurboNASのIPアドレス]/[TFTPパス]/sysrcd.datを設定する。
SYSLINUXのvesamenu.c32は多段階メニューや表示形式などをカスタマイズできる。「menu background [ファイル名]」を指定するとPNG/JPEG画像をメニューの背景に表示可能。ITちゃんかわいいよITちゃんTurboNASはもともとベースがLinuxであり、かつ、シェルが利用できるroot権も解放されているため、その気になればいくらでもいじることができる。それと同時に、そこまでLinuxに詳しくなくても自らの手で機能拡張できる手軽さ、柔軟さもあわせ持つ。
今回紹介したように、ファームウェア自身に搭載される新機能や、QPKG、iPKGといったパッケージで提供される拡張機能を組み合せることで、さまざまな役割を持たせることが可能になる。特に、ダウンロードのような時間のかかる処理、VPNサーバやWebサーバなど、常時待機させておくことに意味があるサービスを消費電力の少ない機器にまかせることには大きなメリットがある。
TurboNASを導入する際は、NASとして利用するのはもちろん、そういった+α活用方法を考えてみてはいかがだろうか。
フフフ、こうも簡単に入れ替えられるとはな:こんなに手軽――QNAP「TurboNAS」を新モデルにリプレースする
お医者さんに聞く:「安くて手軽に使えるのが魅力」――病院で活躍するQNAP「TurboNAS」
これがジャストサイズ――嘉悦大学が「QNAP」を導入する理由
性能と価格を両立したエンタープライズモデル「TS-1279U-RP」
企業向けサーバは高すぎる? それならQNAPを使えばいいじゃない:性能と価格を両立したエンタープライズモデル「TS-1279U-RP」
QNAPでもっと便利に:マルチデバイス時代の“管理しない管理術”――新・富豪的ストレージ活用法
データは飛ぶもの、地面は揺れるもの:財産であり武器である「情報」を失わないために――QNAPで始めるリスク対策
企業で使うQNAP:Windows Serverから“最強NAS”に乗り換えるべきいくつかの理由
QNAPでもっと便利に:マルチデバイス時代の“管理しない管理術”――新・富豪的ストレージ活用法
共有する人がいなくても:一人暮らしにぴったりな低価格NASキット――QNAPで始めるデジタル新生活Copyright © ITmedia, Inc. All Rights Reserved.