コンフィギュレーションの置換の実行

この章は、次の項で構成されています。

コンフィギュレーションの置換とコミットタイムアウトについて

コンフィギュレーションの置換機能を使用すると、デバイスをリロードすることなく Cisco Nexus スイッチの実行コンフィギュレーションをユーザ指定のコンフィギュレーションに置換できます。コンフィギュレーション自体でリロードが必要な場合にのみ、デバイスのリロードが必要になることがあります。ユーザ指定のコンフィギュレーションは、Cisco NX-OS デバイスで受信した実行コンフィギュレーションです。copy file: to running と異なり、コンフィギュレーションの置換機能はマージ操作ではありません。この機能では、実行コンフィギュレーション全体が、ユーザによって提供される新しいコンフィギュレーションに置換されます。コンフィギュレーションの置換に障害がある場合は、元のコンフィギュレーションがスイッチで復元されます。

コミットタイムアウト機能を使用すると、コンフィギュレーションの置換操作の実行に成功した後に以前のコンフィギュレーションにロールバックすることができます。コミット タイマーの期限が切れると、ロールバック操作は自動的に開始されます。


(注)  

  • コンフィギュレーションの置換機能は特定の顧客設定プロファイルに対してテストされていますが、この機能はすべてのコンフィギュレーション コマンドをサポートしていません。

  • Cisco NX-OS デバイスで受信済みの有効な実行コンフィギュレーションを提供する必要があります。部分コンフィギュレーションにすることはできません。


概要

コンフィギュレーションの置換機能では、次の操作手順によって現在のロールバック インフラストラクチャを活用します。

  • コンフィギュレーションの置換では、Cisco Nexus スイッチの現在の実行コンフィギュレーションとユーザ指定のコンフィギュレーションとの間の違いをインテリジェントに計算し、2 ファイルの差異のパッチ ファイルを生成します。コンフィギュレーション コマンドのセットが含まれているこのパッチ ファイルは表示できます。

  • コンフィギュレーションの置換では、実行中のコマンドと同様にパッチ ファイルのコンフィギュレーション コマンドが適用されます。


    (注)  

    コンフィギュレーションの置換機能はアトミックであるため、コンフィギュレーションの適用中にエラーがある場合は、その時点で中断し、スイッチを元の実行コンフィギュレーションに復元します。
  • コンフィギュレーションは、次の状況下で以前の実行コンフィギュレーションにロールバックまたは復元されます。

    • パッチ ファイルが適用された後、コンフィギュレーションに不一致がある場合。

    • コミット タイムアウトを使用してコンフィギュレーション操作を実行し、コミット タイマーが期限切れになった場合。

  • show config-replace log exec コマンドを使用すると、エラーが発生したコンフィギュレーションそのものを表示できます。

  • スイッチを元のコンフィギュレーションに復元するときにエラーが発生しても復元操作は中断されません。復元操作は、残りのコンフィギュレーションを続行します。復元操作中にエラーが発生したコマンドを一覧表示するには、show config-replace log exec コマンドを使用します。

  • タイマーの期限が切れる前に configure replace commit コマンドを入力した場合、コミット タイマーは停止し、コンフィギュレーションの置換機能によって適用されているユーザ指定のコンフィギュレーションでスイッチが稼働します。

  • コミット タイマーの期限が切れると、以前のコンフィギュレーションへのロールバックは自動的に開始されます。

コンフィギュレーションの置換と実行コンフィギュレーションへのファイルのコピーとの違いは、次のとおりです。

コンフィギュレーションの置換

ファイルのコピー

configure replace <target-url> コマンドでは、現在の実行コンフィギュレーションにのみ含まれ、置換ファイルには存在しないコマンドは削除されます。また、現在の実行コンフィギュレーションに追加する必要があるコマンドも追加されます。

copy <source-url> running-config コマンドはマージ動作であり、ソース ファイルと現在の実行コンフィギュレーションの両方のコマンドがすべて保持されます。このコマンドでは、現在の実行コンフィギュレーションにのみ含まれ、ソース ファイルには存在しないコマンドが削除されることはありません。

