tail head cat sleep
QR code linking to this page

manページ  — DISKLESS

名称

diskless – ネットワークを介してシステムをブートする

内容

解説

ネットワークを介してマシンをブートする能力は、 diskless もしくは dataless マシンのためや、ローカルのファイルシステムの再インストールまたは 修復中に一時的に利用するために有用です。 このファイルは、クライアントがネットワークを介してブートする時に、 クライアントとサーバとの間で行われる通信の一般的な解説を提供します。

操作

ネットワークを介してシステムをブートする時に、 クライアントとサーバの間で 3 フェーズのやりとりがあります:
  1. ステージ 1 のブートストラップ、 典型的にはイーサネットカード組み込みの PXE が、 ブートプログラムを読み込みます。
  2. ステージ 2 ブートプログラム、 典型的には pxeboot(8) が、モジュールとカーネルを読み込み、 カーネルをブートします。
  3. カーネル NFS がルートディレクトリをマウントし、そこから処理を継続します。

これらの各フェーズについて、以降で詳しく記述します。

最初に、ステージ 1 ブートストラップがステージ 2 ブートプログラムを ネットワーク経由でロードします。 ステージ 1 ブートストラップは典型的には BOOTP DHCP を使用して読み取るファイル名を取得し、 TFTP を使用してそのファイルをロードします。 このファイルは典型的には pxeboot と呼ばれ、 /boot/pxeboot からサーバの TFTP ディレクトリに、典型的には /tftpdir にコピーされるべきです。

それから、 ステージ 2 ブートプログラムが追加モジュールとカーネルをロードします。 これらのファイルは DHCP サーバや BOOTP サーバには存在しないかもしれません。 DHCP 設定で使用可能な next-server オプションを使用して、 ステージ 2 ブートファイルとカーネルを持つサーバを指定可能です。 ステージ 2 プログラムは、 NFS または TFTP を使用してこれらのファイルを取得します。 デフォルトでは NFS が使用されます。 pxeboot(8) を使用している場合、 /etc/make.confLOADER_TFTP_SUPPORT=YES を設定し、 下記の方法で pxeboot(8) を再コンパイルおよび再インストールすることで TFTP を使用するバージョンをインストール可能です。 しばしば TFTP を使用することが必要となりますので、 /tftpdir/ にカスタムカーネルを置くことができます。 NFS を使用するが diskless クライアント用にカスタムルートファイルシステムを持たない場合、 ステージ 2 ブートは、サーバのカーネルを diskless マシン用のカーネルとしてロードしますが、 これはあなたの期待する動作ではないかもしれません。

cd /usr/src/sys/boot/i386
make clean; make; make install
cp /boot/pxeboot /tftpdir/

フェーズ 3 では、カーネルは以下の 2 つの方法のどちらかで IP ネットワーク設定を獲得し、ルートファイルシステムのマウントに進み、 動作を開始します。 フェーズ 2 のローダが、カーネル環境を使ってカーネルにネットワーク設定を 渡せるのなら、カーネルはその情報を使ってネットワークインタフェースを設定します。 そうでない場合、 DHCP BOOTP を用いて設定情報を獲得しないとなりません。 ブートスクリプトは diskless 起動を認識し、 /etc/rc.d/initdiskless および /etc/rc.d/diskless 中の動作を実行します。 古いシステムでは、スクリプトは /etc/rc.diskless1 /etc/rc.diskless2 です。

設定

diskless クライアントを実行させるためには、次に示すものが必要です。

セキュリティ上の問題

暗号化されない NFS を使用してルートパーティションと ユーザパーティションをマウントすると、暗号化キーなどの 情報が洩れるかもしれないことに注意して下さい。

バグ

このマニュアルページはおそらく不完全です。

FreeBSD はときどきルートパーティションに書き込みを要求します。 ですから、スタートアップスクリプトでは、元の内容を保存する間、 MFS ファイルシステムをいくつかの位置 ( /etc /var など) に マウントします。この処理はすべての場合を扱えないかもしれません。

関連項目

ethers(5), exports(5), bootpd(8), mountd(8), nfsd(8), pxeboot(8), reboot(8), tftpd(8)

ports/net/etherboot


DISKLESS (8) January 10, 2004

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.