Solaris 10 6/06 インストールガイド (ネットワークインストール)

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

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

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

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

DHCP オプションおよびマクロの値

ネットワークから DHCP クライアントに対してインストールを行うには、ベンダーカテゴリオプションを作成して、Solaris OS をインストールするために必要な情報を伝える必要があります。次の表では、DHCP クライアントのインストールに使用できる一般的な DHCP オプションを説明します。

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

表 6–4 標準的な DHCP オプションの値

オプション名 

コード 

データ型 

データの単位数 (Granularity) 

最大値 

説明 

BootFile

なし 

ASCII 

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

BootSrvA

なし 

IP アドレス 

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

DNSdmain

15 

ASCII 

DNS ドメイン名 

DNSserv

IP アドレス 

DNS ネームサーバーの一覧 

NISdmain

40 

ASCII 

NIS ドメイン名 

NISservs

41 

IP アドレス 

NIS サーバーの IP アドレス 

NIS+dom

64 

ASCII 

NIS+ ドメイン名 

NIS+serv

65 

IP アドレス 

NIS+ サーバーの IP アドレス 

Router

IP アドレス 

ネットワークルーターの IP アドレス 

表 6–5 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 のインストールをサポートするために作成できるマクロの例を示します。

表 6–6 ネットワークインストールクライアントをサポートするマクロの例

マクロ名 

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

Solaris

SrootIP4、SrootNM、SinstIP4、SinstNM

sparc

SrootPTH、SinstPTH

sun4u

Solaris マクロと sparc マクロ

sun4v

Solaris マクロと sparc マクロ

i86pc

Solaris マクロ、SrootPTHSinstPTHSbootFIL

SUNW.i86pc

i86pc マクロ


注 –

SUNW.i86pc ベンダークライアントクラスは、Solaris 10 3/05 リリースおよびその互換バージョンに対してのみ有効です。


SUNW.Sun-Blade-1000

sun4u マクロ、SbootFIL

SUNW.Sun-Fire-880

sun4u マクロ、SbootFIL

PXEClient:Arch:00000:UNDI:002001

BootSrvABootFile

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

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

01client-MAC-address クライアント固有のマクロ (たとえば、010007E9044ABF)

BootSrvABootFile

上記の表に示されているマクロ名は、ネットワークからインストールする必要のあるクライアントのベンダークライアントクラスと一致します。これらの名前は、ネットワーク上にあるクライアントの例です。クライアントのベンダークライアントクラスを調べる方法については、『Solaris のシステム管理 (IP サービス)』「DHCP オプションを使用した作業 (作業マップ)」を参照してください。

これらのオプションとマクロは、次の方法で作成できます。

特定のクライアントに提供されているベンダーオプションは、オプションコードや長さの情報も含めて、合計のサイズが 255 バイトを超えてはいけません。これは、現在の Solaris DHCP プロトコルの実装による制限です。一般に、必要最小限のベンダー情報を伝えるようにしてください。パス名を必要とするオプションには、短いパス名を使用してください。長いパス名に対してシンボリックリンクを作成すると、短いリンク名を使用できます。

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

DHCP マネージャを使用して、表 6–5 に一覧表示されているオプションおよび表 6–6 に一覧表示されているマクロを作成できます。

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

始める前に

インストール用の DHCP マクロを作成する前に、次の作業を実行してください。

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


    注 –

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


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

始める前に

インストール用の DHCP マクロを作成する前に、次の作業を実行してください。

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

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

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

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

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

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

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

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

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

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

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

    オプションのデータ型については表 6–4 および表 6–5 を参照してください。add_install_client -d の報告も参照してください。

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

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

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

インストールの続行

DHCP を使ってネットワーク経由のインストールを行うには、インストールサーバーを設定し、システムをインストールクライアントとして追加する必要があります。詳細は、第 7 章「ネットワークインストールの準備 (概要)」を参照してください。

DHCP を使って WAN ブートインストールを行うには、追加の作業を行う必要があります。詳細は、第 11 章「WAN ブート (概要)」を参照してください。

DHCP を使ってカスタム JumpStart インストールを行うには、プロファイルと rules.ok ファイルを作成する必要があります。詳細については、『Solaris 10 6/06 インストールガイド (カスタム JumpStart/ 上級編)』の第 5 章「カスタム JumpStart (概要)」を参照してください。

参照

DHCP の詳細は、『Solaris のシステム管理 (IP サービス)』のパート III「DHCP」を参照してください。

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

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


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

# Solaris ベンダー固有のオプションを読み込みます。
# Sun-Blade-1000、Sun-Fire-880、および i86 プラットフォームのサポートを開始します。
# SUNW.i86pc オプションは Solaris 10 3/05 リリースにのみ適用されます。
# -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 というマクロに定義します。
# このマクロは Solaris 10 3/05 リリースにのみ適用されます。
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 マクロが含まれています。
# このクラスは Solaris 10 3/05 リリースにのみ適用されます。
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_
# ブートサーバーからブートする PXE クライアント用のマクロを作成します。
# このマクロは Solaris 10 3/05 リリースに適用されます。
dhtadm -A -m PXEClient:Arch:00000:UNDI:002001 -d \
:BootFile=npb.SUNW.i86pc:BootSrvA=10.21.0.2:
# ブートサーバーからブートする PXE クライアント用のマクロを作成します。
# このマクロは Solaris 10 2/06 リリースに適用されます。
dhtadm -A -m PXEClient:Arch:00000:UNDI:002001 -d \
:BootFile=i86pc:BootSrvA=10.21.0.2:
# PXE を使用してネットワークからインストールするように
# Ethernet アドレス 00:07:e9:04:4a:bf の x86 ベースのクライアント用のマクロを作成します。
dhtadm -A -m 010007E9044ABF -d :BootFile=010007E9044ABF:BootSrvA=10.21.0.2:
# この 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) のマニュアルページを参照してください。