PCの起動時にPXE(Preboot eXecution Environment)のメッセージを見たことがある人は多いだろう。PXEはインテルが策定したネットワークブートの規格で、PC起動時にネットワーク上のサーバからOSなどをダウンロードして実行する仕組みのことだ。現行のPXEバージョン2.1が策定されたのは1999年であり、現在のほとんどのPC/NICが対応している。
だが、実際にネットワークブートを利用している人はかなり少ないのではないだろうか。今回はQNAP「TurboNAS」の活用編として、PXEを利用したネットワークブート(PXEブート)を実現する。PXEブートではPCのディスクトラブルが発生したときの緊急ブート用のほか、各種Linuxディストリビューションのネットワークインストール、LiveCDによるディスクレスでの運用など、さまざまな応用が可能だ。
| 今回使用するTurboNASの機能 | ||
|---|---|---|
| 機能名 | 種別 | 導入元 |
| QPKG Optware iPKG | パッケージマネージャ | QPKG |
| dhcpd | DHCPサーバ | iPKG |
| TFTPサーバ | TFTPサーバ | 基本機能(ファームウェア ver.3.5〜) |
| NFS | ファイル共有機能 | 基本機能 |
| ISO共有フォルダ | ファイル共有機能 | 基本機能(ファームウェア ver.3.3〜) |
| ダウンロードマネージャ | BitTorrentクライアント | 基本機能 |
PXEブートでは、DHCPサーバとTFTPサーバの機能を組み合わせて実装されている。DHCPサーバは通常のIPアドレスの付与に加え、PXEブート用のブートファイル名をクライアントに渡すという処理も行う。クライアントは受け取ったブートファイル名をTFTPを使ってダウンロードし、実行する。
一般的なブロードバンドルータのほとんどはDHCPサーバ機能を搭載しているが、ブートファイル名を渡すためのPXE拡張タグには対応していない。そのため、今回はTurboNASにDHCPサーバ機能も行わせることにする。ルータのDHCPサーバ機能を利用している場合はバッティングしてしまわないようオフにしたうえで設定を進めてほしい(共存する方法もあるが今回は割愛する)。

PXEの仕様書。詳しくは「http://www.pix.net/software/pxeboot/archive/pxespec.pdf」(PDF)を参照(画面=左)。PXEブートのフロー(画面=右)Copyright © ITmedia, Inc. All Rights Reserved.