この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
コンフィギュレーションの置換とロールバックの機能に対する入力となるコンフィギュレーション ファイルの形式は、標準の Cisco ソフトウェア コンフィギュレーション ファイルの、次に示すインデント規則に準拠している必要があります。
新しい行のすべてのコマンドは、コマンドがコンフィギュレーション サブモードにない限り、インデントなしで開始します。
レベル 1 コンフィギュレーション サブモード内のコマンドは、スペース 1 個分インデントします。
レベル 2 コンフィギュレーション サブモード内のコマンドは、スペース 2 個分インデントします。
以下、続くサブモード内のコマンドは、同じようにインデントします。
これらのインデント規則には、ソフトウェアが show running-config や copy running-config destination-url などのコマンドのコンフィギュレーション ファイルを作成する方法が記述されています。シスコ デバイスで生成されるコンフィギュレーション ファイルは、いずれもこうした規則に従います。
2 つのコンフィギュレーション ファイル(現在の実行コンフィギュレーションと、保存された置換用コンフィギュレーション)を合わせたサイズより大きな空きメモリが必要です。
デバイスに、2 つのコンフィギュレーション ファイル(現在の実行コンフィギュレーションと、保存された置換用コンフィギュレーション)を合わせたサイズより大きな空きメモリがない場合、コンフィギュレーション置換操作は実行されません。
ネットワーク デバイスの物理コンポーネント(物理インターフェイスなど)に関連する特定の Cisco コンフィギュレーション コマンドは、実行コンフィギュレーションについて追加または削除することはできません。たとえば、コンフィギュレーション置換操作を行っても、そのインターフェイスがデバイス上に物理的に存在する場合、現在の実行コンフィギュレーションから interface ethernet 0 コマンド行を削除することはできません。同様に、interface ethernet 1 コマンド行は、そのようなインターフェイスがデバイス上に物理的に存在しない場合、実行コンフィギュレーションに追加することはできません。コンフィギュレーション置換操作でこのタイプの変更を試行すると、その特定のコマンド行が失敗したことを示すエラー メッセージが表示されます。
非常にまれなケースですが、ルータをリロードしないと特定の Cisco コンフィギュレーション コマンドを実行コンフィギュレーションから削除できないことがあります。コンフィギュレーション置換操作でこのタイプのコマンドの削除を試行すると、その特定のコマンド行が失敗したことを示すエラー メッセージが表示されます。
Cisco IOS コンフィギュレーション アーカイブは、configure replace コマンドを使用するコンフィギュレーションのロールバック機能を強化するために、Cisco IOS コンフィギュレーション ファイルのアーカイブの保存、編成、管理を行うことを目的とした機能です。この機能の導入前にも、実行コンフィギュレーションのコピーを copy running-config destination-url コマンドを使用して保存し、ローカルやリモートに置換ファイルを保管できました。ただし、この方法ではファイルの自動管理を行うことはできませんでした。一方、コンフィギュレーションの置換とロールバック機能では、実行コンフィギュレーション ファイルを自動的に Cisco IOS コンフィギュレーション アーカイブに保存できます。アーカイブされたファイルはコンフィギュレーションのチェックポイントとして参照することができ、configure replace コマンドを使用して以前のコンフィギュレーション状態に戻すために利用できます。
archive config コマンドを使用すると、Cisco IOS コンフィギュレーションをコンフィギュレーション アーカイブに保存できます。その場合、標準のディレクトリとファイル名のプレフィクスが使用され、バージョン番号(およびオプションでタイムスタンプ)が自動的に付加されます。バージョン番号は連続したファイルを保存するごとに、1 つずつ大きくなります。この機能により、保存した Cisco IOS コンフィギュレーション ファイルを一貫して識別できます。アーカイブに保存する実行コンフィギュレーションの数は指定することができます。アーカイブ内のファイル数が上限値に達すると、次に最新のファイルが保存されるときに、最も古いファイルが自動的に消去されます。show archive コマンドを使用すると、Cisco IOS コンフィギュレーション アーカイブに保存されているすべてのコンフィギュレーション ファイルに関する情報が表示されます。
コンフィギュレーション ファイルを保存する Cisco IOS コンフィギュレーション アーカイブは、configure replace コマンドで使用することによって、FTP、HTTP、RCP、TFTP のファイル システム上に配置できます。
configurereplace 特権 EXEC コマンドにより、現在の実行コンフィギュレーションを、保存しておいた Cisco IOS コンフィギュレーション ファイルで置換することができます。この機能は、コンフィギュレーションを保存しておいた状態へ戻すために使用することができ、そのコンフィギュレーション状態が保存された後にどのような変更が加えられても、効果的にロールバックさせることができます。
configurereplace コマンドを使用するときは、現在の実行コンフィギュレーションと置換するための、保存された Cisco IOS コンフィギュレーション ファイルを指定する必要があります。置換ファイルは、Cisco IOS デバイスによって作成された完全なコンフィギュレーション(copyrunning-config destination-url コマンドによって作成されたものなど)であることが必要です。あるいは、置換ファイルを外部的に作成する場合は Cisco IOS デバイスが作成するファイル形式に完全に準拠していなければなりません。configurereplace コマンドを入力すると、現在の実行コンフィギュレーションが指定された置換コンフィギュレーションと比較され、一連の diff が生成されます。2 つのファイルの比較に使用されるアルゴリズムは、showarchiveconfigdifferences コマンドで使用されるものと同じです。置換コンフィギュレーションの状態になるよう、diff の結果が Cisco IOS パーサーによって適用されます。diff のみが適用されるため、現在の実行コンフィギュレーション上にすでに存在していた設定コマンドを再適用することにより生じる、潜在的なサービスの中断を避けられます。このアルゴリズムでは、順序に依存するコマンド(アクセス リストなど)へのコンフィギュレーション変更を、複数のパス プロセスを通して効果的に実行します。通常の環境では、コンフィギュレーション置換操作の完了に必要なパスは 3 つまでであり、ループ動作を防ぐためのパスは最大 5 つまでに制限されます。
Cisco IOS copy source-urlrunning-config 特権 EXEC コマンドは、保存された Cisco IOS コンフィギュレーション ファイルを実行コンフィギュレーションへコピーするためによく使用されます。copy source-urlrunning-config コマンドを configurereplace target-url 特権 EXEC コマンドの代わりに使用する場合は、次の大きな違いに注意が必要です。
copy source-urlrunning-config コマンドはマージ動作であり、ソース ファイルと現在の実行コンフィギュレーションの両方のコマンドがすべて保持されます。このコマンドでは、現在の実行コンフィギュレーションにのみ含まれ、ソース ファイルには存在しないコマンドが削除されることはありません。これに対し、configurereplace target-url コマンドでは、置換ファイルに存在しないコマンドが現在の実行コンフィギュレーションから削除され、追加する必要のあるコマンドが現在の実行コンフィギュレーションに追加されます。
copy source-urlrunning-config コマンドでは、現在の実行コンフィギュレーションにすでに存在しているかどうかにかかわらず、ソース ファイル中のすべてのコマンドが適用されます。このアルゴリズムは効率的でない上、場合によってはサービスの停止が発生します。これに対し、configure replace target-url コマンドでは適用が必要なコマンドのみを適用し、現在の実行コンフィギュレーションに存在しているコマンドは再適用されません。
copy source-url running-config コマンドでは部分的なコンフィギュレーション ファイルもコピー元として使用できますが、configure replace target-url コマンドの置換ファイルとして使用できるのは、完全な Cisco IOS コンフィギュレーション ファイルのみです。
コンフィギュレーション置換操作にロック機能が導入されました。configure replace コマンドが使用されると、コンフィギュレーション置換中、デフォルトで実行コンフィギュレーション ファイルがロックされます。このロック メカニズムによって、置換動作の実行中に他のユーザが実行コンフィギュレーションを変更しようとしたために、置換動作の不正終了が発生することを防止できます。no lock キーワードを configure replace コマンドの実行時に使用すると、実行コンフィギュレーションのロックをディセーブルにできます。
実行コンフィギュレーションのロックは、コンフィギュレーションの置換動作終了時に自動的にクリアされます。show configuration lock コマンドを使用すると、現在実行コンフィギュレーションに適用されているロックをすべて表示できます。
ロールバックの概念は、データベースの操作ではトランザクション プロセス モデルに由来します。データベース トランザクションでは、あるデータベースのテーブルに一連の変更を加えることがあります。その後、変更を実行する(変更を恒久的に適用する)か、変更をロールバックする(変更を破棄してテーブルを以前の状態に戻す)かを選択することになります。ここでロールバックが意味するのは、変更のログを含んだジャーナル ファイルが破棄され、何の変更も加えられないということです。ロールバック操作の結果として、加えた変更が適用される前の状態に戻ります。
configurereplace コマンドを使用することで、以前のコンフィギュレーション状態へ戻ることが可能になり、コンフィギュレーション状態の保存後に加えた変更を効率的にロールバックさせることができます。Cisco IOS コンフィギュレーション ロールバックは、適用された一連の変更をもとにロールバック動作を行うのではなく、保存された Cisco コンフィギュレーション ファイルに基づいた特定のコンフィギュレーション状態へ戻るというコンセプトを採用しています。このコンセプトは、チェックポイント(データベースの保存されたバージョン)に特定の状態を保存しておくという、データベースの考え方に類似しています。
コンフィギュレーションのロールバック機能が必要な場合、コンフィギュレーションの変更に先立って Cisco IOS 実行コンフィギュレーションを保存する必要があります。次に、コンフィギュレーションを変更した後に(configurereplace target-url コマンドを使用し)保存したコンフィギュレーション ファイルを使って変更をロール バックします。保存された Cisco IOS コンフィギュレーション ファイルならどれでも置換コンフィギュレーションとして指定できるため、一部のロールバック モデルのように、ロールバックの数が制限されることもありません。
コンフィギュレーション ロールバック変更確認機能により、コンフィギュレーション変更の実行に際して確認を要求するようオプションで設定できます。この確認が受信できない場合、コンフィギュレーションは変更が適用される前の状態に戻されます。このメカニズムは、ネットワーク デバイスとユーザまたは管理アプリケーションとの接続において、コンフィギュレーション変更に起因する切断を防止するものです。
コンフィギュレーションの変更を効率的にロールバックさせて、以前のコンフィギュレーション状態へ戻ることが可能。
デバイスをリロードしたり、CLI で実行コンフィギュレーション ファイルに加えた変更を手動で元に戻したりすることなく、現在の実行コンフィギュレーション ファイルをスタートアップ コンフィギュレーション ファイルと置換できるため、システムのダウンタイムが減少。
保存しておいたどの Cisco IOS コンフィギュレーション状態に戻すことも可能。
追加や削除が必要なコマンドだけが影響を受ける場合、デバイスに完全なコンフィギュレーション ファイルを適用することができるため、コンフィギュレーションの変更が簡素化。
configurereplace コマンドを copy source-urlrunning-config コマンドの代用として使用する場合、現在の実行コンフィギュレーションに存在しているコマンドを再度適用することがないため、効率が向上し、かつサービス停止のリスクを回避。
configure replace コマンドを使用するために、前提条件となる設定はありません。configure replace コマンドと Cisco IOS コンフィギュレーション アーカイブおよび archive config コマンドとの併用は任意ですが、コンフィギュレーション ロールバックの使用にあたっては大きな利点があります。archive config コマンドを使用する前に、コンフィギュレーション アーカイブを設定しておく必要があります。コンフィギュレーション アーカイブの特性を設定するには、次の作業を実行します。
保存された Cisco IOS コンフィギュレーション ファイルで現在の実行コンフィギュレーション ファイルを置換するには、次の作業を実行します。
(注) | この手順の前に、コンフィギュレーション アーカイブを作成しておく必要があります。詳細については、コンフィギュレーション アーカイブの作成を参照してください。次に、現在の実行コンフィギュレーションで問題が生じた場合に、アーカイブしておいたコンフィギュレーションに戻す手順の詳細を示します。 |
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | enable 例:
Device> enable
|
特権 EXEC モードをイネーブルにします。 | ||
ステップ 2 | configurereplace target-url [nolock] [list] [force] [ignore case] [revert trigger [error ][timer minutes] | time minutes] ] 例:
Device# configure replace flash: startup-config time 120
|
保存しておいた Cisco IOS コンフィギュレーション ファイルで現在の実行コンフィギュレーション ファイルを置換します。
| ||
ステップ 3 | configurerevert {now|timer{minutes| idle minutes} } 例:
Device# configure revert now
|
(任意)時間指定ロールバックをキャンセルしてロールバックを即時トリガーする、または時間指定ロールバックのパラメータをリセットするには、特権 EXEC モードで configure revert コマンドを使用します。 | ||
ステップ 4 | configureconfirm 例:
Device# configure confirm
|
(任意)保存しておいた Cisco IOS コンフィギュレーション ファイルの現在の実行コンフィギュレーション ファイルへの置換を確認します。
| ||
ステップ 5 | exit 例:
Device# exit
|
ユーザ EXEC モードに戻ります。 |
コンフィギュレーションの置換とロールバック機能をモニタおよびトラブルシューティングするには、この手順を実行します。
ステップ 1 | enable このコマンドを使用して、特権 EXEC モードをイネーブルにします。パスワードを入力します(要求された場合)。 例: Device> enable Device# |
ステップ 2 | showarchive Cisco IOS コンフィギュレーション アーカイブに保存されているファイルに関する情報を表示するには、次のコマンドを使用します。 例:
Device# show archive
There are currently 1 archive configurations saved.
The next archive file will be named flash:myconfiguration-2
Archive # Name
0
1 flash:myconfiguration-1 <- Most Recent
2
3
4
5
6
7
8
9
10
11
12
13
14
次に、実行コンフィギュレーションのアーカイブ ファイルをいくつか保存した状態で showarchive コマンドを使用した場合の出力例を示します。この例では、保存されるアーカイブ ファイルの最大数が 3 に設定されています。 例:
Device# show archive
There are currently 3 archive configurations saved.
The next archive file will be named flash:myconfiguration-8
Archive # Name
0
1 :Deleted
2 :Deleted
3 :Deleted
4 :Deleted
5 flash:myconfiguration-5
6 flash:myconfiguration-6
7 flash:myconfiguration-7 <- Most Recent
8
9
10
11
12
13
14
|
ステップ 3 | debugarchiveversioning このコマンドを使用して、Cisco IOS コンフィギュレーション アーカイブのアクティビティのデバッグを有効にして、コンフィギュレーションの置換とロールバックをモニタおよびトラブルシューティングします。 例:
Device# debug archive versioning
Jan 9 06:46:28.419:backup_running_config
Jan 9 06:46:28.419:Current = 7
Jan 9 06:46:28.443:Writing backup file flash:myconfiguration-7
Jan 9 06:46:29.547: backup worked
|
ステップ 4 | debugarchiveconfigtimestamp このコマンドを使用して、コンフィギュレーション置換操作の各必須段階の処理時間、および操作中のコンフィギュレーション ファイルのサイズのデバッグをイネーブルにします。 例: Device# debug archive config timestamp Device# configure replace flash:myconfiguration force Timing Debug Statistics for IOS Config Replace operation: Time to read file usbflash0:sample_2.cfg = 0 msec (0 sec) Number of lines read:55 Size of file :1054 Starting Pass 1 Time to read file system:running-config = 0 msec (0 sec) Number of lines read:93 Size of file :2539 Time taken for positive rollback pass = 320 msec (0 sec) Time taken for negative rollback pass = 0 msec (0 sec) Time taken for negative incremental diffs pass = 59 msec (0 sec) Time taken by PI to apply changes = 0 msec (0 sec) Time taken for Pass 1 = 380 msec (0 sec) Starting Pass 2 Time to read file system:running-config = 0 msec (0 sec) Number of lines read:55 Size of file :1054 Time taken for positive rollback pass = 0 msec (0 sec) Time taken for negative rollback pass = 0 msec (0 sec) Time taken for Pass 2 = 0 msec (0 sec) Total number of passes:1 Rollback Done |
ステップ 5 | exit このコマンドを使用して、ユーザ EXEC モードに戻ります。 例: Device# exit Device> |
次の例は、Cisco IOS コンフィギュレーション アーカイブの初期設定を実行する方法を示しています。この例では、flash:myconfiguration がコンフィギュレーション アーカイブの保存位置およびファイル名のプレフィックスとして設定され、保存するアーカイブ ファイルが最大 10 個に設定されます。
configure terminal ! archive path flash:myconfiguration maximum 10 end
次の例では、flash:myconfiguration という名前で保存された Cisco IOS コンフィギュレーション ファイルで現在の実行コンフィギュレーションを置換する方法を示します。configurereplace コマンドでは、確認プロンプトでインタラクティブに操作を進めます。
Device# configure replace flash:myconfiguration
This will apply all necessary additions and deletions
to replace the current running configuration with the
contents of the specified configuration file, which is
assumed to be a complete configuration, not a partial
configuration. Enter Y if you are sure you want to proceed. ? [no]: Y
Total number of passes: 1
Rollback Done
次の例では、コンフィギュレーション置換操作中に適用されるコマンド ラインを表示するために、list キーワードを指定しています。
Device# configure replace flash:myconfiguration list
This will apply all necessary additions and deletions
to replace the current running configuration with the
contents of the specified configuration file, which is
assumed to be a complete configuration, not a partial
configuration. Enter Y if you are sure you want to proceed. ? [no]: Y
!Pass 1
!List of Commands:
no snmp-server community public ro
snmp-server community mystring ro
end
Total number of passes: 1
Rollback Done
次の例に、configure replace コマンドを使用して Cisco IOS スタートアップ コンフィギュレーション ファイルへ復帰する方法を示します。この例は、オプションの force キーワードを使用して、インタラクティブ ユーザ プロンプトをオーバーライドする方法を示しています:
Device# configure replace flash:startup-config force
Total number of passes: 1
Rollback Done
次に、configure replace コマンドを time minutes キーワードおよび引数と共に使用する例を示します。現在実行中のコンフィギュレーション ファイルの置換を実行するには、指定の制限時間内に configure confirm コマンドを入力する必要があります。configure confirm コマンドが指定の制限時間内に入力されない場合、コンフィギュレーション置換操作は自動的に戻されます(つまり、現在実行中のコンフィギュレーション ファイルが configure replace コマンド入力以前のコンフィギュレーション状態へと回復されます)。
Device# configure replace flash:startup-config time 120 This will apply all necessary additions and deletions to replace the current running configuration with the contents of the specified configuration file, which is assumed to be a complete configuration, not a partial configuration. Enter Y if you are sure you want to proceed. ? [no]: Y Total number of passes: 1 Rollback Done Device# configure confirm
次に、configure revert コマンドを timer キーワードとともに使用する例を示します。時間指定ロールバックをキャンセルしてロールバックを即時トリガーする、または時間指定ロールバックのパラメータをリセットするには、configure revert コマンドを入力する必要があります。
Device# configure revert timer 100
次の例は、現在実行中のコンフィギュレーションへの変更を行い、その変更をロールバックする方法を示しています。コンフィギュレーション ロールバック操作の一部として、ファイルに変更を加える前に現在の実行コンフィギュレーションを保存する必要があります。この例では、現在実行中のコンフィギュレーションの保存に archive config コマンドが使用されています。configure replace コマンドで生成された出力は、ロールバック操作を完了するために 1 つのパスのみが実行されたことを示します。
(注) | archive config コマンドを使用する前に、path コマンドで Cisco IOS コンフィギュレーション アーカイブのファイルの位置とファイル名のプレフィックスを指定する必要があります。 |
次のように、設定アーカイブの現在実行中のコンフィギュレーションを保存します。
archive config
それから、次の例に示すようにコンフィギュレーションの変更を入力します。
configure terminal ! user netops2 password rain user netops3 password snow exit
実行コンフィギュレーション ファイルに変更を加えた後、それらの変更をロールバックさせて、変更前のコンフィギュレーションに戻したくなったとします。show archive コマンドは、交換ファイルとして使用される設定のバージョンを確認するために使用されます。次の例に示すように、configure replace コマンドは交換コンフィギュレーション ファイルへ戻すために使用されます。
Device# show archive There are currently 1 archive configurations saved. The next archive file will be named flash:myconfiguration-2 Archive # Name 0 1 flash:myconfiguration-1 <- Most Recent 2 3 4 5 6 7 8 9 10 Device# configure replace flash:myconfiguration-1 Total number of passes: 1 Rollback Done
次の表に、このモジュールで説明した機能に関するリリース情報を示します。この表は、ソフトウェア リリース トレインで各機能のサポートが導入されたときのソフトウェア リリースだけを示しています。その機能は、特に断りがない限り、それ以降の一連のソフトウェア リリースでもサポートされます。
リリース |
変更内容 |
---|---|
Cisco IOS XE Everest 16.6.1 |
この機能が導入されました。 |