PR

Nexus9000 SeriesでROLLBACKを使用し、戻し作業を一行のコマンドで行う

Cisco
スポンサーリンク
スポンサーリンク

一般的なNW作業の話-戻し用のconfigを作成する

作業時は必ずshow runnning-config等で事前のconfigを取得しておくのが一般的だと思います。そして、作業ミスや想定外の事象が発生した場合には、予め作成した戻し用configを投入し、事前に取得したrunning-configと戻しconfig投入後のconfig状態をwinmerge等で比較し、差分がないことを確認して元の状態に戻したと判断する現場が多いでしょう。
※IOSの場合には、show archive config differences nvram:startup-config~のコマンドを使用することで、差分の有無を確認することができます。

しかし、下記のようなリスクが存在します。
・設定変更前にrunning-configを取得し忘れて比較対象がない。
・戻しconfigが誤っており、さらにややこしい状態になってしまった。さらに通信障害まで発生させてしまう。

このようなことを発生させないように、事前にレビューがとっても大事です。

NX-OSではロールバック機能が付いております。この機能を上手く活用することで任意の状態に瞬時に設定を戻すことが可能となります。今回はこの機能について紹介したいと思います。

ロールバックとは

ロールバックを使用すると、コンフィギュレーションのスナップショットまたはユーザ チェックポイントを使用して、デバイスをリロードしなくても、いつでもそのコンフィギュレーションをデバイスに再適用することができます。

リロード無しでいつでも任意の時点のconfigurationを適用できるのが良いです。

コマンドを見てみよう

コマンドは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」という名前のチェックポイントを作成します。

コメント