一般的なNW作業の話-戻し用のconfigを作成する
作業時は必ずshow runnning-config等で事前のconfigを取得しておくのが一般的だと思います。そして、作業ミスや想定外の事象が発生した場合には、予め作成した戻し用configを投入し、事前に取得したrunning-configと戻しconfig投入後のconfig状態をwinmerge等で比較し、差分がないことを確認して元の状態に戻したと判断する現場が多いでしょう。
※IOSの場合は、show archive config differences nvram:startup-config~のコマンドを使用することで、差分の有無を確認することができます。
※NX-OSの場合は、show run diffコマンドを使用することで、差分の有無を確認することができます。
しかし、下記のようなリスクが存在します。
- 設定変更前にrunning-configを取得し忘れて比較対象がない。
- 設定戻し用のconfigが誤っており、さらにややこしい状態になってしまった。さらに通信障害まで発生させてしまう。
このようなことを発生させないように、事前にレビューがとっても大事です。
NX-OSではロールバック機能が付いております。この機能を上手く活用することで任意の状態に瞬時に設定を戻すことが可能となります。今回はこの機能について紹介したいと思います。
ロールバックとは
ロールバックを使用すると、コンフィギュレーションのスナップショットまたはユーザ チェックポイントを使用して、デバイスをリロードしなくても、いつでもそのコンフィギュレーションをデバイスに再適用することができます。
この機能を使用する利点は以下2つです。
- リロード無しでいつでも任意の時点のconfigurationに戻すことが可能であること
- 戻し用のconfigを作成する手間を省けること
コマンドを見てみよう
コマンドはcheckpointコマンドを使用します。
Router1# checkpoint ? <CR> WORD Checkpoint name (Max Size 80) description Checkpoint description for the given checkpoint file Create configuration rollback checkpoint to file
ここで適当な文字列を打つと、その名前でチェックポイントが作成されます。チェックポイントは最大10個までしか保存できません。そのため、筆者は下記を推奨します。シスコのドキュメントには載っていないのが良くないですね。
Router1# checkpoint file ? bootflash: Checkpoint file path volatile: Checkpoint file path
事前に定義されているファイルシステムである「bootflash:」もしくは「volatile:」に保存することが可能です。参考程度となりますが、bootflash:はWINSCP等でSSH接続した場合の一番最初に表示されるフォルダとなります。votatile:はtac-pac(IOSでいうところのshow tech-support all)が保存されるフォルダとなります。
今回はbootflash:に保存していきたいと思います。tabを打つと下記が表示されます。
Router1# checkpoint file bootflash:? bootflash:/// bootflash://module-27/ bootflash://sup-1/ bootflash://sup-active/ bootflash://sup-local/
正直、どこでも良いと思いますが、bootflash:///に保存したいと思います。
Router1# checkpoint file bootflash:///test Done Router1#
これで無事に保存されました。確認したいと思います。
ファイルシステムに保存しているので、show checkpoint~ではなく、show fileを使います。
Router1# show file bootflash:///test
実行すると、保存したrunning-configが表示されます。
実際にconfigを戻してみよう
戻す時にはrollback running-configを使用します。
Router1# rollback running-config ? checkpoint Rollback running configuration to checkpoint file Rollback running configuration to configuration file
checkpointもしくはfileのどちらかを選択することができます。
今回はfileを使用しているのでfileを選びます。
実行した画面がこちらとなります。
Router1# rollback running-config file bootflash:///test ADVISORY: Rollback operation started... Modifying running configuration from another VSH terminal in parallel is not recommended, as this may lead to Rollback failure.Collecting Running-Config Generating Rollback patch for switch profile Rollback Patch is Empty Collecting Running-Config Generating Rollback Patch Rollback Patch is EmptyRollback completed successfully.Router1#
このように、戻し用のconfigを作成することなく、任意の時点のconfigまで即時に戻すことが可能となります。
実践例
試しに適当にloopbackインターフェースを作成したので、元のrunning-configに戻したいと思います。
Router1# show running-config interface loopback 100 !Command: show running-config interface loopback100 !Running configuration last done at: Fri Nov 24 14:06:29 2023 !Time: Fri Nov 24 14:07:49 2023 version 10.3(1) Bios:version interface loopback100 shutdown ip address 100.100.100.100/32 Router1# Router1# Router1# Router1# Router1# rollback running-config ? checkpoint Rollback running configuration to checkpoint file Rollback running configuration to configuration file Router1# rollback running-config file ? bootflash: Checkpoint file path volatile: Checkpoint file path Router1# rollback running-config file bootflash:///test ADVISORY: Rollback operation started... Modifying running configuration from another VSH terminal in parallel is not recommended, as this may lead to Rollback failure. Collecting Running-Config Generating Rollback patch for switch profile Rollback Patch is Empty Collecting Running-Config Generating Rollback Patch Executing Rollback Patch During CR operation,will retain L3 configuration when vrf member change on interface Generating Running-config for verification Generating Rollback Patch Rollback completed successfully. Router1# Router1# show running-config interface loopback 100 ^ Invalid range at '^' marker. Router1#
ご覧の通り、show running-config interface loopback 100が表示されなくなったことが確認できました。
ロールバックが成功した証跡が欲しい場合
ロールバックが成功したログがさらにほしい場合は下記のコマンドで表示することが可能です。
Router1# show rollback log exec Operation : Rollback to Checkpoint File Checkpoint file name : /test Scheme : bootflash Rollback done By : admin Rollback mode : atomic Verbose : disabled Start Time : Fri, 13:33:49 24 Nov 2023 Start Time UTC : Fri, 13:33:49 24 Nov 2023 End Time : Fri, 13:33:51 24 Nov 2023 End Time UTC : Fri, 13:33:51 24 Nov 2023 Rollback Status : Success
チェックポイントが作成されたことを知りたい場合
チェックポイント方式で作成した場合は下記のコマンドを使用することで概要を把握することができます。
Router1# show checkpoint summary 1) stable: Created by cisco Created at Sat, 13:28:04 12 Aug 2023 Size is 15,592 bytes User Checkpoint Summary -------------------------------------------------------------------------------- Description: None2) user-checkpoint-2: Created by admin Created at Wed, 15:41:19 30 Aug 2023 Size is 12,078 bytes User Checkpoint Summary -------------------------------------------------------------------------------- Description: None3) 2-1: Created by admin Created at Wed, 15:42:20 30 Aug 2023 Size is 12,078 bytes User Checkpoint Summary
備忘録
NX-OSを搭載した機器の設定変更作業で最も怖いミスはno feature xxxで特定の機能を削除することです。関連するconfigが全て削除されます。例えば、BGPの設定を入れているのにno feature bgpを投入してしまうと、BGPに関する設定が全て削除されます。ISPでこんなことしたら懲戒解雇相当だと思います。
そのためかわからないですが、デフォルトで下記の場合はチェックポイントを自動的に生成してくれるそうです。
- no feature コマンドで、有効になっている機能を無効にする
- no router bgp コマンドや no ip pim sparse-mode コマンドで、レイヤ 3 プロトコルのインスタンスを削除する
- 機能のライセンスの有効期限が切れる
例えば、no feature EIGRPを実行した場合は「system-fm-__inst_1__eigrp」という名前のチェックポイントを作成します。
コメント