設定ファイルをバックアップするシスコ自動アーカイブ機能を理解する

    本ページは英語ドキュメントを翻訳したものです。

     


     

    ネットワーク管理者の重要な仕事の 1 つは、それぞれのシスコのデバイスごとにネットワーク設定ファイルを定期的にバックアップすることです。定期的なバックアップは、組織のポリシーによって規定されるものです。バックアップの頻度は、週 1 回、15 日に 1 回、月 1 回など、組織のニーズに応じて異なります。

     

    ネットワークの設定ファイルの重要性は、管理上のさまざまな観点から理解できます。

     

                          • デバイス間での設定の比較と検証
                          • 機器の障害時におけるネットワーク運用状態の復元。設定ファイルがあれば、別のデバイスの設定をコピーして貼り付けるだけで復元可能
                          • 以前の状態への設定のロールバック

     

    ではここに、5 台のデバイスによるネットワークがあるとしましょう。この場合、ネットワーク管理者にとって、バックアップは非常に簡単です。ネットワーク内にデバイスが 5 台しかないため、コンソール、Telnet、SSH のいずれかを経由してルータにアクセスし、TFTP サーバに設定を保存して、各デバイスで次のコマンドを実行します。

     

    R1#copy running-config tftp://<SERVER_IP>/<CONFIGURATION_FILE_NAME/

     

    しかし、デバイスが 50 台、あるいは 100 台もあった場合はどうなるでしょうか。そのような場合には、手作業でバックアップを行うことは困難です。膨大な数のデバイスに手作業でアクセスして上記のコマンドを実行するとなると、ネットワーク管理者にはいわゆる「管理負担」がかかります。このような状況では、外部のさまざまなオプション(サードパーティ製アプリケーション)を利用できますが、ネットワーク管理者に見過ごされがちなのが、シスコ デバイスの機能セットに含まれている Cisco IOS の自動アーカイブ機能です。

     

    この機能は Cisco IOS Release 12.3(4) で導入されたもので、管理者はアーカイブ コマンドを実行して、設定ファイルのスナップショットを作成できます。設定は簡単なものです。

     

    R1#conf t

     

    設定コマンドを 1 行に 1 つずつ入力します。 最後に Ctrl+Z を押します。

     

    R1(config)#archive
    R1(config-archive)#path tftp://172.16.1.10/
    R1(config-archive)#exit
    R1(config)#exit

     

    ここではグローバル設定モードで「path」コマンドを使用しています。それによって外部サーバ(この場合は IP アドレスが 172.16.1.10 である TFTP)に対するパスが設定されます。これらが、基本的なアーカイブを構成するために必要なコマンドです。設定をテストするには、「archive config」コマンドを特権モードで実行します。

     

    R1#archive config

     

    TFTP が動作していれば、次の出力が得られます。

     

    R1#archive config
    !!

     

    次に TFTP ディレクトリに移動して、設定が正常に送信されたかどうかを検証できます。

     

    設定ファイルが「-1」として保存されたことがわかります。これは、アーカイブ機能のデフォルトで、設定の保存の際に数字が 1 つずつ追加されるためです。このことは、手作業で設定後、保存し、「show archive」コマンドを実行しても確認できます。

     

    R1#show archive

    次につけられるアーカイブ ファイルの名前

      tftp://172.16.1.10/-3

     

    アーカイブ番号  名前

    0
    1       tftp://172.16.1.10/-1
    2       tftp://172.16.1.10/-2 <- Most Recent
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

     

    ルータの履歴を見ると、アーカイブから、「-2」という名前で設定が TFTP に送信されており、それが最新であることがわかります。また、この出力からは、アーカイブで保持できるルータ内の設定ファイルの登録が最大 15 までであることがわかります。

     

    管理上の観点からすると、デフォルトの命名規則では都合がよくありません。デバイス自体に関する情報が得られないからです。ディレクトリ内のデバイスをすばやく特定するには、デバイス自体のホスト名を使用します。その場合は 2 つの選択肢があります。デバイスのホスト名をハードコードするか、「$h」を使用して名前に変数を指定し、デバイスの現在のホスト名と設定名が自動的に送信されるようにします。

     

    ホスト名をパスで設定

     

    R1(config)#archive
    R1(config-archive)#path tftp://172.16.1.10/R1
    R1(config-archive)#exit

     

    この場合、たとえば、デバイスのホスト名が後で R2 に変更された場合でも、アーカイブ設定では依然として設定ファイル名が「R1」で送信されます。これに対応するために、2 番目の選択肢があります。

     

    ホスト名をパスの変数で設定

     

    R1(config)#archive
    R1(config-archive)#path tftp://192.168.2.2/$h
    R1(config-archive)#exit

     

    設定を手作業で保存し、「show archive」コマンドを実行すれば、設定の結果をみることができます。

     

    R1#archive config
    !!
    R1#show archive

     

    次につけられるアーカイブ ファイルの名前

      tftp://172.16.1.10/R1-2

     

    アーカイブ番号  名前

    0
    1       tftp://172.16.1.10/R1-1 <- Most Recent
    2       tftp://172.16.1.10/-2
    3       tftp://172.16.1.10/-3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

     

    送信された最新の設定ファイルの名前が「R1-1」になっており、インデックスに 1 が設定されているのがわかります。

     

    この時点で、管理者がネットワーク内のデバイスの設定ファイルを、簡単に手作業でバックアップできるようになります。ただし、まだ手作業のプロセスであることに問題があります。これを克服するために、アーカイブ設定モードで「write-memory」コマンドを有効にします。それによって、設定を手作業で保存する代わりに、ルータがバックアップを自動的に実行できるようになります。

     

    パスの時間変数で設定

    アーカイブ設定の命名規則では、時間変数を設定することもできます。それによって、TFTP バックアップ フォルダ内のファイル名に日付を含めることが可能になります。

     

    R1(config)#archive
    R1(config-archive)#path tftp://172.16.1.10/$h-$t
    R1(config-archive)#exit

     

    「archive config」コマンドを実行すると、ファイル名に時間が設定されます。

     

    アーカイブの write memory オプション

     

    R1(config)#archive
    R1(config-archive)#write-memory
    R1(config-archive)#exit

     

    「write memory」コマンドまたは「copy running-config startup-config」コマンドを実行すると、TFTP フォルダに設定が自動的に保存されます。

     

    「copy running-config startup-config」を実行すると、TFTP による確認として「[OK]!!」が返されます。この操作により、ローカルでの設定変更が保存され、TFTP サーバに自動的に送信されます。

     

    設定ファイルを定期的に保存する場合は、「time-period」のオプションを使います。このオプションを使用すれば、一定の間隔で設定のバックアップを行うことができるため、コンソール、Telnet、SSH 経由でデバイスに手動でアクセスする必要がありません。「time-period」オプションは分単位で設定します。たとえば、組織のポリシーでバックアップの実行が毎週に指定されている場合には、時間間隔を 10080 に設定します。

     

    アーカイブの time-period オプション

     

    R1(config)#archive
    R1(config-archive)#time-period 10080
    R1(config-archive)#exit

     

    次回のバックアップは、分単位で指定された 1 週間が経過した時点で実行されますが、このバックアップを日付と時刻で指定することは可能でしょうか。残念ながら、現行のアーカイブ機能ではそれはできません。その場合は、アーカイブ機能と Kron でのスケジュールを組み合わせます。

     

    Kron は、Cisco IOS ソフトウェアでタスクの自動化に使用するコマンド スケジューラです。Kron で設定したポリシーは、1 回限り、または一定の周期で使用でき、Kron ポリシー リストを設定し、設定したスケジュールをグローバルの Kron ポリシーに適用することで行います。Kron ではインタラクティブなコマンドを使用できないため、コマンドでは何らかのダイアログによる確認が必要になります。たとえば、「copy running-config startup-config」です。この場合、コマンド文の実行を確認するためのダイアログが表示されます。コマンド文の実行についてはこのような制限があるため、確認が不要な「write memory」コマンドを Kron ポリシーで使用することもできます。

     

    R1(config)#kron policy-list CONFIGURATION_BACKUP
    R1(config-kron-policy)#cli write memory
    R1(config)#kron occurrence Backup BACKUP_OCCURRENCE at 9:00 25 recurring
    R1(config-kron-occurrence)#policy-list CONFIGURATION_BACKUP

     

    これで、ルータで設定のバックアップが毎月 25 日の午前 9:00 に実行されるようになりました。

     

    注:このプロセスは、EEM を使用して自動化することも可能です。

     

    この記事で示したように、日常の運用の中で、設定ファイルは非常に重要です。そのため設定ファイルを外部サーバに保存して、障害の発生やその他の問題による影響を軽減する必要があります。アーカイブ機能には他にも有用な機能がありますが、それについてはまた別の記事で取り上げます。

     

    PS:この初めてのブログについてアドバイスをくれた Paul に感謝します。

    CLNBanner