Solaris のシステム管理 (第 3 巻)

DHCP サービスを使用した Solaris ネットワークインストールクライアントのサポート

DHCP を使用すると、ネットワーク上の一定のクライアントマシンに Solaris 操作環境をインストールすることができます。Sun Enterprise Ultra マシンと、Solaris 操作環境を実行するためのハードウェアの必要条件を満たす Intel マシンに限り、この機能を使用することができます。

次の作業マップは、クライアントで DHCP を使用してインストールパラメータを取得できるようにするために実行が必要な高度な作業を示します。

表 11-10 DHCP ネットワークインストールの作業マップ

作業 

説明 

参照先 

インストールサーバーの設定 

Solaris サーバーを設定して、ネットワークから Solaris 操作環境をインストールしたいクライアントをサポートする 

Solaris 8 のインストール (上級編)』の「ネットワーク上で Solaris ソフトウェアをインストールする準備」

DHCP を使用してネットワーク経由で Solaris をインストールできるようクライアントシステムを設定する 

add_install_client -d を使用して、一定のマシンタイプのクライアントなど、任意のクラスのクライアントまたは特定のクライアント ID について、DHCP ネットワークインストールのサポートを追加する

Solaris 8 のインストール (上級編)』の「ネットワーク上で Solaris ソフトウェアをインストールする準備」

add_install_client(1M)

インストールパラメータについての DHCP オプションとそのオプションを含むマクロの作成 

DHCP Manager または dhtadm を使用して、新しいベンダーオプションと、DHCP サーバーがインストール情報をクライアントに伝えるために使用するマクロを作成する

「Solaris インストールパラメータ用の DHCP オプションとマクロの作成」

Solaris インストールパラメータ用の DHCP オプションとマクロの作成

インストールサーバー上で add_install_client -d スクリプトを使用してクライアントを追加すると、そのスクリプトは DHCP 設定情報を標準出力にレポートします。この情報は、ネットワークインストール情報をクライアントに伝えるために必要なオプションとマクロを作成する際に使用できます。

ネットワークからのインストールが必要なクライアントをサポートするには、ベンダーカテゴリオプションを作成して、Solaris 操作環境を適切にインストールするために必要な情報を伝える必要があります。表 11-11に、作成する必要があるオプションと、それらのオプションを作成するために必要な属性を示します。

表 11-11 SUNW クライアント用にベンダーカテゴリオプションを作成するための値

名前 (Name) 

コード (Code) 

データ型 (Data Type) 

最小値 (Granularity) 

最大値 (Maximum) 

ベンダークライアントクラス (Vernder Client Class) 

説明 

SrootOpt

ASCII テキスト 

SUNW.Ultra-1、 SUNW.Ultra-30、 SUNW.i86pc 

クライアントのルートファイルシステム用の NFS マウントオプション 

SrootIP4

IP アドレス 

SUNW.Ultra-1、 SUNW.Ultra-30、 SUNW.i86pc 

ルートサーバーの IP アドレス 

SrootNM

ASCII テキスト 

SUNW.Ultra-1、 SUNW.Ultra-30、 SUNW.i86pc 

ルートサーバーのホスト名 

SrootPTH

ASCII テキスト 

SUNW.Ultra-1、 SUNW.Ultra-30、 SUNW.i86pc 

ルートサーバーにあるクライアントのルートディレクトリへのパス 

SswapIP4

IP アドレス 

SUNW.Ultra-1、 SUNW.Ultra-30、 SUNW.i86pc 

スワップサーバーの IP アドレス 

SswapPTH

ASCII テキスト 

SUNW.Ultra-1、 SUNW.Ultra-30、 SUNW.i86pc 

スワップサーバーにあるクライアントのスワップファイルへのパス 

SbootFIL

ASCII テキスト 

SUNW.Ultra-1、 SUNW.Ultra-30、 SUNW.i86pc 

クライアントのブートファイルへのパス 

Stz

ASCII テキスト 

SUNW.Ultra-1、 SUNW.Ultra-30、 SUNW.i86pc 

