概要

設定ファイルのバージョンを管理するためにarchiveコマンドを利用できます。archiveコマンドによって、ある時点での設定ファイルを保存しておくことができます。そして、あとから保存しておいた設定ファイルにロールバックすることが可能です。

試しに設定を変更してみたいとか、設定を変えてからおかしくなったらもとに戻したいときに便利です。archiveコマンドによる設定ファイルのバージョン管理について解説します。

設定ファイルのバージョン管理とは

設定ファイルのバージョン管理とは、ある時点の設定ファイル(running-config)をアーカイブ(保管庫)に保存しておくことです。アーカイブとは、設定ファイルの特定の時点のバージョンを保存しておく領域です。ルータのフラッシュメモリなどローカルストレージやFTP/TFTPサーバをアーカイブとして設定することができます。また、設定ファイルをアーカイブに保存するトリガーとして、以下のタイミングで設定することができます。

  • 設定保存時(copy running-config startup-config/write memory)
  • 特定の時間間隔
  • 任意のタイミング(手動アーカイブ)
図 アーカイブに設定ファイルのバージョンを保存
図 アーカイブに設定ファイルのバージョンを保存

アーカイブの設定 archiveコマンド

設定ファイルのバージョンを保存するためのアーカイブの作成や保存するトリガーなどをarchiveコマンドで設定します。archiveコマンドのコマンドフォーマットは以下の通りです。

archiveコマンドのフォーマット(config)#archive
(config-archive)#path <url>
(config-archive)#maximum <number>
(config-archive)#write-memory
(config-archive)#time-period <minutes>

<url> : archiveのパスと保存する設定ファイルのファイル名
<number> : 保持する設定ファイルのバージョン数
<minutes> : 自動的に保存する間隔(分)

pathで設定ファイルのバージョンを保存するためのアーカイブのパスとファイル名を指定します。ルータのローカルストレージだけでなくFTP/TFTPサーバを指定することもできます。アーカイブに保存するファイル名として、変数を指定することもできます。

$h : ホスト名
$t : タイムスタンプ

ファイル名には、さらにバージョンを識別するために「-<number>」も付けられます。

maximumで保持する設定ファイルのバージョン数を決めます。デフォルトは14です。アーカイブに保持する設定ファイルがいっぱいになったら、古いものから上書きされます。

write-memoryのオプションで、copy running-config startup-configまたはwrite memoryのタイミングで設定ファイルのバージョンをアーカイブに保存します。time-periodで指定した時間間隔で設定ファイルのバージョンをアーカイブに保存します。

archiveコマンドの設定例

以下の条件でのarchiveコマンドの設定を考えます。

  • アーカイブのパス : flash:config/
  • ファイル名にルータのホスト名を含める
  • 設定保存時と1日ごとにアーカイブに保存する

アーカイブのパスの設定より、フラッシュメモリに「config」のディレクトリを作成しておく必要があります。

アーカイブ用のディレクトリ作成

Router#mkdir config
Create directory filename [config]?
Created dir flash:config

フラッシュメモリにアーカイブ用の「config」というディレクトリを作成した上で、archiveコマンドを以下のように設定します。

archiveコマンドの設定例

archive
 path flash:/config/$h
 maximum 5
 write-memory
 time-period 1440

手動でアーカイブに保存

任意のタイミングでアーカイブに設定ファイルを保存することもできます。特権EXECモードで次のコマンドを入力します。

手動でアーカイブに保存#archive config

アーカイブの確認

アーカイブを確認するには、show archiveコマンドを利用します。

コマンド内容
#show archiveアーカイブ内に保存されている設定ファイルを表示します。
#show archive config difference <file-path>running-configと指定したアーカイブ内の設定ファイルとの差分を表示します。
表 show archiveコマンド

show archiveコマンド

show archiveコマンドでアーカイブに保存されている設定ファイルのバージョンを確認できます。

show archiveコマンド

Gene#show archive
There are currently 3 archive configurations saved.
The next archive file will be named flash:/config/Gene-3
 Archive #  Name
   0
   1       flash:/config/Router-1
   2       flash:/config/Gene-2 <- Most Recent
   3
   4
   5
   6
   7
   8
   9
   10
   11
   12
   13
   14

アーカイブ内の設定ファイルの内容を確認するにはmoreコマンドを利用します。

アーカイブの内の設定ファイルの内容を表示

Gene#more flash:/config/Gene-2
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname Gene
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
ip cef
!
!
!
~省略~

show archive config difference <file-path>

show archive differenceコマンドでrunning-configとアーカイブ内の設定ファイルとの差分がわかります。

「+」 : running-configになく比較対象にある
「-」 : running-configにあって比較対象にない

図 show archive config difference
図 show archive config difference

以下は、show archive config differenceのサンプルです。

show archive config difference

Gene#show archive config differences flash:/config/Gene-2
Contextual Config Diffs:
-ip route 192.168.1.0 255.255.255.0 192.168.0.1

「-ip route 192.168.1.0 255.255.255.0 192.168.0.1」という表示例です。「running-config」と「Gene-2」を比較すると、「Gene-2」には「ip route 192.168.1.0 255.255.255.0 192.168.0.1」がありません。

アーカイブの設定ファイルにロールバックする

アーカイブに保存した設定ファイルにrunning-configをロールバックできます。特権EXECモードで次のコマンドを入力します。

設定ファイルのロールバック#configure replace <file-path>

<file-path> : ロールバックする設定ファイルのパス

図 configure replaceコマンド
図 configure replaceコマンド

以下は、設定ファイルをロールバックしているサンプルです。

configure replaceコマンド

Gene#show archive config differences flash:/config/Gene-2
Contextual Config Diffs:
-ip route 192.168.1.0 255.255.255.0 192.168.0.1

Gene#configure replace flash:config/Gene-2
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

Gene#
*Jan  1 00:18:29.891: Rollback:Acquired Configuration lock.
*Jan  1 00:18:31.387: %PARSER-3-CONFIGNOTLOCKED: Unlock requested by process '25'. Configuration not locked.
Gene#show archive config differences flash:/config/Gene-2
Contextual Config Diffs:
!No changes were found

まとめ

ポイント

  • 設定ファイルのバージョン管理とは、ある時点のrunning-configをアーカイブに保存しておくことです。
  • archiveコマンドでアーカイブのパスやアーカイブに保存するトリガーを設定します。
  • show archiveコマンドでアーカイブされた設定ファイルを確認します。
  • configure replaceコマンドでアーカイブされた設定ファイルをロールバックできます。

Ciscoのキホン