configure replace <target-url> コマンドの交換ファイルには、完全な Cisco NX-OS コンフィギュレーション ファイルを使用する必要があります。

copy <source-url> running-config コマンドのコピー元ファイルとして、部分コンフィギュレーション ファイルを使用できます。

コンフィギュレーションの置換の利点

コンフィギュレーションの置換の利点は次のとおりです。

  • スイッチをリロードしたり、CLI で実行コンフィギュレーション ファイルに加えた変更を手動で元に戻したりすることなく、現在の実行コンフィギュレーション ファイルをユーザ指定のコンフィギュレーション ファイルと置換できます。その結果、システムのダウンタイムが減少します。

  • 保存済みの Cisco NX-OS コンフィギュレーションの状態に戻すことができます。

  • 追加や削除が必要なコマンドだけが影響を受ける場合、デバイスに完全なコンフィギュレーション ファイルを適用することができるため、コンフィギュレーションの変更が簡素化されます。その他のサービスおよび変更されていないコンフィギュレーションには影響しません。

  • コミットタイムアウト機能を設定すると、コンフィギュレーションの置換操作が成功したときでも以前のコンフィギュレーションにロールバックすることができます。

コンフィギュレーションの置換に関する注意事項と制限事項

コンフィギュレーションの置換機能には、コンフィギュレーションに関する次のガイドラインと制限事項があります。

  • コンフィギュレーションの置換、チェックポイント、ロールバック操作、または実行コンフィギュレーションからスタートアップ コンフィギュレーションへのコピーを同時に実行できるのは、1 ユーザだけです。複数の Telnet/SSH または NX-API セッション経由の操作などのパラレル操作はサポートされていません。複数のコンフィギュレーションの置換またはロールバック要求はシリアル化され、たとえば、最初の要求の完了後にのみ、2 番目の要求の処理が開始されます。

  • コミット タイマーの実行中に別のコンフィギュレーションの置換操作を開始することはできません。configure replace commit コマンドを使用してタイマーを停止するか、またはコミット タイマーの期限が切れるまで待機してから別のコンフィギュレーションの置換操作を開始する必要があります。

  • コミットタイムアウト機能は、コミットタイムアウトを使用してコンフィギュレーションの置換操作を実行する場合にのみ開始されます。タイマー値の範囲は 30 ~ 3600 秒です。

  • ユーザ指定のコンフィギュレーション ファイルは、Cisco NX-OS デバイスから取得(copy run file)された有効な show running-configuration の出力である必要があります。これは部分コンフィギュレーションにすることはできず、user admin などの必須コマンドが含まれている必要があります。

  • ソフトウェア バージョン違いで生成されたコンフィギュレーション ファイルでコンフィギュレーションの置換操作を実行することは、操作が失敗する可能性があるため推奨されません。ソフトウェア バージョンの変更があるたびに新しいコンフィギュレーション ファイルを再生成する必要があります。

  • コンフィギュレーションの置換操作が進行中の場合、他のセッションからはコンフィギュレーションを変更しないことを推奨します。操作が失敗する可能性があります。

  • コンフィギュレーションの置換機能については、次の点に注意してください。

    • FEX ライン カードがオフラインの場合、コンフィギュレーションの置換機能は動作しません。

    • コンフィギュレーションの置換機能は、リロードを必要とする機能をサポートしていません。このような機能の 1 例は、system vlan reserve です。

    • -R ライン カード搭載の Cisco Nexus 9500 プラットフォーム スイッチでは、コンフィギュレーションの置換機能はサポートされません。

    • スイッチ インターフェイスで継承されるポート プロファイルでは、コンフィギュレーションの置換機能はサポートされません。

    • コンフィギュレーションの置換機能は、configure terminal モード コマンドでのみサポートされます。configure profile、configure jobs、およびその他のモードはサポートされていません。

    • ブレークアウト インターフェイス コンフィギュレーションでは、コンフィギュレーションの置換機能はサポートされていません。

    • 実行コンフィギュレーションに feature-set mpls または mpls static range コマンドが含まれていて、MPLS なしでコンフィギュレーションに移動しようとしたり、ラベルの範囲を変更する場合、コンフィギュレーションの置換機能が失敗することがあります。

    • コンフィギュレーションの置換機能は、自動設定をサポートしていません。

  • コンフィギュレーションの置換機能が適用されるライン カードがオフラインである場合、コンフィギュレーションの置換操作は失敗します。

  • ユーザ コンフィギュレーションからのメンテナンス モードへの移行はサポートされていません。

  • メンテナンス モードから configure replace コマンドを使用すると、次の警告でユーザの確認が求められます。

    Warning: System is in maintenance mode. Please ensure user config won't inadvertently revert back config in maintenance mode profile.
                Do you wish to proceed anyway? (y/n)  [n]
  • <non-interactive> オプションを使用してメンテナンス モードから configure replace コマンドを使用することはサポートされています。デフォルトでは、yes のユーザ確認を受けてから進行します。

  • コンフィギュレーションを適用するために Cisco NX-OS デバイスをリロードする必要がある場合、これらのコンフィギュレーションをリロードしてからコンフィギュレーションの置換操作を行う必要があります。

  • ユーザ指定のコンフィギュレーション ファイルでのコマンドの順序は、Cisco Nexus スイッチの実行コンフィギュレーションでの順序と同じにする必要があります。