クライアントのタイムゾーン 

SbootRS

NUMBER 

SUNW.Ultra-1、 SUNW.Ultra-30、 SUNW.i86pc 

カーネルを読み込む際にスタンドアロンの起動プログラムが使用する NFS 読み込みサイズ 

SinstIP4

10 

IP アドレス 

SUNW.Ultra-1、 SUNW.Ultra-30、 SUNW.i86pc 

JumpStartTM インストールサーバーの IP アドレス

SinstNM

11 

ASCII テキスト 

SUNW.Ultra-1、 SUNW.Ultra-30、 SUNW.i86pc 

インストールサーバーのホスト名 

SinstPTH

12 

ASCII テキスト 

SUNW.Ultra-1、 SUNW.Ultra-30、 SUNW.i86pc 

インストールサーバーのインストールイメージへのパス 

SsysidCF

13 

ASCII テキスト 

SUNW.Ultra-1、 SUNW.Ultra-30、 SUNW.i86pc 

server:/path というフォーマットでの、sysidcfg ファイルへのパス

SjumpsCF

14 

ASCII テキスト 

SUNW.Ultra-1、 SUNW.Ultra-30、 SUNW.i86pc 

server:/path というフォーマットでの、JumpStart 構成ファイルへのパス

Sterm

15 

ASCII テキスト 

SUNW.Ultra-1、 SUNW.Ultra-30, SUNW.i86pc 

端末タイプ 

* ベンダークライアントクラスは、そのオプションを使用できるクライアントのクラスを決定します。ここに一覧表示されたベンダークライアントクラスは、提案に過ぎません。ネットワークからインストールする実際のクライアントについて、クライアントクラスを指定する必要があります。クライアントのベンダークライアントクラスの決定については、表 11-9 を参照してください。

オプションが作成されている場合は、それらのオプションを含んだマクロを作成することができます。表 11-12 では、クライアントについて Solaris のインストールをサポートするために作成することができる推奨マクロを一覧表示しています。

表 11-12 ネットワークインストールクライアントをサポートする推奨マクロ

マクロ名 

含まれるオプションとマクロ 

Solaris

SrootIP4、SrootNM、SinstIP4、SinstNM、Sterm

sparc

SrootPTH、SinstPTH

sun4u

Solarissparc のマクロ

i86pc

Solaris マクロ、SrootPTHSinstPTHSbootFIL

SUNW.i86pc *

i86pc マクロ

SUNW.Ultra-1 *

sun4u マクロ、SbootFIL

SUNW.Ultra-30 *

sun4u マクロ、SbootFIL マクロ

xxx.xxx.xxx.xxx (ネットワークアドレスマクロ)

BootSrvA オプションは既存のネットワークアドレスマクロに追加できます。BootSrvA の値は tftboot サーバーを示す必要があります。

* これらのマクロ名は、ネットワークからインストールするクライアントのベンダークライアントクラスと一致します。これらの名前は、ネットワーク上に持つことができるクライアントの例です。クライアントのベンダークライアントクラスの決定については、表 11-9 を参照してください。

dhtadm コマンドまたは DHCP Manager を使用して、これらのオプションとマクロを作成することができます。dhtadm を使用する場合は、dhtadm コマンドを繰り返し使用するスクリプトを作ってオプションとマクロを作成する方法が、最も容易でしょう。この方法をお奨めします。

dhtadm を使用してオプションとマクロを作成するスクリプトの作成」で、dhtadm コマンドを使用したスクリプトのサンプルを示します。DHCP Manager を使用する場合は、「 DHCP Manager を使用したインストールオプションとマクロの作成」を参照してください。

dhtadm を使用してオプションとマクロを作成するスクリプトの作成

次の例を各システムに適用して Korn シェルスクリプトを作成し、表 11-11 に一覧表示されたすべてのオプションと一部の有用なマクロを作成することができます。引用符に囲まれたすべての IP アドレスと値を、各ネットワークに関する適切な IP アドレス、サーバー名、パスに必ず変更してください。また、Vendor= キーを編集して、使用するクライアントのクラスを示す必要もあります。add_install_client -d でレポートされる情報を使用して、スクリプトを各システムに適用するのに必要なデータを取得してください。


