Solaris 9 4/04 インストールガイド

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

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

ネットワークから DHCP クライアントに対してインストールを行うには、ベンダーカテゴリオプションを作成して、Solaris オペレーティング環境をインストールするために必要な情報を伝える必要があります。表 7–4 に、作成する必要のあるオプションと、その作成に必要なプロパティを示します。

DHCP サービス内のマクロをカスタマイズして、次の種類のインストールを実行できます。

ネットワークからインストールするようにクライアントを設定する方法については、次の手順を参照してください。

次の表のベンダークライアントクラスは、各オプションを使用できるクライアントのクラスを表します。ここに示されているベンダークライアントクラスは単なる例です。ネットワークからインストールする必要がある実際のクライアントについて、クライアントクラスを指定する必要があります。クライアントのベンダークライアントクラスを調べる方法については、『 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 のマクロを作成できます。