コンフィギュレーションの置換の推奨ワークフロー

コンフィギュレーションの置換の推奨されるワークフローを次に示します。

  1. Cisco Nexus シリーズ スイッチで最初にコンフィギュレーションを適用してコンフィギュレーション ファイルを生成してから、コンフィギュレーション ファイルとして show running-configuration 出力を使用します。このファイルは、必要に応じてコンフィギュレーションを変更できるファイルにする必要があります。この生成または更新されたコンフィギュレーション ファイルを使用してコンフィギュレーションの置換を実行します。


    (注)  

    ソフトウェア バージョンの変更があるたびにコンフィギュレーション ファイルを再生成する必要があります。ソフトウェア バージョン違いで生成されたコンフィギュレーション ファイルでコンフィギュレーションの置換操作を実行することは推奨されません。
  2. configure replace <file> show-patch コマンドを実行してパッチ ファイルを表示し、確認します。この手順は任意です。

  3. コミットタイムアウト機能を使用するか、またはスキップしてコンフィギュレーションの置換ファイルを実行します。要件に基づいて、次の手順のいずれかを実行できます。

    • コンフィギュレーションの置換で実行されるコマンドをコンソールに表示するには、configure replace <file> verbose を実行します。

    • コミット時間を設定するには、configure replace [bootflash /scp /sftp ] <user-configuration-file > verbose commit-timeouttime コマンドを実行します。

  4. configure replace commit コマンドを実行し、コミット タイマーを停止します。この手順は、コミットタイムアウト機能でコンフィギュレーションの置換操作を実行している場合に必要です。

  5. コンフィギュレーションのセマンティック検証を含むプレチェックをコンフィギュレーションの置換で実行し、エラーがある場合、コンフィギュレーションの置換操作は失敗します。失敗したコンフィギュレーションの詳細を表示するには、show config-replace log verify コマンドを使用します。パッチ ファイルを適用すると、コンフィギュレーションの置換によって、実行コンフィギュレーションをユーザ コンフィギュレーション ファイルと比較する検証プロセスがトリガーされます。不一致がある場合、スイッチは元のコンフィギュレーションに復元されます。不一致のコンフィギュレーションを表示するには、show config-replace log verify コマンドを使用します。

コンフィギュレーションの置換の実行

コンフィギュレーションの置換を実行するには、次の操作を行います。

手順

  コマンドまたはアクション 目的
ステップ 1

configure replace { <uri_local > | <uri_remote > } [verbose | show-patch ]

