はじめに
NSO 運用環境での、データのバックアップと復旧方法について説明します。
Linux に system-install された NSO では、ncs-backup コマンドを使用して、環境のバックアップと復旧が可能です。
local-install では ncs-backup コマンドが使用出来ませんので、手動で 必要なファイルをコピーする必要があります。
(2023年7月追記)
NSO 6.1 より、ncs-backup コマンドをlocal install 環境に対しても使用できるようになりました。詳細はこちらの記事をご参照ください。
NSO: NSO 6.1 で local install のバックアップを取得する
ncs-backup コマンド
ncs-backup コマンドは、基本的には cdb のコピーと下記戻しを行うコマンドです。
以下が help の出力です。
$ ncs-backup --help
Usage: ncs-backup [options]
Take a backup of NCS CDB, state data, and config files for an NCS
installation done with the --system-install option to the NCS
installer. The backup is stored in the RunDir/backups directory.
Usage: ncs-backup --restore [Backup] [options]
Restore a backup created by the first version of the command.
The Backup argument is either the name of a file in the
RunDir/backups directory or the full path to a backup file. If
the argument is omitted, unless the --non-interactive option is
given, the command will offer selection from available backups.
Options:
--install-dir InstallDir Specifies the directory for installation of NCS
static files, like the --install-dir option to
the installer. Default: /opt/ncs.
--non-interactive If this option is used, restore will proceed without
asking for confirmation.
--no-compress If this option is used, the backup will not be
compressed (default is compressed). The restore will
uncompress if the backup is compressed, regardless
of this option.
$
デフォルトでは /opt/ncs にインストールされた NSO が対象になります。その NSO で使用される NCS_RUN_DIR (デフォルトでは、/var/opt/ncs) がバックアップ対象、復旧対象となります。
バックアップ
バックアップを行うには、以下のように ncs-backup コマンドを実行してください。/var/opt/ncs ディレクトリへのアクセスが root でのみ可能な場合は、root 権限での実行が必要です。
$ sudo ncs-backup
INFO Backup /var/opt/ncs/backups/ncs-5.5.2.4@2021-07-31T05:00:26.backup.gz created successfully
$
表示されたパスに、バックアップされたファイルが作成されています。
なお、ログファイルについてはバックアップされません。
復旧(レストア)
バックアップされた NSO のデータを書き戻す場合は、以下のように --restore オプションを付加して実行します。
なお、NSOが起動した状態では行うことが出来ません。
$ sudo ncs-backup --restore /var/opt/ncs/backups/ncs-5.5.2.4@2021-07-31T05:00:26.backup.gz
ERROR ** Cannot do --restore while NCS is running
$
実行途中、/etc/ncs を復旧するかどうか、/var/opt/ncs を復旧するかどうか、を聞かれます。
$ ncs-backup --restore /var/opt/ncs/backups/ncs-5.5.2.4@2021-07-31T05:00:26.backup.gz
Restore /etc/ncs from the backup (y/n)? y
Restore /var/opt/ncs from the backup (y/n)? y
INFO Restore completed successfully
$
/etc/ncs には、ncs.conf や ssh key などの情報が入っており、バックアップ情報から復旧する必要がない場合もあります。
/var/opt/ncs には、CDBや使用しているパッケージ自体が含まれており、通常はそれが主な復旧内容です。
復旧時には、既存の設定は上書きされますのでご注意ください。
手動作業
ncs-backup ツールは、system-install 環境でのみ動作します。local-install を行った環境や、system-install 環境のバックアップを手動で行う場合は、以下を参考にしてください。
NSOの動作には以下の目的のために、別のディレクトリが使用されています。
環境変数、ファイル |
目的 |
system-install でのデフォルト値 |
local-install でのデフォルト値 |
NCS_DIR |
インストールディレクトリ
|
/opt/ncs/current
|
インストール先
|
NCS_RUN_DIR |
ランタイムディレクトリ。CDB や動作中のパッケージなど |
/var/opt/ncs |
指定した場所 |
NCS_LOG_DIR |
ログファイル |
/var/log/ncs |
NCS_RUN_DIR/logs |
NCS_CONFIG_DIR |
設定ファイル |
/etc/ncs |
NCS_RUN_DIR/ |
cdb |
|
NCS_RUN_DIR/cdb |
NCS_RUN_DIR/ncs-cdb |
packages |
|
NCS_RUN_DIR/packages |
NCS_RUN_DIR/packages |
NCS_RUN_DIR / NCS_CONFIG_DIR の内容を退避しておくことで、再配置、NSOの再起動によって環境は復旧します。
参考情報
ncs-backup ツールについて、製品マニュアルも参照頂ければと思います。
https://developer.cisco.com/docs/nso/guides/#!nso-system-management/backup-and-restore