Solaris のシステム管理 (基本編)

x86 システムをネットワークからブートする

この節では、GRUB ベースのブートをネットワークから実行するときの要件と注意事項について説明します。

ブートサーバーが利用できれば、どのようなシステムもネットワークからブートできます。スタンドアロンのシステムがローカルディスクからブートできない場合、そのシステムを復旧目的でネットワークからブートしなければならないことがあります。x86 システムは、PXE ネットワークブートプロトコルをサポートするネットワークから直接ブートすることができます。


注 –

PXE ネットワークブートは、Intel の PXE 仕様を実装しているデバイスでのみ動作します。


GRUB ベースで PXE ネットワークブートを実行するときには、デフォルトでは DHCP が使用されます。PXE 以外のデバイスの場合には、DHCP または RARP を使用してブートできます。使用するブート方法は、ネットワークで使用できるブートサーバーの種類によって異なります。PXE または DHCP サーバーを使用できない場合は、GRUB をフロッピーディスク、CD-ROM、またはローカルディスクから読み込むことができます。

GRUB ベースのネットワークブートを実行するには、PXE クライアント用に構成されている DHCP サーバーが必要です。また、tftp サービスを提供するブートサーバーも必要です。クライアントのネットワークインタフェースの構成に必要な情報は、DHCP サーバーから提供されます。

DHCP サーバーは、DHCP クラス PXEClient および GRUBClient に次の情報を返せるように設定されている必要があります。

    Oracle Solaris OS の PXE ネットワークブートは、次の順序で実行されます。

  1. BIOS が、ネットワークインタフェースからブートするように構成されます。

  2. BIOS が DHCP 要求を送信します。

  3. DHCP サーバーが、サーバーのアドレスとブートファイルの名前を返します。

  4. BIOS が、tftp を使用して pxegrub をダウンロードし、pxegrub を実行します。

  5. tftp を使用して GRUB メニューファイルがダウンロードされます。

    このファイルによって、利用可能なブートメニューエントリが表示されます。

  6. メニューエントリを選択すると、Oracle Solaris OS のロードが開始されます。

詳細は、『Solaris のシステム管理 (IP サービス)』「ネットワーク構成サーバーの設定方法」を参照してください。

add_install_client コマンドを実行すると、/tftpboot_01ethernet-address ファイルが作成されます。このファイルは、pxegrub および /tftpboot/menu.lst.01ethernet-address ファイルにリンクされています。/tftpboot/menu.lst.01 ethernet-address ファイルは、GRUB メニューファイルです。このファイルが存在しないときには、pxegrub は、DHCP オプション 150 が指定されている場合はそのオプションを使用する状態に戻り、指定されていない場合は /tftpboot/boot/grub/menu.lst ファイルに戻ります。通常は、1 つのシステムで両方の機能を提供できるように設定します。このようなシステムでは、add_install_client コマンドを実行すると、/tftpboot ファイルと一緒に、適切に設定された pxegrub メニューファイルと Oracle Solaris ファイルが設定されます。DHCP サービスは、add_install_client コマンドを使用して、別の手順として設定します。設定は、クライアントごとに 1 回行うだけで完了します。詳細は、「x86: DHCP マクロについて」および 「x86: GRUB ベースのブートをネットワークから実行する方法」を参照してください。

x86: DHCP マクロについて

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

DHCP サーバーを使用して DHCP クライアントをネットワークインストールする場合は、DHCP オプションを作成する必要があります。この情報は、Oracle Solaris OS をインストールするときに必要になります。

クライアントから DHCP 要求を送信するときには、サーバーに次のようなクライアント情報を渡す必要があります。

DHCP サーバーは、応答を作成します。この応答は、クライアント要求に対応する次の「マクロ」に基づいて作成されます。

クラスマクロ

クラスマクロは、DHCP 要求に含まれる「クラス文字列」に基づいて作成されます。x86 システムでは、クラス PXEClient:Arch:00000:UNDI:002001 を含む DHCP 要求が、BIOS によってすでに作成されています。この名前のマクロが DHCP サーバー構成に定義されている場合には、そのマクロの内容が x86 クライアントに送信されます。

ネットワークマクロ