コンフィギュレーションの置換を実行します。コンフィギュレーションの置換の進行中にセッションを通じてコンフィギュレーションを変更すると、コンフィギュレーションの置換操作は失敗します。1 つのコンフィギュレーション要求がすでに進行中であるときにコンフィギュレーションの置換要求を送信すると、要求はシリアル化されます。

ステップ 2

configure replace [bootflash /scp /sftp ] <user-configuration-file > show-patch

実行コンフィギュレーションとユーザ指定のコンフィギュレーションの違いを表示します。

ステップ 3

configure replace [bootflash /scp /sftp ] <user-configuration-file > verbose

スイッチのコンフィギュレーションを、ユーザが提供する新しいユーザ コンフィギュレーションに置換します。コンフィギュレーションの置換は常にアトミックです。

ステップ 4

(任意) configure replace bootflash /scp /sftp ] <user-configuration-file > verbose commit-timeout time

(任意)

コミット時間を秒単位で設定します。タイマーは、コンフィギュレーションの置換操作が正常に完了した後に開始されます。

ステップ 5

(任意) configure replace [commit

(任意)
コミット タイマーを停止し、コンフィギュレーションの置換設定を続行します。
(注)   
この手順は、コミットタイムアウト機能を設定している場合にのみ適用されます。
(注)   
以前のコンフィギュレーションにロールバックするには、コミット タイマーの期限が切れるまで待機する必要があります。タイマーの期限が切れると、スイッチは自動的に以前のコンフィギュレーションにロールバックされます。
ステップ 6

(任意) configure replace non-interactive

(任意)

メンテナンス モードでは、ユーザ プロンプトはありません。デフォルトでは、yes のユーザ確認を受けてからロールバックが進行します。

コンフィギュレーションの置換の確認

コンフィギュレーションの置換とそのステータスをチェックして確認するには、表に記載されているコマンドを使用します。

表 1. コンフィギュレーションの置換の確認

コマンド

目的

configure replace [bootflash /scp /sftp ]<user-configuration-file ] show-patch

実行コンフィギュレーションとユーザ指定のコンフィギュレーションの違いを表示します。

show config-replace log exec

実行したすべてのコンフィギュレーションと失敗したコンフィギュレーションのログを表示します。エラーの場合、そのコンフィギュレーションに対してエラー メッセージが表示されます。

show config-replace log verify

失敗したコンフィギュレーションをエラー メッセージとともに表示します。成功したコンフィギュレーションは表示されません。

show config-replace status

コンフィギュレーションの置換操作のステータス(進行中、成功、失敗など)を表示します。コミットタイムアウト機能を設定している場合、コミットとタイマーのステータスに加え、コミット タイムアウトの残り時間も表示されます。

コンフィギュレーションの置換の例

