インストールサーバー上で add_install_client -d スクリプトを使用してクライアントを追加するとき、そのスクリプトは DHCP 構成情報を標準出力にレポートします。この情報は、ネットワークインストール情報をクライアントに伝えるために必要なオプションとマクロを作成する際に使用できます。
ネットワークから DHCP クライアントに対してインストールを行うには、ベンダーカテゴリオプションを作成して、Solaris オペレーティング環境をインストールするために必要な情報を伝える必要があります。表 7–4 に、作成する必要のあるオプションと、その作成に必要なプロパティを示します。
DHCP サービス内のマクロをカスタマイズして、次の種類のインストールを実行できます。
特定のクラスのインストール - DHCP サービスに、特定のクラスのすべてのクライアントのネットワークインストールを行うように指示できます。たとえば、ネットワーク上のすべての Sun Blade システム上で同じインストールを実行するような DHCP マクロを定義できます。add_install_client -d コマンドの出力を使用して、特定のクラスのインストールを設定します。
特定のクライアントのインストール - DHCP サービスに、特定の Ethernet アドレスのクライアントのネットワークインストールを行うように指示できます。たとえば、Ethernet アドレス 00:07:e9:04:4a:bf のクライアント上でインストールを行うような DHCP マクロを定義できます。add_install_client -d -e ethernet_address コマンドの出力を使用して、特定のクライアントのインストールを設定します。
ネットワークからインストールするようにクライアントを設定する方法については、次の手順を参照してください。
DVD メディアを使用するネットワークインストールについては、DVD イメージを使用してネットワークからインストールするシステムを追加するを参照してください。
CD メディアを使用するネットワークインストールについては、CD イメージを使用してネットワークからインストールするシステムを追加するを参照してください。
次の表のベンダークライアントクラスは、各オプションを使用できるクライアントのクラスを表します。ここに示されているベンダークライアントクラスは単なる例です。ネットワークからインストールする必要がある実際のクライアントについて、クライアントクラスを指定する必要があります。クライアントのベンダークライアントクラスを調べる方法については、『 Solaris のシステム管理 (IP サービス)』の「DHCP オプションを使用した作業 (作業マップ)」を参照してください。
DHCP オプションの詳細については、『Solaris のシステム管理 (IP サービス)』の「DHCP のオプション」を参照してください。
表 7–4 Solaris クライアント用にベンダーカテゴリオプションを作成するための値
名前 |
コード |
データ型 |
データの単位数 (Granularity) |
最大値 |
ベンダークライアントクラス |
説明 |
---|---|---|---|---|---|---|
次のベンダーカテゴリオプションは、クライアントへの Solaris のインストールを DHCP サーバーでサポートするために必須のものです。これらのオプションは、Solaris クライアントの起動スクリプトで使用されます。 |
||||||
SrootIP4 |
2 |
IP アドレス |
1 |
1 |
SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc |
ルートサーバーの IP アドレス |
SrootNM |
3 |
ASCII テキスト |
1 |
0 |
SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc |
ルートサーバーのホスト名 |
SrootPTH |
4 |
ASCII テキスト |
1 |
0 |
SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc |
ルートサーバーにあるクライアントのルートディレクトリへのパス |
SinstIP4 |
10 |
IP アドレス |
1 |
1 |
SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc |
JumpStart インストールサーバーの IP アドレス |
SinstNM |
11 |
ASCII テキスト |
1 |
0 |
SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc |
インストールサーバーのホスト名 |
SinstPTH |
12 |
ASCII テキスト |
1 |
0 |
SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc |
インストールサーバーにあるインストールイメージへのパス |
次のオプションは、クライアントの起動スクリプトで使用できますが、必須ではありません。 |
||||||
SrootOpt |
1 |
ASCII テキスト |
1 |
0 |
SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc |
クライアントのルートファイルシステム用の NFS マウントオプション |
SbootFIL |
7 |
ASCII テキスト |
1 |
0 |
SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc |
クライアントのブートファイルへのパス |
SbootRS |
9 |
数値 |
2 |
1 |
SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc |
カーネルを読み込む際にスタンドアロンのブートプログラムが使用する NFS 読み込みサイズ |
SsysidCF |
13 |
ASCII テキスト |
1 |
0 |
SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc |
server:/path という形式での、sysidcfg ファイルへのパス |
SjumpsCF |
14 |
ASCII テキスト |
1 |
0 |
SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc |
server:/path という形式での、JumpStart 構成ファイルへのパス |
16 |
ASCII テキスト |
1 |
0 |
SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc |
スタンドアロンのブートファイルへのパスまたは WAN ブートファイルへのパス。スタンドアロンのブートファイルの場合は、次の形式を使用する tftp://inetboot.sun4u WAN ブートファイルの場合は、次の形式を使用する http://host.domain/path-to-file このオプションを使用すると、BootFile と siaddr の設定を無効にし、スタンドアロンのブートファイルを検出させることができる。サポートされているプロトコルは、tftp (inetboot) および http (wanboot)。たとえば、次の形式を使用する tftp://inetboot.sun4u |
|
17 |
ASCII テキスト |
1 |
0 |
SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc |
ネットワーク上で使用されているプロキシサーバーの IP アドレスとポート番号。このオプションが必要なのは、クライアントが WAN を介してブートされる場合で、ローカルネットワークでプロキシサーバーが使用されているときだけです。たとえば、次の形式を使用する 198.162.10.5:8080 |
|
次のオプションは、Solaris クライアントの起動スクリプトで現在は使用されていません。起動スクリプトを編集する場合だけ、これらのオプションを使用できます。 |
||||||
SswapIP4 |
5 |
IP アドレス |
1 |
0 |
SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc |
スワップサーバーの IP アドレス |
SswapPTH |
6 |
ASCII テキスト |
1 |
0 |
SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc |
スワップサーバーにあるクライアントのスワップファイルへのパス |
Stz |
8 |
ASCII テキスト |
1 |
0 |
SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc |
クライアントのタイムゾーン |
Sterm |
15 |
ASCII テキスト |
1 |
0 |
SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc |
端末タイプ |
オプションがすでに作成されていれば、これらのオプションを含んだマクロを作成することができます。次に、クライアントに対する Solaris のインストールをサポートするために作成できるマクロの例を示します。
表 7–5 ネットワークインストールクライアントをサポートするマクロの例
マクロ名 |
含まれるオプションとマクロ |
---|---|
Solaris |
SrootIP4、SrootNM、SinstIP4、SinstNM |
sparc |
SrootPTH、SinstPTH |
sun4u |
Solaris マクロと sparc マクロ |
i86pc |
Solaris マクロ、SrootPTH、SinstPTH、SbootFIL |
SUNW.i86pc |
i86pc マクロ |
SUNW.Sun-Blade-1000 |
sun4u マクロ、SbootFIL |
SUNW.Sun-Fire-880 |
sun4u マクロ、SbootFIL |
xxx.xxx.xxx.xxx ネットワークアドレスマクロ |
BootSrvA オプションは既存のネットワークアドレスマクロに追加できる。BootSrvA の値は tftboot サーバーを示す必要がある |
上記の表に示されているマクロ名は、ネットワークからインストールする必要のあるクライアントのベンダークライアントクラスと一致します。これらの名前は、ネットワーク上にあるクライアントの例です。クライアントのベンダークライアントクラスを調べる方法については、『Solaris のシステム管理 (IP サービス)』の「DHCP オプションを使用した作業 (作業マップ)」を参照してください。
これらのオプションとマクロは、次の方法で作成できます。
dhtadm コマンドを使ってオプションとマクロを作成するスクリプトを記述する。これらのオプションとマクロを作成するスクリプトの記述方法については、dhtadm を使用してオプションとマクロを作成するスクリプトの作成を参照
オプションとマクロを DHCP マネージャで作成する。オプションとマクロを DHCP マネージャで作成する方法については、DHCP マネージャを使用したインストールオプションとマクロの作成を参照
例 7–1 の例を変更して Korn シェルスクリプトを作成し、表 7–4 に示されているすべてのオプションと、いくつかの便利なマクロを作成できます。引用符に囲まれたすべての IP アドレスと値を、実際のネットワークの IP アドレス、サーバー名、およびパスに変更してください。また、Vendor= キーを編集して、使用するクライアントのクラスを示す必要もあります。add_install_client -d の情報を使って、スクリプトを変更するために必要なデータを取得します。
# Solaris ベンダー固有のオプションを読み込みます。 # Sun-Blade-1000、Sun-Fire-880、および i86 プラットフォームのサポートを開始します。 # -A を -M に変更すると、値を追加するのではなく、現在の値に上書きします。 dhtadm -A -s SrootOpt -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,1,ASCII,1,0' dhtadm -A -s SrootIP4 -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,2,IP,1,1' dhtadm -A -s SrootNM -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,3,ASCII,1,0' dhtadm -A -s SrootPTH -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,4,ASCII,1,0' dhtadm -A -s SswapIP4 -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,5,IP,1,0' dhtadm -A -s SswapPTH -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,6,ASCII,1,0' dhtadm -A -s SbootFIL -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,7,ASCII,1,0' dhtadm -A -s Stz -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,8,ASCII,1,0' dhtadm -A -s SbootRS -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,9,NUMBER,2,1' dhtadm -A -s SinstIP4 -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,10,IP,1,1' dhtadm -A -s SinstNM -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,11,ASCII,1,0' dhtadm -A -s SinstPTH -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,12,ASCII,1,0' dhtadm -A -s SsysidCF -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,13,ASCII,1,0' dhtadm -A -s SjumpsCF -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,14,ASCII,1,0' dhtadm -A -s Sterm -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,15,ASCII,1,0' dhtadm -A -s SbootURI -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,16,ASCII,1,0' dhtadm -A -s SHTTPproxy -d \ 'Vendor=SUNW.Sun-Blade-1000 SUNW.Sun-Fire-880 SUNW.i86pc,17,ASCII,1,0' # 役立つマクロ定義をいくつか読み込みます。 # Solaris 汎用のオプションをすべて、この Solaris というマクロに定義します。 dhtadm -A -m Solaris -d \ ':SrootIP4=10.21.0.2:SrootNM="blue2":SinstIP4=10.21.0.2:SinstNM="red5":' # sparc プラットフォーム固有のオプションをすべて、この sparc というマクロに定義します。 dhtadm -A -m sparc -d \ ':SrootPTH="/export/sparc/root":SinstPTH="/export/sparc/install":' # sun4u アーキテクチャ固有のオプションをすべて、この sun4u というマクロに定義します。 # (Solaris マクロと sparc マクロも含む) dhtadm -A -m sun4u -d ':Include=Solaris:Include=sparc:' # Solaris on IA32 プラットフォーム固有のパラメータを、この i86pc というマクロに定義します。 dhtadm -A -m i86pc -d \ ':Include=Solaris:SrootPTH="/export/i86pc/root":SinstPTH="/export/i86pc/install"\ :SbootFIL="/platform/i86pc/kernel/unix":' # Solaris on IA32 マシンは、"SUNW.i86pc" クラスによって識別されます。 # このクラスのメンバーとして識別されるクライアントはすべて、 # SUNW.i86pc というマクロ内のパラメータを認識できます。このマクロには、i86pc マクロが含まれています。 dhtadm -A -m SUNW.i86pc -d ':Include=i86pc:' # Sun-Blade-1000 プラットフォームは、 # "SUNW.Sun-Blade-1000" クラスの一部として識別されます。 # このクラスのメンバーとして識別されるクライアントはすべて、 # これらのパラメータを認識できます。 dhtadm -A -m SUNW.Sun-Blade-1000 -d \ ':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":\ Include=sun4u:' # Sun-Fire-880 プラットフォームは、"SUNW.Sun-Fire-880" クラスの一部として識別されます。 # このクラスのメンバーとして識別されるクライアントはすべて、これらのパラメータを認識できます。 dhtadm -A -m SUNW.Sun-Fire-880 -d \ ':SbootFIL="/platform/sun4u/kernel/sparcv9/unix":Include=sun4u:' # DHCP サーバーで管理されるトポロジーについて、各ネットワークマクロにブートサーバー IP を追加します。 # ブートサーバーは DHCP サーバーと同じマシンで実行されています。 dhtadm -M -m 10.20.64.64 -e BootSrvA=10.21.0.2 dhtadm -M -m 10.20.64.0 -e BootSrvA=10.21.0.2 dhtadm -M -m 10.20.64.128 -e BootSrvA=10.21.0.2 dhtadm -M -m 10.21.0.0 -e BootSrvA=10.21.0.2 dhtadm -M -m 10.22.0.0 -e BootSrvA=10.21.0.2 # ホスト名がクライアントに返されるようにします。 dhtadm -M -m DHCP-servername -e Hostname=_NULL_VALUE_ # この MAC アドレスを持つクライアントはディスクレスクライアントです。 # インストール用のネットワーク範囲設定ルート設定を、クライアントのルートディレクトリで置き換えます。 dhtadm -A -m 0800201AC25E -d \ ':SrootIP4=10.23.128.2:SrootNM="orange-svr-2":SrootPTH="/export/root/10.23.128.12":' |
スーパーユーザーになり、dhtadm をバッチモードで実行します。オプションとマクロを dhcptab に追加するためのスクリプトの名前を指定します。たとえば、スクリプトの名前が netinstalloptions の場合、次のコマンドを入力します。
# dhtadm -B netinstalloptions |
Vendor= 文字列に指定されているベンダークライアントクラスを持つクライアントが、DHCP を使ってネットワーク経由でインストールできるようになります。
dhtadm コマンドの使用方法の詳細については、dhtadm(1M) のマニュアルページを参照してください。dhcptab ファイルの詳細は、dhcptab(4) のマニュアルページを参照してください。