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.

One of the advantages of using UNIX to teach an operating systems course is the sources and documentation will easily fit into a student's briefcase.
— John Lions