Solaris 9 12/03 インストールガイド

DHCP サービスによるシステム構成情報の事前設定 (作業)

DHCP (Dynamic Host Configuration Protocol) を使用すると、TCP/IP ネットワーク内のホストシステムを、ブート時にネットワークに合わせて自動的に構成できます。DHCP では、クライアント/サーバーメカニズムが使用されます。サーバーは、クライアントの構成情報を格納、管理し、クライアントの要求に応じてその構成情報を提供します。構成情報には、クライアントの IP アドレスと、クライアントが使用可能なネットワークサービス情報が含まれます。

DHCP の主な利点は、リースを通して IP アドレス割り当てを管理できることです。リースを使用すると、使用されていない IP アドレスを回収し、他のクライアントに割り当て直すことができます。この機能によって、1 つのサイトで使用する IP アドレスプールは、すべてのクライアントに常時アドレスを割り当てた場合に比べて、小さくなります。

DHCP を使用してネットワーク上で Solaris オペレーティング環境をインストールできるのは、一定の条件のクライアントシステムに限られます。この機能を使用できるのは、Sun Enterprise Ultra システムと Solaris オペレーティング環境を実行するためのハードウェア要件を満たしている x86 システムだけです。

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

表 7–3 作業マップ: DHCP サービスによるシステム構成情報の事前設定

作業 

説明 

参照先 

インストールサーバーの構成 

Solaris サーバーを設定して、ネットワークから Solaris オペレーティング環境をインストールする必要があるクライアントをサポートする 

第 10 章「ネットワークインストールの準備 (概要)」

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

add_install_client -d を使用して、特定のクラスあるいはマシンタイプに属するクライアントや特定のクライアント ID に対して、DHCP ネットワークインストールのサポートを追加する

Solaris DVD を使用する場合 

DVD イメージを使用してネットワークからインストールするシステムを追加する

Solaris CD を使用する場合 

CD イメージを使用してネットワークからインストールするシステムを追加する

add_install_client(1M)

DHCP サービスを使用するためにネットワークを準備する 

DHCP サーバーをどのように構成するかを決定する 

Solaris のシステム管理 (IP サービス)』の「DHCP サービスの使用計画 (手順)」

DHCP サーバーを構成する 

DHCP マネージャを使用して DHCP サーバーを構成する 

Solaris のシステム管理 (IP サービス)』の「DHCP サービスの構成 (手順)」

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

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

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

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

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

ネットワークから DHCP クライアントに対してインストールを行うには、ベンダーカテゴリオプションを作成して、Solaris オペレーティング環境をインストールするために必要な情報を伝える必要があります。表 7–4 に、作成する必要のあるオプションと、その作成に必要なプロパティを示します。次の表のベンダークライアントクラスは、各オプションを使用できるクライアントのクラスを表します。ここに示されているベンダークライアントクラスは単なる例です。ネットワークからインストールする必要がある実際のクライアントについて、クライアントクラスを指定する必要があります。クライアントのベンダークライアントクラスを調べる方法については、『 Solaris のシステム管理 (IP サービス)』の「DHCP オプションを使用した作業 (作業マップ)」を参照してください。

DHCP オプションの詳細については、『Solaris のシステム管理 (IP サービス)』の「DHCP のオプション」を参照してください。

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

名前 

コード 

データ型 

データの単位数 (Granularity) 

最大値 

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

説明 

次のベンダーカテゴリオプションは、クライアントへの Solaris のインストールを DHCP サーバーでサポートするために必須のものです。これらのオプションは、Solaris クライアントの起動スクリプトで使用されます。

SrootIP4

IP アドレス 

SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc

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

SrootNM

ASCII テキスト 

SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc

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

SrootPTH

ASCII テキスト 

SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc

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

SinstIP4

10 

IP アドレス 

SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc

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

SinstNM

11 

ASCII テキスト 

SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc

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

SinstPTH

12 

ASCII テキスト 

SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc

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

次のオプションは、クライアントの起動スクリプトで使用できますが、必須ではありません。

SrootOpt

ASCII テキスト 

SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc

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

SbootFIL

ASCII テキスト 

SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc

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

SbootRS

数値 

SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc

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

SsysidCF

13 

ASCII テキスト 

SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc

server:/path という形式での、sysidcfg ファイルへのパス

SjumpsCF

14 

ASCII テキスト 

SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc

server:/path という形式での、JumpStart 構成ファイルへのパス

SbootURI

16 

ASCII テキスト 

SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc

スタンドアロンのブートファイルへのパスまたは WAN ブートファイルへのパス。スタンドアロンのブートファイルの場合は、次の形式を使用する 

tftp://inetboot.sun4u

WAN ブートファイルの場合は、次の形式を使用する 

http://host.domain/path-to-file

このオプションを使用すると、BootFilesiaddr の設定を無効にし、スタンドアロンのブートファイルを検出させることができる。サポートされているプロトコルは、tftp (inetboot) および http (wanboot)。たとえば、次の形式を使用する tftp://inetboot.sun4u

SHTTPproxy

17 

ASCII テキスト 

SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc

ネットワーク上で使用されているプロキシサーバーの IP アドレスとポート番号。このオプションが必要なのは、クライアントが WAN を介してブートされる場合で、ローカルネットワークでプロキシサーバーが使用されているときだけです。たとえば、次の形式を使用する 198.162.10.5:8080

次のオプションは、Solaris クライアントの起動スクリプトで現在は使用されていません。起動スクリプトを編集する場合だけ、これらのオプションを使用できます。

SswapIP4

IP アドレス 

SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc

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

SswapPTH

ASCII テキスト 

SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc

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

Stz

ASCII テキスト 

SUNW.Sun-Blade-1000、SUNW.Sun-Fire-880、SUNW.i86pc

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

Sterm

15 

ASCII テキスト 

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 マクロ、SrootPTHSinstPTHSbootFIL

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 を使用してオプションとマクロを作成するスクリプトの作成

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


例 7–1 ネットワークインストールをサポートするスクリプトの例

# 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) のマニュアルページを参照してください。

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

DHCP マネージャを使って、表 7–4 のオプションと表 7–5 のマクロを作成できます。

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

この手順では、DHCP サーバーを構成済みであると仮定します。DHCP サーバーの構成を完了していない場合は、『Solaris のシステム管理 (IP サービス)』の「DHCP サービスの使用計画 (手順)」を参照してください。

  1. DHCP サーバーシステム上でスーパーユーザーになります。

  2. DHCP マネージャを起動します。


    # /usr/sadm/admin/bin/dhcpmgr &
    

    「DHCP マネージャ (DHCP Manager)」ウィンドウが表示されます。

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

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

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

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

    表 7–4 を使用して、作成する必要があるオプションの名前と値を調べます。ベンダークライアントクラスは推奨値に過ぎないことに注意してください。DHCP サービスから Solaris インストールパラメータを取得する必要がある実際のクライアントのタイプを示すクラスを作成する必要があります。 クライアントのベンダークライアントクラスを調べる方法については、『Solaris のシステム管理 (IP サービス)』の「DHCP オプションを使用した作業 (作業マップ)」を参照してください。

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

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

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

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

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

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

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

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


    注 –

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


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

この手順では、DHCP サーバーを構成済みであると仮定します。DHCP サーバーの構成を完了していない場合は、『Solaris のシステム管理 (IP サービス)』の「DHCP サービスの使用計画 (手順)」を参照してください。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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