Cisco Nexus 9000 シリーズ NX-OS 基本設定ガイド、リリース 6.x
PowerOn Auto Provisioning の使用方法
PowerOn Auto Provisioning の使用方法

PowerOn Auto Provisioning の使用方法

この章の内容は、次のとおりです。

PowerOn Auto Provisioning について

PowerOn Auto Provisioning(POAP)は、ネットワークに初めて導入されたデバイスに対して、ソフトウェア イメージのアップグレードとコンフィギュレーション ファイルのインストールのプロセスを自動化します。

POAP 機能を備えたデバイスは、起動時にスタートアップ コンフィギュレーションが見つからないと、POAP モードを開始し、DHCP サーバを検索し、自分のインターフェイス IP アドレス、ゲートウェイ、および DNS サーバ IP アドレスを自力で設定します。 デバイスは TFTP サーバの IP アドレスまたは HTTP サーバの URL を取得し、コンフィギュレーション スクリプトをダウンロードします。このスクリプトはスイッチをイネーブルにして、適切なソフトウェア イメージとコンフィギュレーション ファイルをダウンロードしてインストールします。


(注)  


DHCP 情報は、POAP 処理中にだけ使用されます。


POAP のためのネットワーク要件

必要なインストール ファイルが格納されている Universal Serial Bus(USB)デバイスが使用できない場合、POAP には次のネットワーク インフラストラクチャが必要です。

  • インターフェイス IP アドレス、ゲートウェイ アドレス、およびドメイン ネーム システム(DNS)サーバをブートストラップする DHCP サーバ。

  • ソフトウェア イメージのインストールと設定のプロセスを自動化するコンフィギュレーション スクリプトが保管されている TFTP サーバ。

  • 必要なソフトウェア イメージとコンフィギュレーション ファイルが保管されている 1 台以上のサーバ。

図 1. POAP ネットワーク インフラストラクチャ

POAP コンフィギュレーション スクリプト

シスコから提供される参照スクリプトでは、次の機能がサポートされています。

  • スイッチ固有の識別子(シリアル番号など)を取得します。

  • スイッチ上に nx-os ソフトウェア イメージがまだ存在しない場合は、ファイルをダウンロードします。 nx-os イメージがスイッチ上にインストールされ、次回のリブート時に使用されます。

  • ダウンロードされた設定がスイッチの次回のリブート時に適用されるようにスケジュールします。

  • スタートアップ コンフィギュレーションとして設定を保存します。

Python プログラミング言語と Tool Command Language(Tcl)を使用して開発されたコンフィギュレーション スクリプトのサンプルが用意されています。 これらのスクリプトのいずれかを、自分のネットワーク環境に合わせてカスタマイズできます。 次のリンクで Python スクリプトにアクセスして、Cisco Nexus 9000 シリーズ スイッチ上の POAP を実行できます。https:/​/​github.com/​datacenter/​nexus9000/​tree/​master/​nx-os/​poap

Python プログラミング言語は CLI Commands を実行できる 2 つの API を使用します。 これらの API については、次の表で説明します。 これらの API の引数は CLI Commands の文字列です。

API

説明

cli()

制御文字、特殊文字を含む CLI Commands の未処理の出力を返します。

clid()

XML をサポートする CLI Commands の場合、この API はコマンド出力を Python ディクショナリに配置します。

この API は、show コマンドの出力の検索に役立ちます。

POAP 処理

POAP プロセスには次のフェーズがあります。

  1. 電源投入

  2. USB の検出

  3. DHCP の検出

  4. スクリプトの実行

  5. インストール後のリロード

これらのフェーズ内では、他の処理や分岐点が発生します。 次に、POAP 処理のフロー図を示します。

図 2. POAP 処理

電源投入フェーズ

デバイスの電源を初めて投入すると、デバイスは製造時にインストールされたソフトウェア イメージをロードし、起動に使用するコンフィギュレーション ファイルを探します。 コンフィギュレーション ファイルが見つからなかった場合、POAP モードが開始されます。

起動中、POAP を中止して通常のセットアップに進むかどうかを確認するプロンプトが表示されます。 POAP を終了することも、続行することもできます。


(注)  


POAP を続行する場合、ユーザの操作は必要ありません。 POAP を中止するかどうかを確認するプロンプトは、POAP 処理が完了するまで表示され続けます。


