この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
目次
この章の内容は、次のとおりです。
PowerOn Auto Provisioning(POAP)は、ネットワークに初めて導入されたデバイスに対して、ソフトウェア イメージのアップグレードとコンフィギュレーション ファイルのインストールのプロセスを自動化します。
POAP 機能を備えたデバイスは、起動時にスタートアップ コンフィギュレーションが見つからないと、POAP モードを開始し、DHCP サーバを検索し、自分のインターフェイス IP アドレス、ゲートウェイ、および DNS サーバ IP アドレスを自力で設定します。 デバイスは TFTP サーバの IP アドレスまたは HTTP サーバの URL を取得し、コンフィギュレーション スクリプトをダウンロードします。このスクリプトはスイッチをイネーブルにして、適切なソフトウェア イメージとコンフィギュレーション ファイルをダウンロードしてインストールします。
![]() (注) |
DHCP 情報は、POAP 処理中にだけ使用されます。 |
必要なインストール ファイルが格納されている Universal Serial Bus(USB)デバイスが使用できない場合、POAP には次のネットワーク インフラストラクチャが必要です。
インターフェイス IP アドレス、ゲートウェイ アドレス、およびドメイン ネーム システム(DNS)サーバをブートストラップする DHCP サーバ。
ソフトウェア イメージのインストールと設定のプロセスを自動化するコンフィギュレーション スクリプトが保管されている TFTP サーバ。
必要なソフトウェア イメージとコンフィギュレーション ファイルが保管されている 1 台以上のサーバ。
シスコから提供される参照スクリプトでは、次の機能がサポートされています。
スイッチ固有の識別子(シリアル番号など)を取得します。
スイッチ上に 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 処理のフロー図を示します。
デバイスの電源を初めて投入すると、デバイスは製造時にインストールされたソフトウェア イメージをロードし、起動に使用するコンフィギュレーション ファイルを探します。 コンフィギュレーション ファイルが見つからなかった場合、POAP モードが開始されます。
起動中、POAP を中止して通常のセットアップに進むかどうかを確認するプロンプトが表示されます。 POAP を終了することも、続行することもできます。
![]() (注) |
POAP を続行する場合、ユーザの操作は必要ありません。 POAP を中止するかどうかを確認するプロンプトは、POAP 処理が完了するまで表示され続けます。 |
POAP モードを終了すると、通常のインタラクティブなセットアップ スクリプトが開始されます。 POAP モードを続行すると、すべての前面パネルのインターフェイスはデフォルト設定で設定されます。
スイッチは、前面パネルのインターフェイスまたは 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 オファーが受信された場合は、1 つのオファーがランダムに選択されます。 デバイスは、選択された DHCP サーバとの DHCP ネゴシエーション(要求と確認応答)を実行し、DHCP サーバはスイッチに IP アドレスを割り当てます。 POAP 処理の後続のステップでエラーが発生すると、IP アドレスは DHCP に戻されます。
要件を満たす DHCP オファーが存在しない場合、スイッチは DHCP ネゴシエーション(要求と確認応答)を実行せず、IP アドレスは割り当てられません。
デバイスが DHCP 確認応答の情報を使用してデバイス自体をブートストラップした後で、スクリプト ファイルが TFTP サーバからダウンロードされます。
スイッチは、コンフィギュレーション スクリプトを実行します。これにより、ソフトウェア イメージのダウンロードとインストール、およびスイッチ固有のコンフィギュレーション ファイルのダウンロードが行われます。
ただし、この時点では、コンフィギュレーション ファイルはスイッチに適用されません。スイッチ上で現在実行中のソフトウェア イメージがコンフィギュレーション ファイル内の一部のコマンドをサポートしていない可能性があるためです。 新しいソフトウェア イメージがインストールされた場合、スイッチのリブート後にそのソフトウェア イメージの実行が開始されます。 その時点でスイッチにコンフィギュレーションが適用されます。
![]() (注) |
スイッチの接続が切断されると、スクリプトは停止し、スイッチはオリジナルのソフトウェア イメージとブートアップ変数をリロードします。 |
スイッチが再起動し、アップグレードされたソフトウェア イメージ上でコンフィギュレーションが適用(リプレイ)されます。 その後、スイッチは、実行コンフィギュレーションをスタートアップ コンフィギュレーションにコピーします。
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 を使用するようネットワーク環境がセットアップされていることを確認します。
設定を確認します。
POAP を使用してデバイスのブートストラップ後の設定を確認するには、次のコマンドのいずれかを使用します。
コマンド |
目的 |
---|---|
show running-config |
実行コンフィギュレーションを表示します。 |
show startup-config |
スタートアップ コンフィギュレーションを表示します。 |
目次
この章の内容は、次のとおりです。
- PowerOn Auto Provisioning について
- POAP の注意事項および制約事項
- POAP を使用するためのネットワーク環境の設定
- POAP を使用するスイッチの設定
- デバイス コンフィギュレーションの確認
PowerOn Auto Provisioning について
PowerOn Auto Provisioning(POAP)は、ネットワークに初めて導入されたデバイスに対して、ソフトウェア イメージのアップグレードとコンフィギュレーション ファイルのインストールのプロセスを自動化します。
POAP 機能を備えたデバイスは、起動時にスタートアップ コンフィギュレーションが見つからないと、POAP モードを開始し、DHCP サーバを検索し、自分のインターフェイス IP アドレス、ゲートウェイ、および DNS サーバ IP アドレスを自力で設定します。 デバイスは TFTP サーバの IP アドレスまたは HTTP サーバの URL を取得し、コンフィギュレーション スクリプトをダウンロードします。このスクリプトはスイッチをイネーブルにして、適切なソフトウェア イメージとコンフィギュレーション ファイルをダウンロードしてインストールします。
(注)
DHCP 情報は、POAP 処理中にだけ使用されます。
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 の文字列です。
POAP 処理
POAP プロセスには次のフェーズがあります。
これらのフェーズ内では、他の処理や分岐点が発生します。 次に、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 サーバからの次のオプションを要請します。要件を満たす複数の DHCP オファーが受信された場合は、1 つのオファーがランダムに選択されます。 デバイスは、選択された DHCP サーバとの DHCP ネゴシエーション(要求と確認応答)を実行し、DHCP サーバはスイッチに IP アドレスを割り当てます。 POAP 処理の後続のステップでエラーが発生すると、IP アドレスは DHCP に戻されます。
要件を満たす DHCP オファーが存在しない場合、スイッチは DHCP ネゴシエーション(要求と確認応答)を実行せず、IP アドレスは割り当てられません。
スクリプトの実行フェーズ
デバイスが 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 を使用するためのネットワーク環境の設定
手順
POAP を使用するスイッチの設定