ネットワーク ブートローダは、ネットワーク ベースの送信元からのブート処理をサポートします。ブートローダは、HTTP、FTP、および TFTP サーバにあるイメージを起動します。ネットワーク ブート ソースは、iPXE のようなソリューションを使用して自動検出されます。
iPXE は、ブート前実行環境(PXE)のオープン ソース実装です。これにより、オフラインのデバイスのネットワーク ブートが有効になります。iPXE ブート モードのタイプには次の 3 つがあります。
-
iPXE タイムアウト:IPXE_TIMEOUT ROMmon 変数を使用して、iPXE ネットワーク ブートのタイムアウトを秒単位で設定します。タイムアウトが経過すると、スイッチはデバイス ブートに戻ります。
-
iPXE 期限なし:iPXE ネットワーク ブートを介して起動します。boot ipxe forever コマンドが設定されている場合、スイッチは Dynamic Host Control Protocol(DHCP)要求を期限なしで送信します。これは iPXE のみのブートです(これについてもう少し詳しく説明お願いできますか)。
-
デバイス:boot ipxe コマンドを使用してデバイス ブートを設定します。デバイス ブートが設定された場合、設定されている IPXE_TIMEOUT ROMmon 変数は無視されます。
ここでは、iPXE ブートローダの動作について説明します。
図 1. iPXE ブートローダのワークフロー
-
ブートローダが DHCP 要求を送信します。
-
DHCP 応答には、IP アドレスとのブート ファイル名が含まれています。ブート ファイル名は、ブート イメージが TFTP サーバ(tftp://server/filename)、FTP サーバ(ftp://userid:password@server/filename)、または
HTTP サーバ(http://server/filename)から取得されることを示しています。現在の iPXE 実装は管理ポート(GigabitEthernet0/0)のみを経由して動作するため、前面パネル ポートを介して送信される DHCP
要求はサポートされていません。
-
ブートローダがネットワーク送信元からイメージをダウンロードして起動します。
-
DHCP 応答が受信されない場合、ブートローダはブートローダ設定に基づいて、DHCP 要求を期限なしで、または指定された期間の間送信し続けます。タイムアウトが発生すると、ブートローダはデバイスベースのブートに戻ります。設定されたブート モードが
ipxe-forever である場合にのみ、スイッチは DHCP 要求を期限なしで送信します。ipxe-timeout
ブート モード コマンドが設定されている場合、DHCP 要求は指定された時間の間送信され、タイムアウトが経過すると、スイッチはデバイス ブートに戻ります。
手動ブートが無効になっている場合、ブートローダは、設定された iPXE ROMMON 変数の値に基づいて、デバイス ブートを実行するかネットワーク ブートを実行するかを決定します。手動ブートが有効か無効かにかかわらず、ブートローダは BOOTMODE
変数を使用して、デバイス ブートとネットワーク ブートのどちらを実行するかを決定します。手動ブートとは、起動プロセスを開始するには、ユーザが手動で boot
manual
switch コマンドを入力する必要があることを意味します。手動ブートが無効になっている場合に、スイッチをリロードすると、起動プロセスが自動的に開始されます。
iPXE が無効になっている場合は、デバイスの起動方法の決定に、既存の BOOT 変数のコンテンツが使用されます。BOOT 変数には、ネットワークベースの Uniform Resource Identifier(URI)(たとえば、http://、ftp://、tftp://)が含まれている場合があり、ネットワーク
ブートが開始されます。しかし、ネットワーク イメージ パスの取得に DHCP は使用されません。デバイス IP アドレスは、IP_ADDR 変数から取得されます。BOOT 変数には、デバイスベースのパスが含まれている場合もあり、この場合は、デバイスベースのブートが開始されます。
起動目的でリモート DHCP サーバ上で UUT を識別するには、シャーシのシリアル番号(DHCP オプション 61 で使用可能)、製品 ID(PID)(DHCP オプション 60 で使用可能)、またはスイッチの MAC アドレスを使用します。show inventory および show switch コマンドを使用した場合も、スイッチにこれらの値が表示されます。
次に、show inventory コマンドの出力例を示します。Switch# show inventory
NAME:“c38xx Stack”, DESCR:“c38xx Stack”
PID:WS-3850-12X-48U-L, VID:V01 , SN: F0C1911V01A
NAME:“Switch 1”, DESCR:“WS-C3850-12X48U-L”
PID:WS-C3850-12X48U-L, VID:V01 , SN:F0C1911V01A
NAME:”Switch1 -Power Supply B”, DESCR:“Switch1 -Power Supply B”
PID:PWR-C1-1100WAC, VID:V01, SN:LIT1847146Q
次の ROMmon 変数が iPXE に設定されている必要があります。