iPXE

iPXE について

iPXE は、オープンソースのネットワークブートファームウェアです。 iPXE は、Etherboot から派生したオープンソースの PXE クライアントファームウェアおよびブートローダーである gPXE に基づいています。標準の PXE クライアントは TFTP を使用してデータを転送しますが、gPXE はより多くのプロトコルをサポートします。

標準 PXE よりも iPXE が提供する追加機能のリストを次に示します。

  • HTTP、iSCSI SAN、FCoE などを介した Web サーバーからのブート

  • IPv4 と IPv6 の両方をサポート

  • Netboot は HTTP/TFTP、IPv4、および IPv6 をサポート

  • イメージへの埋め込みスクリプトや、HTTP/TFTP によって提供されるスクリプトなどをサポートします。

  • DHCPv6 のステートレス アドレス自動設定(SLAAC)およびステートフル IP 自動設定バリアントをサポートします。 iPXE は、DHCPv6 オプションのブート URI とパラメータをサポートします。これは、IPv6 ルータ アドバタイズメントに依存します。

さらに、次のようなセキュリティ上の理由から、iPXE の既存の機能の一部が無効になっています。

  • bzImage+initramfs/initrd、または ISO などの標準 Linux イメージ形式のブート サポート

  • FCoE、iSCSI SAN、ワイヤレスなどの未使用のネットワークブートオプション

  • 適切にコード署名されていないシステムイメージを起動できるため、サポートされていない NBP(syslinux/pxelinux など)のロード。

ネットブート要件

主要な要件は次のとおりです。

  • 適切に構成された DHCP サーバー。

  • TFTP/HTTP サーバー。

  • デバイスが PXE ブートされるときに NX-OS がイメージをダウンロードするため、デバイスのブートフラッシュに十分なスペース。

  • IPv4/IPv6 サポート:導入の柔軟性を向上

iPXE に関する注意事項と制限事項

PXE に関する注意事項と制限事項は次のとおりです。

  • iPXE による自動ブート中には 3 秒間の猶予時間があり、Ctrl+B を入力して PXE ブートを終了できます。次のオプションのプロンプトが表示されます。

    Please choose a bootloader shell:
    1). GRUB shell
    2). PXE shell
    Enter your choice:
  • HTTP イメージのダウンロードと TFTP:TFTP は UDP ベースのプロトコルであるため、パケット損失が発生し始めた場合に問題が発生する可能性があります。TCP はウィンドウベースのプロトコルであり、帯域幅の共有または損失をより適切に処理できます。そのため、Cisco NX-OS イメージのサイズが 250 M バイトを超える場合には、TCP ベースのプロトコル サポートの方が適しています。

  • iPXE は、シスコの署名付き NBI イメージのみを許可し、ブートを実行します。その他の標準イメージ形式は、セキュリティ上の理由からサポートが無効にされています。

  • 複数のスーパーバイザがあるスイッチでは、PXE ブートに設定されたスーパーバイザ A+ および B+ の動作は、スーパーバイザ A または B の動作とは異なります。

    スーパーバイザ A+ または B+ が最初に PXE ブートから起動し、次にブートフラッシュから起動するように構成されている場合、スーパーバイザは連続して PXE からの起動を試行し、PXE ブートの再試行が失敗してもブートフラッシュ(GRUB)に切り替えません。ブートフラッシュから起動するには、スーパーバイザを手動でリロードする必要があります。

    PXE ブートは、Ctrl+C を入力して中断できます。その後 Ctrl+B を入力すると、PXE ブートを停止するためのプロンプトが表示されます。手動でスーパーバイザをリロードすると、ブートフラッシュから起動します。

    この制限は、スーパーバイザ A+ および B+ にのみ適用されます。同様の構成で、スーパーバイザ A と B は、自動的にリブートしてブートフラッシュからロードする前に、PXE ブートを 4 回試行します。

ブート モードの構成

VSH CLI

switch# configure terminal
switch(conf)# boot order bootflash|pxe [bootflash|pxe]
switch(conf)# end

(注)  


キーワードは、Grub ベースのブートであることを示します。bootflash


たとえば、PXE ブート モードのみを実行する場合、コンフィギュレーション コマンドは次のようになります。

switch(conf)# boot order pxe

最初に Grub を起動し、次に PXE を起動するには、次の手順を実行します。

switch(conf)# boot order bootflash pxe

最初に PXE を起動し、次に Grub を起動するには、次の手順を実行します。

switch(conf)# boot order pxe bootflash


(注)  


スーパーバイザ A+ または B+ で を設定すると、スーパーバイザは継続的に PXE ブートを試行します。boot order pxe bootflash スーパーバイザ A+ または B+ は、手動による介入なしでは GRUB からのブートに切り替わりません。


コマンドを使用しない場合、デフォルトのブート順序は Grub です。boot order


(注)  


次のセクションでは、Grub と iPXE を切り替える方法について説明します。


GRUB CLI

[ | | | ] bootmode-g-p-p2g-g2p

キーワード

機能

-g

GRUBのみ

-p

PXE のみ

-p2g

最初に PXE、次に PXE が失敗した場合は Grub

-g2p

最初に Grub、次に Grub が失敗した場合は PXE

Grub CLI は、完全な Cisco NX-OS イメージを起動せずにシリアル コンソールからブート モードを切り替える場合に役立ちます。また、継続的な PXE ブート状態からボックスを取得するためにも使用できます。

iPXE CLI

[ | ] [ | ] [ | ] [ | ] bootmode-g--grub-p--pxe-a--pxe2grub-b--grub2pxe

キーワード

機能

– – grub

GRUBのみ

– – pxe

PXE のみ

– – pxe2grub

最初に PXE、次に PXE が失敗した場合は Grub

– – grub2pxe

最初に Grub、次に Grub が失敗した場合は PXE

iPXE CLI は、完全な Cisco NX-OS イメージを起動せずにシリアル コンソールからブート モードを切り替える場合に役立ちます。また、継続的な PXE ブート状態からボックスを取得するためにも使用できます。

ブート順の構成の確認

ブート順の構成情報を表示するには、次のコマンドを入力します。

コマンド

目的

show boot order

実行コンフィギュレーションからの現在のブート順序と、スタートアップ コンフィギュレーションからの次のリロード時のブート順序値を表示します。