以下のコンフィギュレーションの置換の設定例を参照してください。

  • configure replace bootflash: <file> show-patch CLI コマンドを使用して、実行コンフィギュレーションとユーザ指定のコンフィギュレーションの違いを表示します。

    switch(config)# configure replace bootflash:<file> show-patch 
    Collecting Running-Config
    Converting to checkpoint file
    #Generating Rollback Patch
    !!                                                                 
    no role name abc
  • configure replace bootflash: <file> verbose CLI コマンドを使用して、スイッチの実行コンフィギュレーション全体をユーザコンフィギュレーションに置換します。

    switch(config)# configure replace bootflash:<file> verbose 
    Collecting Running-Config
    Generating Rollback patch for switch profile
    Rollback Patch is Empty
    Note: Applying config parallelly may fail Rollback verification
    Collecting Running-Config
    #Generating Rollback Patch
    Executing Rollback Patch
    ========================================================
    config t
    no role name abc
    ========================================================
    Generating Running-config for verification
    Generating Patch for verification
    
    Rollback completed successfully.
    
    Sample Example with adding of BGP configurations.
    	switch(config)# sh run | section bgp
    	switch(config)# sh file bootflash:file | section bgp
    feature bgp
    router bgp 1
      		address-family ipv4 unicast
      		neighbor 1.1.1.1
    switch(config)#
    switch(config)# configure replace bootflash:file verbose
    Collecting Running-Config
    Generating Rollback patch for switch profile
    Rollback Patch is Empty
    Note: Applying config parallelly may fail Rollback verification
    Collecting Running-Config
    #Generating Rollback Patch
    Executing Rollback Patch
    ========================================================
    config t
    feature bgp
    router bgp 1
    address-family ipv4 unicast
    neighbor 1.1.1.1
    ========================================================
    Generating Running-config for verification
    Generating Patch for verification
    
    Rollback completed successfully.
    
    switch(config)# sh run | section bgp
    feature bgp
    router bgp 1
      address-family ipv4 unicast
      neighbor 1.1.1.1
    
    Sample Example with ACL
    	switch(config)# configure replace bootflash:run_1.txt
    	Collecting Running-Config
    	Generating Rollback patch for switch profile
    	Rollback Patch is Empty
    	Note: Applying config parallelly may fail Rollback verification
    	Collecting Running-Config
    	#Generating Rollback Patch
    	Executing Rollback Patch
    	========================================================
    	config t
    	no ip access-list nexus-50-new-xyz
    	ip access-list nexus-50-new-xyz-jkl-abc
    	10 remark Newark
    	20 permit ip 17.31.5.0/28 any
    	30 permit ip 17.34.146.193/32 any
    	40 permit ip 17.128.199.0/27 any
    	50 permit ip 17.150.128.0/22 any
    	========================================================
    	Generating Running-config for verification
    	Generating Patch for verification
    
    	Rollback completed successfully.
    
    	switch(config)#
    
    
    	switch(config)# show run aclmgr | sec nexus-50-new-xyz-jkl-abc
    	ip access-list nexus-50-new-xyz-jkl-abc
      	10 remark Newark
     	 20 permit ip 17.31.5.0/28 any
      	30 permit ip 17.34.146.193/32 any
      	40 permit ip 17.128.199.0/27 any
      	50 permit ip 17.150.128.0/22 any
  • show config-replace log exec CLI コマンドを使用して、実行したコンフィギュレーションと、存在する場合はエラーをすべて確認します。

    switch(config)# show config-replace log exec 
    Operation            : Rollback to Checkpoint File
    Checkpoint file name : .replace_tmp_28081
    Scheme               : tmp
    Rollback done By     : admin
    Rollback mode        : atomic
    Verbose              : enabled
    Start Time           : Wed, 06:39:34 25 Jan 2017
    --------------------------------------------------------------------------------
    
    time: Wed, 06:39:47 25 Jan 2017
    Status: SUCCESS
    End Time             : Wed, 06:39:47 25 Jan 2017
    Rollback Status      : Success
    
    Executing Patch:
    ----------------
    switch#config t
    switch#no role name abc
    
  • show config-replace log verify CLI コマンドを使用して、存在する場合は失敗したコンフィギュレーションを確認します。

    switch(config)# show config-replace log verify 
    Operation            : Rollback to Checkpoint File
    Checkpoint file name : .replace_tmp_28081
    Scheme               : tmp
    Rollback done By     : admin
    Rollback mode        : atomic
    Verbose              : enabled
    Start Time           : Wed, 06:39:34 25 Jan 2017
    End Time             : Wed, 06:39:47 25 Jan 2017
    Status               : Success
    
    Verification patch contains the following commands:
    ---------------------------------------------------
    !!                                                                  
    ! No changes
    --------------------------------------------------------------------------------
    
    time: Wed, 06:39:47 25 Jan 2017
    Status: SUCCESS
    
  • show config-replace status CLI コマンドを使用して、コンフィギュレーションの置換のステータスを確認します。

    switch(config)# show config-replace status 
    Last operation : Rollback to file
    Details:
      Rollback type: atomic replace_tmp_28081
      Start Time: Wed Jan 25 06:39:28 2017
      End Time: Wed Jan 25 06:39:47 2017
      Operation Status: Success
    switch(config)#