Solaris DHCP の管理

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

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 サーバーがインストール情報をクライアントに渡すときに使用できる新しいベンダーオプションとマクロを作成する

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

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

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

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

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

名前 

コード 

データ型 

最小値 (Granularity) 

最大値 

ベンダークライアントクラス 

説明 

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

端末タイプ 

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

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

表 4–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 サーバーを示す必要があります。

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

dhtadm コマンドまたは DHCP マネージャを使用して、これらのオプションとマクロを作成することができます。dhtadm を使用する場合は、dhtadm コマンドを繰り返し使用するスクリプトを作ってオプションとマクロを作成することをお勧めします。

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

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

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


例 4–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=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 マネージャを使用したインストールオプションとマクロの作成

DHCP マネージャを使用すると、表 4–11 に示されたオプションと表 4–12 に示されたマクロを作成できます。

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

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

  1. DHCP マネージャで「オプション (Options)」を選択します。

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

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

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

     表 4–11 を使用して、作成する必要があるオプションの名前と値を調べます。ベンダークライアントクラスは推奨値に過ぎないことに注意してください。DHCP サービスから Solaris インストールパラメータを取得する必要がある実際のクライアントのタイプを示すクラスを作成する必要があります。 クライアントのベンダークライアントクラスを決定する方法については、表 4–9を参照してください。

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

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

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

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

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

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

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

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


    注 –

    これらのオプションはすでに Solaris クライアントの /etc/dhcp/inittab ファイルに含まれているので、わざわざ追加する必要はありません。


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

  1. DHCP マネージャで「マクロ (Macros)」を選択します。

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

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

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

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

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

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

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

    作成したベンダーオプションがリストされます。

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

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

    オプションのデータ型については表 4–11を参照してください。add_install_client -d 情報も参照してください。

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

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

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