ネットワークマクロの名前は、クライアントが存在するサブネットの IP アドレスになっています。マクロ 129.146.87.0 が DHCP サーバーに定義されている場合には、そのマクロの内容がそのサブネット上のすべてのクライアントに送信されます。送信されるマクロの内容は、DHCP 要求に含まれるクラスに関係ありません。クラスマクロとネットワークマクロの両方に DHCP オプションが定義されている場合は、ネットワークマクロが優先されます。

IP マクロ

IP マクロの名前は、IP アドレスになっています。このマクロはほとんど使用されません。

クライアントマクロ

クライアントマクロの名前は、クライアントの種類 (Ethernet の場合は 01) およびクライアントの MAC アドレスに基づいて、大文字の名前が付けられます。Ethernet アドレスが 0:0:39:fc:f2:ef のクライアントの場合には、対応するマクロの名前は 01000039FCEF になります。クライアントマクロにはコロンが付きません。

たとえば、サブネット 192.168.100.0 に存在し、Ethernet アドレスとして 0:0:39:fc:f2:ef が割り当てられ、クラス PXEClient の DHCP 要求を作成するクライアントの場合には、DHCP サーバー上に次のような対応するマクロが存在します。


PXEClient
	BootSrvA:  192.168.100.0
	BootFile:  pxegrub
  129.146.87.0
	Router:    129.146.87.1
	NISdmain:  sunsoft.eng.sun.com
  01000039FCEF
	BootFile:  01000039FCEF
The actual DHCP response will be
	BootSrvA:  192.168.100.0
	BootFile:  01000039FCEF
	Router:    129.146.87.1
	NISdmain:  sunsoft.eng.sun.com

クライアントマクロの BootFile は、クラスマクロの BootFile より優先されます。

詳細については、『Oracle Solaris 10 9/10 インストールガイド (ネットワークインストール)』「DHCP サービスによるシステム構成情報の事前設定 (作業)」を参照してください。

Procedurex86: GRUB ベースのブートをネットワークから実行する方法

GRUB ベースのネットワークブートを実行するには、PXE クライアント用に構成されている DHCP サーバーが必要です。また、tftp サービスを提供するブートサーバーも必要です。この DHCP サーバーは、ファイルサーバーの IP アドレスとブートファイル (pxegrub) を取得するために、DHCP クラスの PXEClientGRUBClient に応答できるように設定されている必要があります。デフォルトでは、メニューファイルは /tftpboot/menu.lst.01ethernet-address です。このファイルが存在しないときには、 pxegrub は、DHCP オプション 150 が指定されている場合はそのオプションに戻り、指定されていない場合は /tftpboot/boot/grub/menu.lst ファイルに戻ります。

システムを Solaris ソフトウェアメディアからブートする場合、システムは自動的にブートします。

始める前に

GRUB を使用して x86 システム上でネットワークブートを実行する前に、次の準備を行います。

詳細は、『Oracle Solaris 10 9/10 インストールガイド (ネットワークインストール)』の第 4 章「ネットワークからのインストール (概要)」を参照してください。

  1. DHCP サーバー上で、次の 2 つのオプションを使用して、DHCP サービスのクライアントマクロを作成します。

    • BootSrvA: svr-addr

    • BootFile: client-macro

      dhtadm コマンドを実行するには、DHCP サーバー上のスーパーユーザー特権が必要です。

      svr-addr はサーバーの IP アドレスです。client-macro は、クライアントの Ethernet タイプ (01) とクライアントの MAC アドレスに基づいて作成された、大文字の名前です。この番号は、インストールサーバーの /tftpboot ディレクトリで使用されるファイルの名前としても使われます。


      注 –

      client-macro には、コロンを含めてはいけません。


      クライアントマクロは、DHCP GUI またはコマンド行インタフェースから作成できます。

      クライアントマクロをコマンド行から作成するには、次のように入力します。


      # dhtadm -[MA] -m client macro -d
      ":BootFile=client-macro:BootSrvA=svr-addr:"
      
  2. システムを再起動します。

  3. ネットワークからブートするように BIOS に指示します。

    • 特定のキーストロークシーケンスを使用してネットワークブートするように設定されている場合は、BIOS 画面が表示されたときにそのキーストロークを入力します。

    • ネットワークブートのために BIOS 設定を手動で変更する必要がある場合は、BIOS 設定ユーティリティーにアクセスするためのキーストロークシーケンスを入力します。その画面で、ネットワークブートのブート優先順位を変更します。

  4. GRUB メニューが表示されたら、インストールするネットワークインストールイメージを選択します。