POAP モードを終了すると、通常のインタラクティブなセットアップ スクリプトが開始されます。 POAP モードを続行すると、すべての前面パネルのインターフェイスはデフォルト設定で設定されます。

DHCP 検出フェーズ

スイッチは、前面パネルのインターフェイスまたは MGMT インターフェイスで、DHCP サーバからの DHCP オファーを要請する DHCP 検出メッセージを送信します。 (次の図を参照)。Cisco Nexus スイッチ上の DHCP クライアントは、クライアント ID オプションにスイッチ シリアル番号を使用して、それ自体を DHCP サーバに識別させます。 DHCP サーバはこの ID を使用して、IP アドレスやスクリプト ファイル名などの情報を DHCP クライアントに返すことができます。

POAP には、最低 3600 秒(1 時間)の DHCP リース期間が必要です。 POAP は、DHCP リース期間を確認します。 DHCP リース期間が 3600 秒(1 時間)に満たない場合、POAP は DHCP ネゴシエーションを完了できません。

また、DHCP 検出メッセージでは、DHCP サーバからの次のオプションを要請します。
  • TFTP サーバ名または TFTP サーバ アドレス:DHCP サーバは TFTP サーバ名または TFTP サーバ アドレスを DHCP クライアントに中継します。 DHCP クライアントはこの情報を使用して TFTP サーバに接続し、スクリプト ファイルを取得します。

  • ブートファイル名:DHCP サーバは DHCP クライアントにブートファイル名を中継します。 ブートファイル名には、TFTP サーバ上のブートファイルへの完全パスが含まれます。 DHCP クライアントは、この情報を使用してスクリプト ファイルをダウンロードします。

要件を満たす複数の DHCP オファーが受信された場合は、1 つのオファーがランダムに選択されます。 デバイスは、選択された DHCP サーバとの DHCP ネゴシエーション(要求と確認応答)を実行し、DHCP サーバはスイッチに IP アドレスを割り当てます。 POAP 処理の後続のステップでエラーが発生すると、IP アドレスは DHCP に戻されます。

要件を満たす DHCP オファーが存在しない場合、スイッチは DHCP ネゴシエーション(要求と確認応答)を実行せず、IP アドレスは割り当てられません。

図 3. DHCP 検出プロセス

スクリプトの実行フェーズ

デバイスが DHCP 確認応答の情報を使用してデバイス自体をブートストラップした後で、スクリプト ファイルが TFTP サーバからダウンロードされます。

スイッチは、コンフィギュレーション スクリプトを実行します。これにより、ソフトウェア イメージのダウンロードとインストール、およびスイッチ固有のコンフィギュレーション ファイルのダウンロードが行われます。

ただし、この時点では、コンフィギュレーション ファイルはスイッチに適用されません。スイッチ上で現在実行中のソフトウェア イメージがコンフィギュレーション ファイル内の一部のコマンドをサポートしていない可能性があるためです。 新しいソフトウェア イメージがインストールされた場合、スイッチのリブート後にそのソフトウェア イメージの実行が開始されます。 その時点でスイッチにコンフィギュレーションが適用されます。


(注)  


スイッチの接続が切断されると、スクリプトは停止し、スイッチはオリジナルのソフトウェア イメージとブートアップ変数をリロードします。


インストール後のリロード フェーズ

スイッチが再起動し、アップグレードされたソフトウェア イメージ上でコンフィギュレーションが適用(リプレイ)されます。 その後、スイッチは、実行コンフィギュレーションをスタートアップ コンフィギュレーションにコピーします。

POAP の注意事項および制約事項

