DHCP を使用すると、ネットワーク上のクライアントシステムに Solaris オペレーティング環境をインストールできます。この機能を使用できるのは、Sun Enterprise Ultra システムと Solaris オペレーティング環境を実行するための要件を満たしている Intel システムだけです。
ディスクレスクライアントのサポートについては、リモートブートクライアントとディスクレスブートクライアントのサポートを参照してください。
次の作業マップに、クライアントが DHCP を使用してインストールパラメータを取得できるようにするために実行する必要がある作業を示します。
表 4–10 DHCP ネットワークインストール (作業マップ
作業 |
インストールサーバーの構成 |
参照先 |
---|---|---|
インストールサーバーの構成 |
Solaris サーバーを設定して、ネットワークから Solaris オペレーティング環境をインストールしたいクライアントをサポートする |
『Solaris 8 のインストール (上級編)』の「ネットワーク上で Solaris ソフトウェアをインストールする準備」 |
DHCP を使用してネットワーク経由で Solaris をインストールできるようクライアントシステムを構成する |
add_install_client -d を使用して、一定のマシンタイプのクライアントなど、任意のクラスのクライアントまたは特定のクライアント ID について、DHCP ネットワークインストールのサポートを追加する |
『Solaris 8 のインストール (上級編)』の「ネットワーク上で Solaris ソフトウェアをインストールする準備」 add_install_client(1M) |
インストールパラメータについての DHCP オプションとそのオプションを含むマクロの作成 |
DHCP マネージャまたは dhtadm を使用して、DHCP サーバーがインストール情報をクライアントに渡すときに使用できる新しいベンダーオプションとマクロを作成する |
インストールサーバー上で add_install_client -d スクリプトを使用してクライアントを追加するとき、そのスクリプトは DHCP 構成情報を標準出力にレポートします。この情報は、ネットワークインストール情報をクライアントに渡すために必要なオプションとマクロを作成する際に使用できます。
ネットワークから Solaris のインストールが必要なクライアントをサポートするには、ベンダーカテゴリオプションを作成して、Solaris オペレーティング環境を適切にインストールするために必要な情報を渡す必要があります。次の表に、作成する必要があるオプションと、それらのオプションを作成するために必要な属性を示します。
表 4–11 Solaris クライアント用にベンダーカテゴリオプションを作成するための値
名前 |
コード |
データ型 |
最小値 (Granularity) |
最大値 |
ベンダークライアントクラス |
説明 |
---|---|---|---|---|---|---|
SrootOpt |
1 |
ASCII テキスト |
1 |
0 |
SUNW.Ultra-1、SUNW.Ultra-30、SUNW.i86pc |
クライアントのルートファイルシステム用の NFS マウントオプション |
SrootIP4 |
2 |
IP アドレス |
1 |
1 |
SUNW.Ultra-1、SUNW.Ultra-30、SUNW.i86pc |
ルートサーバーの IP アドレス |
SrootNM |
3 |
ASCII テキスト |
1 |
0 |
SUNW.Ultra-1、SUNW.Ultra-30、SUNW.i86pc |
ルートサーバーのホスト名 |
SrootPTH |
4 |
ASCII テキスト |
1 |
0 |
SUNW.Ultra-1、SUNW.Ultra-30、SUNW.i86pc |
ルートサーバーにあるクライアントのルートディレクトリへのパス |
SswapIP4 |
5 |
IP アドレス |
1 |
0 |
SUNW.Ultra-1、SUNW.Ultra-30、SUNW.i86pc |
スワップサーバーの IP アドレス |
SswapPTH |
6 |
ASCII テキスト |
1 |
0 |
SUNW.Ultra-1、SUNW.Ultra-30、SUNW.i86pc |
スワップサーバーにあるクライアントのスワップファイルへのパス |
SbootFIL |
7 |
ASCII テキスト |
1 |
0 |
SUNW.Ultra-1、SUNW.Ultra-30、SUNW.i86pc |
クライアントのブートファイルへのパス |
Stz |
8 |
ASCII テキスト |
1 |
0 |
SUNW.Ultra-1、SUNW.Ultra-30、SUNW.i86pc |
クライアントのタイムゾーン |
SbootRS |
9 |
NUMBER |
2 |
1 |
SUNW.Ultra-1、SUNW.Ultra-30、SUNW.i86pc |
カーネルを読み込む際にスタンドアロンのプログラムが使用する NFS 読み込みサイズ |
SinstIP4 |
10 |
IP アドレス |
1 |
1 |
SUNW.Ultra-1、SUNW.Ultra-30、SUNW.i86pc |
JumpStartTM インストールサーバーの IP アドレス |
SinstNM |
11 |
ASCII テキスト |
1 |
0 |
SUNW.Ultra-1、SUNW.Ultra-30、SUNW.i86pc |
インストールサーバーのホスト名 |
SinstPTH |
12 |
ASCII テキスト |
1 |
0 |
SUNW.Ultra-1、SUNW.Ultra-30、SUNW.i86pc |
インストールサーバーのインストールイメージへのパス |
SsysidCF |
13 |
ASCII テキスト |
1 |
0 |
SUNW.Ultra-1、SUNW.Ultra-30、SUNW.i86pc |
server:/path という形式での、sysidcfg ファイルへのパス |
SjumpsCF |
14 |
ASCII テキスト |
1 |
0 |
SUNW.Ultra-1、SUNW.Ultra-30、SUNW.i86pc |
server:/path という形式での、JumpStart 構成ファイルへのパス |
Sterm |
15 |
ASCII テキスト |
1 |
0 |
SUNW.Ultra-1、SUNW.Ultra-30、SUNW.i86pc |
端末タイプ |
* ベンダークライアントクラスは、そのオプションを使用できるクライアントのクラスを決定します。ここに示されたベンダークライアントクラスは、提案に過ぎません。ネットワークからインストールする必要がある実際のクライアントについて、クライアントクラスを指定する必要があります。クライアントのベンダークライアントクラスを決定する方法については、表 4–9を参照してください。 |
オプションが作成されている場合は、それらのオプションを含んだマクロを作成することができます。表 4–12 に、クライアントについて Solaris のインストールをサポートするために作成することができる推奨マクロを示します。
表 4–12 ネットワークインストールクライアントをサポートする推奨マクロ
マクロ名 |
含まれるオプションとマクロ |
---|---|
Solaris |
SrootIP4、SrootNM、SinstIP4、SinstNM、Sterm |
sparc |
SrootPTH、SinstPTH |
sun4u |
Solaris と sparc のマクロ |
i86pc |
Solaris マクロ、SrootPTH、SinstPTH、SbootFIL |
SUNW.i86pc * |
i86pc マクロ |
SUNW.Ultra-1 * |
sun4u マクロ、SbootFIL |
SUNW.Ultra-30 * |
sun4u マクロ、SbootFIL マクロ |
xxx.xxx.xxx.xxx (ネットワークアドレスマクロ) |
BootSrvA オプションは既存のネットワークアドレスマクロに追加できます。BootSrvA の値は tftboot サーバーを示す必要があります。 |
* これらのマクロ名は、ネットワークからインストールするクライアントのベンダークライアントクラスと一致します。これらの名前は、ネットワーク上に持つことができるクライアントの例です。クライアントのベンダークライアントクラスを決定する方法については、表 4–9 を参照してください。 |
dhtadm コマンドまたは DHCP マネージャを使用して、これらのオプションとマクロを作成することができます。dhtadm を使用する場合は、dhtadm コマンドを繰り返し使用するスクリプトを作ってオプションとマクロを作成することをお勧めします。
dhtadm を使用してオプションとマクロを作成するスクリプトの作成に、dhtadm コマンドを使用するスクリプトのサンプルを示します。DHCP マネージャを使用する場合は、 DHCP マネージャを使用したインストールオプションとマクロの作成を参照してください。
例 4–1 の例を適用して、表 4–11 に示されたすべてのオプションといくつかの有用なマクロを作成する Korn シェルスクリプトを作成することができます。引用符に囲まれたすべての IP アドレスと値を、各ネットワークに関する適切な IP アドレス、サーバー名、パスに変更してください。また、Vendor= キーを編集して、使用するクライアントのクラスを示す必要もあります。add_install_client -d でレポートされる情報を使用して、スクリプトを各システムに適用するのに必要なデータを取得してください。
# Load the Solaris vendor specific options. We'll start out supporting # the Ultra-1, Ultra-30, and i86 platforms. Changing -A to -M would replace # the current values, rather than add them. dhtadm -A -s SrootOpt -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,1,ASCII,1,0' dhtadm -A -s SrootIP4 -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,2,IP,1,1' dhtadm -A -s SrootNM -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,3,ASCII,1,0' dhtadm -A -s SrootPTH -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,4,ASCII,1,0' dhtadm -A -s SswapIP4 -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,5,IP,1,0' dhtadm -A -s SswapPTH -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,6,ASCII,1,0' dhtadm -A -s SbootFIL -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,7,ASCII,1,0' dhtadm -A -s Stz -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,8,ASCII,1,0' dhtadm -A -s SbootRS -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,9,NUMBER,2,1' dhtadm -A -s SinstIP4 -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,10,IP,1,1' dhtadm -A -s SinstNM -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,11,ASCII,1,0' dhtadm -A -s SinstPTH -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,12,ASCII,1,0' dhtadm -A -s SsysidCF -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,13,ASCII,1,0' dhtadm -A -s SjumpsCF -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,14,ASCII,1,0' dhtadm -A -s Sterm -d 'Vendor=SUNW.Ultra-1 SUNW.Ultra-30 SUNW.i86pc,15,ASCII,1,0' # Load some useful Macro definitions # Define all Solaris-generic options under this macro named Solaris. dhtadm -A -m Solaris -d ':SrootIP4=188.21.0.2:SrootNM="blue2":SinstIP4=188.21.0.2:\ SinstNM="red5":Sterm="xterm":' # Define all sparc-platform specific options under this macro named sparc. dhtadm -A -m sparc -d ':SrootPTH="/export/sparc/root":SinstPTH="/export/sparc/install":' # Define all sun4u architecture-specific options under this macro named sun4u. (Includes # Solaris and sparc macros.) dhtadm -A -m sun4u -d ':Include=Solaris:Include=sparc:' # Solaris on IA32-platform-specific parameters are under this macro named i86pc. dhtadm -A -m i86pc -d \ ':Include=Solaris:SrootPTH="/export/i86pc/root":SinstPTH="/export/i86pc/install"\ :SbootFIL="/platform/i86pc/kernel/unix":' # Solaris on IA32 machines are identified by the "SUNW.i86pc" class. All # clients identifying themselves as members of this class will see these # parameters in the macro called SUNW.i86pc, which includes the i86pc macro. dhtadm -A -m SUNW.i86pc -d ':Include=i86pc:' # Ultra-1 platforms identify themselves as part of the "SUNW.Ultra-1" class. # By default, we boot these machines in 32bit mode. All clients identifying # themselves as members of this class will see these parameters. dhtadm -A -m SUNW.Ultra-1 -d ':SbootFIL="/platform/sun4u/kernel/unix":Include=sun4u:' # Ultra-30 platforms identify themselves as part of the "SUNW.Ultra-30" class. # By default, we will boot these machines in 64bit mode. All clients # identifying themselves as members of this class will see these parameters. dhtadm -A -m SUNW.Ultra-30 -d ':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":Include=sun4u:' # Add our boot server IP to each of the network macros for our topology served by our # DHCP server. Our boot server happens to be the same machine running our DHCP server. dhtadm -M -m 188.20.64.64 -e BootSrvA=188.21.0.2 dhtadm -M -m 188.20.64.0 -e BootSrvA=188.21.0.2 dhtadm -M -m 188.20.64.128 -e BootSrvA=188.21.0.2 dhtadm -M -m 188.21.0.0 -e BootSrvA=188.21.0.2 dhtadm -M -m 188.22.0.0 -e BootSrvA=188.21.0.2 # Make sure we return host names to our clients. dhtadm -M -m DHCP-servername -e Hostname=_NULL_VALUE_ # The client with this MAC address is a diskless client. Override the root settings # which at the network scope setup for Install with our client's root directory. dhtadm -A -m 0800201AC25E -d \ ':SrootIP4=188.23.128.2:SrootNM="orange-svr-2":SrootPTH="/export/root/188.23.128.12":' |
スーパーユーザーとして、dhtadm をバッチモードで実行して、オプションとマクロを dhcptab に追加するスクリプトの名前を指定します。たとえば、スクリプトの名前が netinstalloptions の場合、次のコマンドを入力します。
dhtadm -B netinstalloptions
これが完了すると、Vendor= 文字列に示されたクライアントクラスを持つクライアントは、DHCP を使用して、ネットワークから Solaris をインストールするときに必要なパラメータを取得できます。
DHCP マネージャを使用すると、表 4–11 に示されたオプションと表 4–12 に示されたマクロを作成できます。
オプションとマクロの作成に使用するダイアログボックスについては、図 4–17 および図 4–16を参照してください。
DHCP マネージャで「オプション (Options)」を選択します。
「編集 (Edit)」メニューから「作成 (Create)」を選択します。
「オプションの作成 (Create Option)」ダイアログボックスが開きます。
最初のオプションのオプション名を入力し、そのオプションに値を入力します。
表 4–11 を使用して、作成する必要があるオプションの名前と値を調べます。ベンダークライアントクラスは推奨値に過ぎないことに注意してください。DHCP サービスから Solaris インストールパラメータを取得する必要がある実際のクライアントのタイプを示すクラスを作成する必要があります。 クライアントのベンダークライアントクラスを決定する方法については、表 4–9を参照してください。
すべての値を入力したら、「了解 (OK)」をクリックします。
「オプション (Options)」タブで、今作成したオプションを選択します。
「編集 (Edit)」メニューから「複製 (Duplicate)」を選択します。
「オプションの複製 (Duplicate Option)」ダイアログボックスが開きます。
別のオプションの名前を入力し、その他の値を適宜変更します。
コード、データ型、最小値、最大値は通常は変更する必要があります。これらの値については、表 4–11を参照してください。
すべてのオプションを作成するまで、手順 5 から 手順 7 までを繰り返します。
これで、次の手順の説明に従って、ネットワークインストールクライアントにオプションを渡すマクロを作成できます。
これらのオプションはすでに Solaris クライアントの /etc/dhcp/inittab ファイルに含まれているので、わざわざ追加する必要はありません。
DHCP マネージャで「マクロ (Macros)」を選択します。
「編集 (Edit)」メニューから「作成 (Create)」を選択します。
「マクロの作成 (Create Macro)」ダイアログボックスが開きます。
マクロの名前を入力します。
使用できるマクロ名については、表 4–12を参照してください。
「選択 (Select)」ボタンをクリックします。
「オプションの選択 (Select Option)」ダイアログボックスが開きます。
「カテゴリ (Category)」リストで「ベンダー (Vendor)」を選択します。
作成したベンダーオプションがリストされます。
マクロに追加するオプションを選択して、「了解 (OK)」をクリックします。
オプションの値を入力します。
オプションのデータ型については表 4–11を参照してください。add_install_client -d 情報も参照してください。
すべてのオプションを追加するまで、手順 6 から 手順 7 までを繰り返します。
別のマクロを追加するには、オプション名に Include と入力し、オプション値にそのマクロ名を入力します。
マクロが完成したら、「了解 (OK)」をクリックします。