例 11-1 オプションとマクロを追加してネットワークインストールをサポートするサンプルスクリプト


# 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=172.21.0.2:SrootNM="blue2":SinstIP4=172.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 DHCP server.
dhtadm -M -m 172.20.64.64 -e BootSrvA=172.21.0.2
dhtadm -M -m 172.20.64.0 -e BootSrvA=172.21.0.2
dhtadm -M -m 172.20.64.128 -e BootSrvA=172.21.0.2
dhtadm -M -m 172.21.0.0 -e BootSrvA=172.21.0.2
dhtadm -M -m 172.22.0.0	-e BootSrvA=172.21.0.2
# Make sure we return hostnames 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=172.23.128.2:SrootNM="orange-svr-2":SrootPTH="/export/root/172.23.128.12":'

スーパーユーザーとしてこのスクリプトを実行し、オプションとマクロを dhcptab に追加します。このスクリプトを実行すると、Vendor= 文字列に一覧表示されるネットワーククライアントクラスに、DHCP を使用してネットワークからインストールできます。

DHCP Manager を使用したインストールオプションとマクロの作成

DHCP Manager を使用して、表 11-11 に一覧表示されたオプションと表 11-12 に一覧表示されたマクロを作成できます。

オプションとマクロの作成に使用するダイアログボックスの図については、図 11-17図 11-16 を参照してください。

Solaris のインストールをサポートするオプションを作成する方法 (DHCP Manager)

  1. DHCP Manager で「オプション」を選択します。

  2. 「編集」メニューから「作成」を選択します。

    「オプションの作成」ダイアログボックスが開きます。

  3. 最初のオプションのオプション名を入力し、そのオプションにふさわしい値を入力します。

    表 11-11 を使用して、作成する必要があるオプションのオプション名と値を調べます。ベンダークライアントクラスは推奨値に過ぎないことに注意してください。DHCP を使用してインストールする実際のクライアントタイプを示すクラスを作成する必要があります。クライアントのベンダークライアントクラスの判定に関する情報については、表 11-9 を参照してください。

  4. すべての値を入力したら、「了解」をクリックします。

  5. 「オプション」タブで、今作成したオプションを選択します。

  6. 「編集」メニューから「複製」を選択します。

    「オプションの複製」ダイアログボックスが開きます。

  7. 別のオプションの名前を入力し、その他の値を適宜変更します。

    コード、データ型、最小値、最大値は通常は、変更する必要があります。これらの値については、表 11-11 を参照してください。

  8. すべてのオプションを作成するまで、手順 4 から 手順 7 までを繰り返します。

    これで、次の手順の説明に従って、ネットワークインストールクライアントにオプションを伝えるマクロが作成できます。

Solaris のインストールをサポートするマクロを作成する方法 (DHCP Manager)

  1. DHCP Manager で「マクロ」を選択します。

  2. 「編集」メニューから「作成」を選択します。

    「マクロの作成」ダイアログボックスが開きます。

  3. マクロの名前を入力します。

    使用できるマクロ名については、表 11-12 を参照してください。

  4. 「選択」ボタンをクリックします。

    「オプションの選択」ダイアログボックスが開きます。

  5. 「カテゴリ」リストで「ベンダー」を選択します。

    作成した「ベンダー」オプションが一覧表示されます。

  6. マクロに追加するオプションを選択して、「了解」をクリックします。

  7. オプションの値を入力します。

    オプションのデータ型については表 11-11 を参照してください。add_install_client -d がレポートする情報も参照してください。

  8. すべてのオプションを追加するまで、手順 4 から 手順 7 までを繰り返します。

    別のマクロを追加するには、オプション名に Include と入力し、オプション値にそのマクロ名を入力します。

  9. マクロが完成したら、「了解」をクリックします。