POAP 設定時の注意事項および制約事項は次のとおりです。

  • POAP が機能するためには、スイッチ ソフトウェア イメージが POAP をサポートしている必要があります。

  • POAP では、スイッチが設定されて動作可能になった後のスイッチのプロビジョニングをサポートしません。 スタートアップ コンフィギュレーションのないスイッチの自動プロビジョニングだけがサポートされます。

  • 仮想ポート チャネル(vPC)リンクでスタティック ポート チャネルを使用している vPC ペアの一部である Cisco Nexus デバイスを、POAP を使用してブートストラップする場合、Cisco Nexus デバイスは POAP の起動時にそのすべてのリンクをアクティブにします。 vPC のリンクの端に二重接続されているデバイスは、Cisco Nexus デバイスに接続されているポート チャネル メンバ リンクにそのトラフィックの一部またはすべての送信を開始する場合があり、トラフィックが失われることがあります。

    この問題を回避するには、リンクが POAP を使用してブートストラップされている Cisco Nexus デバイスへのトラフィックの転送を誤って開始しないように、vPC リンクにリンク集約制御プロトコル(LACP)を設定します。

  • POAP を使用して、LACP ポート チャネル経由で Cisco Nexus 9000 シリーズ スイッチのダウンストリームに接続されている Cisco Nexus デバイスをブートストラップした場合、メンバー ポートをポート チャネルの一部としてバンドルできないと、Cisco Nexus 9000 シリーズ スイッチはデフォルトでそのメンバー ポートを一時停止します。 この問題を回避するには、インターフェイス コンフィギュレーション モードから no lacp suspend-individual コマンドを使用して、そのメンバー ポートを一時停止しないように Cisco Nexus 9000 シリーズ スイッチを設定します。

  • 重要な POAP の更新は syslog に記録され、シリアル コンソールから使用可能になります。

  • 重大な POAP エラーは、ブートフラッシュに記録されます。 ファイル名のフォーマットは date-time_poap_PID_[init,1,2].log です。ここで、date-time のフォーマットは YYYYMMDD_hhmmss で、PID はプロセス ID になります。

  • スクリプト ログは、ブートフラッシュ ディレクトリに保存されます。 ファイル名のフォーマットは date-time_poap_PID_script.log です。ここで、date-time のフォーマットは YYYYMMDD_hhmmss で、PID はプロセス ID になります。

    スクリプトのログ ファイルの形式を設定できます。 スクリプト ファイルのログ形式は、スクリプトで指定されます。 スクリプトのログ ファイルのテンプレートにはデフォルトの形式があります。ただし、スクリプト実行ログ ファイルに別の形式を選択できます。

  • POAP 機能にライセンスは必要ありません。デフォルトでイネーブルになっています。 ただし、POAP 機能が正しく動作するためには、ネットワークの導入前に適切なライセンスがネットワーク内のデバイスにインストールされている必要があります。


    (注)  


    適切なライセンスをインストールすることなく、POAP 機能を一時的に使用するには、コンフィギュレーション ファイルで license grace-period コマンドを指定できます。 この回避策では、適切なライセンスを後からインストールすることができます。


POAP を使用するためのネットワーク環境の設定

手順
    ステップ 1   シスコが提供する基本設定スクリプトを変更するか、独自のスクリプトを作成します。
    ステップ 2   (任意)POAP のコンフィギュレーション スクリプトおよびその他の必要なソフトウェア イメージおよびスイッチのコンフィギュレーション ファイルを、スイッチにアクセスできる USB デバイスに配置します。
    ステップ 3   DHCP サーバを配置し、このサーバにインターフェイス、ゲートウェイ、および TFTP サーバの IP アドレスと、コンフィギュレーション スクリプト ファイルのパスと名前が指定されたブートファイルを設定します。 (この情報は、最初の起動時にスイッチに提供されます)。

    すべてのソフトウェア イメージおよびスイッチ コンフィギュレーション ファイルが USB デバイスにある場合は、DHCP サーバを配置する必要はありません。

    ステップ 4   コンフィギュレーション スクリプトをホストするための TFTP サーバを配置します。
    ステップ 5   ソフトウェア イメージおよびコンフィギュレーション ファイルをホストするための 1 つまたは複数のサーバを配置します。

    POAP を使用するスイッチの設定

    はじめる前に

    POAP を使用するようネットワーク環境がセットアップされていることを確認します。

    手順
      ステップ 1   ネットワークにスイッチを設置します。
      ステップ 2   スイッチの電源を入れます。

      コンフィギュレーション ファイルが存在しない場合、スイッチは POAP モードで起動し、POAP を中止して、通常の設定を続行するかどうかを尋ねるプロンプトが表示されます。

      POAP モードで起動を続行するためのエントリは必要ありません。

      ステップ 3   (任意)POAP モードを終了して、通常のインタラクティブ セットアップ スクリプトを開始する場合は、y(yes)を入力します。

      スイッチが起動して、POAP 処理が開始されます。


      次の作業

      設定を確認します。

      デバイス コンフィギュレーションの確認

      POAP を使用してデバイスのブートストラップ後の設定を確認するには、次のコマンドのいずれかを使用します。

      コマンド

      目的

      show running-config

      実行コンフィギュレーションを表示します。

      show startup-config

      スタートアップ コンフィギュレーションを表示します。