Cisco Network Registrar ユーザー ガイド 7.0
バックアップと復元
バックアップと復元
発行日;2012/01/07 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 9MB) | フィードバック

目次

バックアップと復元

データベースのバックアップ

シンタックスと場所

バックアップ方式

シャドウ バックアップ時刻の設定

手動バックアップの実行

mcdshadow とサードパーティのバックアップ プログラムの併用

データベースの復元方式

MCD データのバックアップと復元

MCD データベースの整合性のチェック

損傷したデータベースからの MCD データの復元

バックアップからの MCD データの復元

MCD の復元エラー

MCD データ ファイル

CNRDB データのバックアップ

損傷したデータベースからの CNRDB データの復元

バックアップからの CNRDB データの復元

データ管理のための session assert コマンド

Network Registrar 実行中のウィルス スキャン

データベースのトラブルシューティング

データのインポートとエクスポート ツール cnr_exim の使用方法

mcdadmin ツールの使用方法

cnrdb_recover ユーティリティの使用方法

cnrdb_verify ユーティリティの使用方法

cnrdb_checkpoint ユーティリティの使用方法

keybuild ツールの使用方法

dbcheck ツールの使用方法

フェールオーバー サーバからの DHCP データの復元

バックアップと復元

この章では、Cisco Network Registrar データベースを保守する方法について説明します。

データベースのバックアップ

Network Registrar データベースはさまざまなメモリ キャッシュを実行しており、常にアクティブになっている可能性があるので、データベースの保護をサードパーティのシステム バックアップに頼ることはできません。サードパーティのシステム バックアップを使用すると、バックアップ データの不整合が発生し、交換用データベースが使用できなくなる場合があります。

そのため、Network Registrar はシャドウ バックアップ ユーティリティである mcdshadow を備えています。1 日 1 回、設定可能な時刻に、Network Registrar は重要なファイルのスナップショットをとります。このスナップショットは、データベースの一貫性のあるビューであることが保証されています。

関連項目

「シンタックスと場所」
「バックアップ方式」
「データベースの復元方式」
「MCD データのバックアップと復元」
「CNRDB データのバックアップ」
「損傷したデータベースからの CNRDB データの復元」
「データ管理のための session assert コマンド」
「Network Registrar 実行中のウィルス スキャン」
「データのインポートとエクスポート ツール cnr_exim の使用方法」
「mcdadmin ツールの使用方法」
「cnrdb_recover ユーティリティの使用方法」
「cnrdb_verify ユーティリティの使用方法」
「cnrdb_checkpoint ユーティリティの使用方法」
「keybuild ツールの使用方法」
「dbcheck ツールの使用方法」
「フェールオーバー サーバからの DHCP データの復元」
「データベースのトラブルシューティング」

シンタックスと場所

以降の説明における「.../data/db」という表記は Network Registrar 製品のデータの場所を示すパスであり、オペレーティング システムごとに異なることに注意してください。

Windows :「.../data」は、data ディレクトリを表します。デフォルトでは、 \Program Files\Network Registrar\Local\data または \Program Files\Network Registrar\Regional\data です。

Solaris および Linux :「.../data」は、data ディレクトリを表します。デフォルトでは、 /var/nwreg2/local/data または /var/nwreg2/regional/data です。

以降の説明において、Network Registrar のデータベース ユーティリティ プログラムは「.../bin」ディレクトリにあり、これを完全パス名として実行します。

Windows :「.../bin/ program 」は、bin ディレクトリにある program ファイルを表します。デフォルトでは、 \Program Files\Network Registrar\Local\bin\ program または \Program Files\Network Registrar\Regional\bin\ program です。

Solaris および Linux :「.../bin/ program 」は、bin ディレクトリにある program ファイルを表します。デフォルトでは、 /opt/nwreg2/local/usrbin/ program または /opt/nwreg2/regional/usrbin/ program です。


) データベースの各タイプに対して承認されているユーティリティだけを使用してください。Windows で、インストール パス以外のディレクトリからユーティリティを実行する場合は、CNR_HOME 環境変数を設定する必要があります。


バックアップ方式

バックアップ方式には、 mcdshadow ユーティリティを使用した次のデータベースのバックアップが含まれます。

MCD database :...data/db、...data/mcd

CNRDB databases :...data/dhcp、...data/dns、...data/cnrsnmp、...data/leasehist、...data/subnetutil、および ...data/replica

CCM database :...data/ccm/ndb


data ディレクトリの場所を変更した場合は、.../conf にある cnr.conf ファイルを編集する必要があります(「cnr.conf ファイルの修正」を参照)。cnr.datadir 変数を data ディレクトリに対するフルパスに変更します。たとえば、Windows でデフォルト値は次のとおりです。

cnr.datadir=C:\\Program Files\\Network Registrar\\Local\\data


バックアップ方式の最も基本的な構成要素は、毎日のシャドウ バックアップです。稼働データベースに問題が発生した場合は、前日のシャドウ バックアップに基づくデータベース復元が必要な場合があります。そのため、正常なバックアップを妨げる問題をすべて認識して修正する必要があります。

最も一般的な問題は、ディスク領域の不足です。ディスク領域要件をおおまかに見積もるには、.../data ディレクトリのサイズの 10 倍にします。使用パターン、アプリケーションの混在、Network Registrar 自身の負荷など、システムの負荷のために、使用可能なディスク領域として必要な値がもっと大きくなる場合もあります。

既存のシャドウ バックアップを定期的に(テープ、別のディスク、別のシステム上に)アーカイブして、将来実行する可能性のある復元のために保存する必要があります。


注意 次の項で説明するように、Network Registrar では、さまざまなデータベース テクノロジーが使用されており、それぞれが固有のユーティリティ プログラムを持っています。適合しないデータベースのタイプにユーティリティを使用すると、データベースが破損する可能性があります。指定されたユーティリティのみを使用してください。また、データベース ユーティリティは、稼働データベース上での使用は避け、コピーでのみ使用するようにしてください。

シャドウ バックアップ時刻の設定

(.../conf にある) cnr.conf ファイル内で、自動シャドウ バックアップを実行する時刻を設定できます。 cnr.backup-time 変数を自動シャドウ バックアップの実行時刻(24 時間の HH : MM 形式)に変更し、サーバ エージェントを再起動します。たとえば、プリセット値は次のとおりです。

cnr.backup-time=23:45
 

手動バックアップの実行

mcdshadow ユーティリティを使用して、シャドウ バックアップを手動で起動することもできます。これには、root 特権が必要です。プロンプトに mcdshadow コマンドを入力して、シャドウ バックアップを実行します。


) シャドウ バックアップよりも新しい DHCP データをフェールオーバー パートナーから復元するには、「フェールオーバー サーバからの DHCP データの復元」を参照してください。


mcdshadow とサードパーティのバックアップ プログラムの併用

mcdshadow が稼働している間の前後 1 時間以内は、サードパーティのバックアップ プログラムをスケジューリングしないでください。「シャドウ バックアップ時刻の設定」で説明しているように、デフォルトのシャドウ バックアップ時刻は、毎日 23:45 です。


注意 サードパーティのバックアップ プログラムが、Network Registrar の稼働データベース ディレクトリとファイルをスキップし、そのシャドウ コピーだけをバックアップするように設定します。稼働ファイルは、「バックアップ方式」に一覧表示があります。

Network Registrar は、.../temp ディレクトリのロック ファイルも保持します。これらのファイルは再起動時に作成され、システムの稼働中ずっと保持されます。この一時ディレクトリは、稼働データベース ディレクトリおよびファイルとともに、あらゆる保守プロセス(ウィルス スキャンやアーカイブ)の対象から除外する必要があります。

データベースの復元方式

Network Registrar は 2 種類のデータベースを使用します。これは、データの復元用に 2 セットのツールがあることを示します。1 つ目のタイプのデータベースは MCD で、もう 1 つのタイプは CNRDB です。2 つのデータベースは関連性が高いため、特に指示がない限りまとめて復元してください。

表8-1 は、データベースとその種類を示しています。

 

表8-1 Network Registrar 復元用データベース

サブディレクトリ
クラスタ
タイプ
説明

db

ローカル、リージョナル

MCD

MCD 設定データベース。設定データが格納されています。MCD トランザクション データベースと連動します。

mcd

ローカル、リージョナル

CNRDB

MCD 設定データベース。

ccm

ローカル、リージョナル

CNRDB

Central Configuration Management(CCM)データベース。ローカルで集中管理されるクラスタ データが格納されています。

dns

ローカル

CNRDB

DNS データベース。DNS サーバ用の DNS リソース レコード状態データとゾーン設定データが格納されています。

dhcp

ローカル

CNRDB

DHCP データベース。DHCP サーバ用のリース状態データが格納されています。

cnrsnmp

ローカル

CNRDB

SNMP データベース。SNMP サーバ用のデータが格納されています。

dhcpeventstore

ローカル

LDAP および DNS Update との対話など、Network Registrar が外部のサーバとのやり取りのために保持するキュー。復元は必要ありません。

tftp

ローカル

TFTP サーバ用のデフォルトのデータ ディレクトリ。復元は必要ありません。

replica

リージョナル

CNRDB

ローカル クラスタ用の複製データが格納されています。

leasehist

リージョナル

CNRDB

DHCP リース履歴データベース。

subnetutil

リージョナル

CNRDB

サブネットの使用状況データベース。

Network Registrar インストールを復元する一般的なアプローチは、次のとおりです。

1. Network Registrar サーバ エージェントを停止します。

2. データを復元または修復します。

3. サーバ エージェントを再起動します。

4. サーバにエラーがないかどうか監視します。

正常にデータベースが復元されたことが確認できたら、必ず mcdshadow ユーティリティを手動で実行して、現在の設定と状態のバックアップを作成します。

MCD データのバックアップと復元

稼働データベースは .../data/db にあり、 mcdchadow の動作中に作成されたシャドウ(バックアップ)コピーは .../data/db.bak ディレクトリにあります。実際のファイル名は、mcddb.d01、mcddb.d02、mcddb.d03、および mcddb.dbd です。


注意 MCD データベースの場合は、dbcheck ユーティリティと keybuild ユーティリティのみを使用します。CNRDB データベースに適用される cnrdb_archive、cnrdb_recover、または cnrdb_verify ユーティリティを使用しないでください。詳細については、「データベースのトラブルシューティング」を参照してください。サーバの稼働中にデータベースをチェックしようとすると、dbcheck ユーティリティでエラーが発生します。ユーティリティを実行する前に、サーバを停止する必要があります。

MCD データベースの整合性のチェック

dbcheck ユーティリティを使用して、MCD データベースの整合性をチェックできます。すべての Network Registrar サーバを停止してから、MCD データベース用の .../data/db ディレクトリに移動します。安全チェックとして、 ../../bin/dbcheck -a mcddb コマンドを入力します(これには、システム管理者特権または root 特権が必要です)。

損傷したデータベースからの MCD データの復元

どのイベントによってデータベースの破損が生じたかに応じて、現在のデータを使用して、そのキーファイルを再構築することにより、データベースを安定な状態に復元できます。


ステップ 1 Network Registrar サーバ エージェントを停止します。

ステップ 2 .../data/db ディレクトリに移動します

ステップ 3 ../../bin/keybuild mcddb コマンドを入力して、キー ファイルを再構築します。

ステップ 4 安全チェックとして、 dbcheck mcddb コマンドを入力します。これには、システム管理者特権または root 特権が必要です。


 

必ず最初にサーバ エージェントを停止します。データベースの復元が正常に行われていない可能性が少しでもあれば、「バックアップからの MCD データの復元」の説明に従って、バックアップからデータベースを復元します。「MCD の復元エラー」も参照してください。

バックアップからの MCD データの復元

キー ファイルの再構築が正常に行なわれなかった場合は、シャドウ バックアップを使用して MCD データを復元できます。このような事態が発生するのは、システム障害によって通常の作業データベースが破損した場合や、データベースが常駐しているディスクが破損した場合などです。


ステップ 1 Network Registrar サーバ エージェントを停止します。データベース ファイルのコピー用に十分なディスク領域プラス 15% の安全マージンが使用可能であることを確認します。

ステップ 2 .../data//db ディレクトリの内容を別の場所に移動して、.../data/db/log ディレクトリ内のファイルを削除します。データベースを復元した後は、ファイルを元の場所に移動することも、将来の使用に備えてバックアップすることもできます。

ステップ 3 .../data/db.bak ディレクトリに、次の 4 つのファイルがあることを確認します。

mcddb.d01

mcddb.d02

mcddb.d03

mcddb.dbd

ステップ 4 これらのファイルを .../data/db にコピーします。これらのファイルは再度使用する場合があるため、 move コマンドは使用しないでください。

ステップ 5 キー ファイルを作成するには、 ../../bin/keybuild mcddb コマンドを入力します。

ステップ 6 安全チェックとして、 dbcheck mcddb コマンドを入力します。これには、システム管理者特権または root 特権が必要です。

ステップ 7 付属の CCM データベース ファイルを復元します(「バックアップからの CNRDB データの復元」を参照)。


 


注意 CCM CNRDB データベースには、集中管理され、サーバ設定データと同期化されている設定データがあります。バックアップから復元したら、同じバックアップから CCM CNRDB データベースを復元して、一貫した設定データが使用されるようにします。

MCD の復元エラー

エラーが発生しないようにします。発生した場合は、次のことを確認します。

Network Registrar サーバ エージェントが停止している。

現在の作業ディレクトリが .../data/db である。

mcddb.dbd ファイルと mcdschema.txt ファイルが .../data/db ディレクトリにある。これらのファイルが存在しない、または破損した場合、バックアップ ファイルは .../data/db.bak ディレクトリに格納されています。

MCD データ ファイル

MCD データベースを完全に機能させるためには、 表8-2 に示すファイルが必要です。前述のとおり、これらのファイルのサブセットのみがシャドウ バックアップにあります。バックアップからデータベースを再構築するためには、最低限、mcddb.dbd、mcddb.d0 x 、および mcdschema.txt ファイルが必要です。

 

表8-2 .../data/db ディレクトリの MCD データ ファイル

データ ファイル
説明

mcddb.dbd

MCD 実行時ライブラリ用の低レベルのデータ スキーマが記されているテンプレート ファイルです。Network Registrar を実行するためにはこのファイルが必要です。

mcddb.k01-k03

冗長データを含んでいるキー ファイル:これらのファイルは keybuild コマンドを使用して完全に再構築することができるので、Network Registrar によるバックアップは行われません。

mcddb.d01-d03

MCD データ リポジトリ ファイルです。

mcdConfig.txt

Network Registrar によって初期インストール時に設定されるデータベースの元になるテキスト ファイルです。

mcdschema.txt

mcddb.dbd ファイル内のスキーマのバージョン番号を保存しているテキスト ファイル。このファイルの番号がライブラリにあるバージョン定数と一致しないと、Network Registrar はデータベースを開こうとしません。Network Registrar を実行するためにはこのファイルが必要です。

vista.taf、tcf、tjf

MCD が実行時に処理の整合性を保証するために使用する作業ファイルです。データベース ファイルをバックアップから復元するとき、サーバはこれらのファイルを必要に応じて使用するか破棄します。

CNRDB データのバックアップ

CNRDB データベースの場合、 mcdshadow ユーティリティはデータベースおよびすべてのログ ファイルを、インストールされた Network Registrar 製品のディレクトリ ツリー内の 2 次ディレクトリにコピーします。次の各 CNRDB データベースに対して実行します。

DHCP :稼働データベースは .../data/dhcp/ndb ディレクトリにあり、ログ ファイルは .../data/dhcp/ndb/logs ディレクトリにあります。シャドウ コピーは、.../data/dhcp.bak/ndb ディレクトリにあります。

DNS :稼働データベースは .../data/dns/ndb ディレクトリにあります。重要な稼働コンポーネントは、High-Availability(HA; ハイ アベイラビリティ)DNS、変更セット データベース、およびゾーン チェックポイント ファイルです。変更セット データベースは .../data/dns/ndb/dns.ndb ファイルにあり、ログ ファイルは、.../data/dns/ndb/logs ディレクトリにあります。ゾーン チェックポイント ファイルは、.../data/dns/zchk ディレクトリにあります。シャドウ コピーは、.../data/dns.bak ディレクトリにあります。

SNMP :稼働データベースおよびログ ファイルは .../data/cnrsnmp/ndb ディレクトリにあります。シャドウ コピーは、.../data/cnrsnmp.bak/ndb ディレクトリにあります。

CCM :稼働データベースおよびログ ファイルは .../data/ccm/ndb ディレクトリにあります。シャドウ コピーは、.../data/ccm.bak ディレクトリにあります。

MCD :稼働データベースおよびログ ファイルは .../data/mcd/ndb ディレクトリにあります。シャドウ コピーは、.../data/mcd.bak ディレクトリにあります。

リース履歴 :稼働データベースおよびログ ファイルは .../data/leasehist ディレクトリにあります。シャドウ コピーは、.../data/leasehist.bak ディレクトリにあります。

サブネット使用状況 :稼働データベースおよびログ ファイルは .../data/subnetutil ディレクトリにあります。シャドウ コピーは、.../data/subnetutil.bak ディレクトリにあります。

複製 :稼働データベースおよびログ ファイルは .../data/replica ディレクトリにあります。

実際のファイルの命名規則は、次のとおりです。

データベース :dhcp.ndb と dns.ndb。

ログ ファイル :log.0000000001 ~ log.9999999999。ファイルの数は、サーバに対する変更の速度によって異なります。通常は少数のログ ファイルのみ存在します。サイトの特定のファイル名拡張子は、データベースの使用時間に応じて異なります。これらのログ ファイルは、人が読むことのできる形式ではありません。

損傷したデータベースからの CNRDB データの復元

この項では、CNRDB タイプの一部またはすべてのデータベースを復元する手順について説明します。どのイベントによってデータベースの破損が生じたかに応じて、現在のデータを使用してデータベースを安定な状態に復元できます。これは、最もよいオプションです。常にデータベース ファイルのコピーおよび関連ログ ファイル上で復元を実行し、稼働ファイル上では実行しないでください。これは単純なファイル コピー オペレーションであり、シャドウ バックアップとは異なります。また、Network Registrar の稼働中に復元を試みないでください。

通常は、データベースに付随するログ ファイル(たとえば、.../data/dhcp/ndb/logs にある DHCP ログ ファイル )を使用して、傷害が発生したサーバのデータベースを修復します。ログ ファイルを使用するのは、ログ ファイルにすべてのデータベース アクティビティが記録されているからです。復元が正常に完了した後でも、これらのログ ファイルは決して移動したり、名前を変更したり、削除したりしないでください。実際、復元処理では、ログ ファイル自体ではなく、コピーを使用しています。


注意 即座に確認できる破損はなくても、CNRDB データベース ファイルが破損している可能性はあります。このような破損が発生する原因は、(a)ログ ファイルの不適切な削除、(b)復元前と復元後のデータベースやログ ファイルの混合、(c)アプリケーションが使用しているデータベースに対する復元の試み、(d)別のデータベース専用のツール(MCD データベース ツールなど)の使用です。CNRDB データベースに対して使用できるのは、cnrdb_archivecnrdb_recover、および cnrdb_verify ユーティリティのみです。MCD データベースに適用される keybuild および dbcheck ユーティリティは使用しないでください。

データベースの復元には、Network Registrar 製品の配布に含まれている cnrdb_recover ユーティリティを使用します(「cnrdb_recover ユーティリティの使用方法」を参照)。このツールは慎重に使用する必要があります。稼働データベース上や、別のアプリケーションが同時にアクセスしているファイル上で、このツールを使用しないでください。データベースの復元が成功した後で、復元後のファイル(データベース ファイルおよびログ ファイル)を稼働データベースまたはシャドウ バックアップなどの別のソースからのファイルと混合しないでください。復元後のデータベース ファイルが取得する状態情報によって、古いデータベース ファイルとの互換性がなくなります。


ステップ 1 Network Registrar サーバ エージェントを停止します。これを行うことにより、すべてのプロトコル サーバが停止します。データベース ファイルのコピー用に十分なディスク領域プラス 15% の安全マージンが使用可能であることを確認します。

Solaris では、次のように df -k ユーティリティを使用して、ディスク領域をチェックした後、 stop でサーバ エージェントを停止します。

> df -k
> /etc/init.d/nwreglocal stop
 

ステップ 2 Network Registrar インストール ツリーの外側に、backup という名前のバックアップ ディレクトリを作成します。Windows では、通常 C:\temp\backup です。Solaris と Linux では、通常 /tmp/backup です(安全のため、修復しようとしているデータベースの現時点でのディレクトリ ツリーを、ここでコピーしておきます)。

たとえば、Solaris では mkdir を使用して、次のようにバックアップ ディレクトリを作成します。

> mkdir /tmp/backup
 

ステップ 3 .../data の下にある復元対象のデータベース サブディレクトリを、バックアップ ディレクトリにコピーします。たとえば、DHCP データベースを復元するには、.../data/dhcp ディレクトリとそのサブディレクトリを、次のように /tmp/backup に再帰的にコピーします。

> cp -rp /var/nwreg2/local/data/dhcp /tmp/backup
 

コピーが完了したら、データベース ファイルおよびすべてのログ ファイルが正しくコピーされていることをもう一度チェックします。これらのファイルは、変更しないでください。これらのファイルに対しては、どのようなユーティリティまたはサーバも実行しないでください。

ステップ 4 ログ ジャーナルを使用して次のようにデータベースを修復します。

a. サブディレクトリから、データベース ファイルと同じディレクトリにログ ファイルをコピーします。次に例を示します。

> cd /var/nwreg2/local/data/dhcp/ndb
> cp ./logs/*
 

b. データベース ファイル ディレクトリで cnrdb_recover プログラムを実行します。 -c オプションと -v オプションを使用します。 -v を使用すると、エラーがない場合も出力が表示されるので便利です(「cnrdb_recover ユーティリティの使用方法」を参照)。次に例を示します。

> cd /var/nwreg2/local/data/dhcp/ndb
> /opt/nwreg2/local/bin/cnrdb_recover -v -c
db_recover: Finding last valid log LSN: file: 1 offset 95181
db_recover: Recovery starting from [1][28]
db_recover: Recovery complete at Mon June 19 18:44:15 2006
db_recover: Maximum transaction ID 800000009 Recovery checkpoint [1][95229]
db_recover: Recovery complete at Mon Jun 19 18:44:15 2006
db_recover: Maximum transaction ID 80000000 Recovery checkpoint [1][95529]
 

c. 各サーバに対し、 cnrdb_verify ユーティリティ プログラムを実行します。確認が正常に行われた場合、出力は何もありません(「cnrdb_verify ユーティリティの使用方法」を参照)。次に例を示します。

> cd /var/nwret2/local/data/dhcp/ndb
> /opt/nwreg2/local/bin/cnrdb_verify dhcp.ndb
 

d. ログ ファイルを削除します。次に例を示します。

> cd /var/nwret2/local/data/dhcp/ndb
> rm log.*[0-9]
 

e. 信頼性を高めるために、必要に応じて cnrdb_archive ユーティリティを実行します。

cnrdb_archive -l :すべてのログ ファイルを一覧表示します。

cnrdb_archive -s :データベース ファイルを一覧表示します。

f. エラーが発生した可能性が少しでもあれば、「バックアップからの CNRDB データの復元」の説明に従って、バックアップからデータベースを復元します。

ステップ 5 DHCP の場合のみ、.../data/dhcpeventstore ディレクトリのファイルを削除します。

ステップ 6 Network Registrar を再起動します。


 

バックアップからの CNRDB データの復元

データベースの復元が成功しなかったことを示すもの、たとえばサーバ ログ メッセージまたはデータの損失があった場合は、(Network Registrar インストール ツリー内の)現在のシャドウ バックアップを基準にして復元を試みる必要があります。次の操作を実行します。

1. Network Registrar サーバ エージェントを停止します。

2. 稼働データベース ファイルを別の一時的な場所に移動します。

3. 各 .../data/ name .bak ディレクトリを .../data/ name にコピーします。たとえば、.../data/mcd.bak は .../data/mcd にコピーします。

4. ../../bin/keybuild mcddb コマンドを入力して、キー ファイルを再構築します。


cnr.conf ファイルで cnr.dbrecover 変数を false に設定して、mcdshadow 夜間バックアップ中の復元をディセーブルにした場合は、上記のステップの中で復元も実行する必要があります。


5. ファイルの名前を変更したら、サーバ エージェントを再起動します。

CNRDB データベースには、集中管理され、サーバ設定データベースと同期化されている設定データがあります。バックアップから CNRDB ファイルを復元する場合は、同じバックアップから MCD データベースも復元します。


) 復元が成功しなかった場合は、現在のシャドウ バックアップが単に破損したファイルをコピーしたものであることが原因と考えられるため、その次に新しいシャドウ バックアップを使用します(このような場合のために、シャドウ バックアップの定期的なアーカイブが必要なことがわかります)。稼働ログ ファイルを、それより古いシャドウ バックアップ ファイルに追加することはできません。シャドウ バックアップの作成後にデータベースに追加されたデータは、すべて失われます。


データベースの復元が正常に終了したあと、すぐに mcdshadow ユーティリティを使用してシャドウ バックアップを開始し、ファイルをアーカイブしてください(「手動バックアップの実行」を参照)。

データ管理のための session assert コマンド

CLI session assert コマンドを使用すると、外部データ管理プロセスとの対話が容易になります。また、複数のコマンドを含むバッチ スクリプトを作成して、アサートされた前提条件が失敗した場合に処理を停止する場合にもこのコマンドが役立ちます。これらのコマンドは、一般に、 script というデフォルトのセッション形式を使用します。アサーションが通れば、「 100 Ok 」というメッセージが表示されます。失敗した場合は、「 107 Assertion Failed xxx .dbsn ( minor-serial-number ) = value 」というメッセージが表示されて CLI が終了します。

session assert locked コマンドを実行すると、セッションがロックできない場合に CLI が終了します。次のコマンド ファイルの例では、ロックが必要なバッチ操作を実行します。セッションのデフォルトの形式は通常、user 形式に設定されることに注意してください。ここでは、script 形式に設定します。

session set default-format=script
session assert locked
commands-that-require-a-lock
 

session assert dhcp.dbsn コマンドを実行すると、DHCP サーバのマイナー シリアル番号が与えられた値と一致しない( == )場合またはそれを超えない( != )場合、CLI セッションが終了します。マイナー シリアル番号は、設定を変更するたびにインクリメントされます。この値を取得するには、 dhcp get dbsn を使用します。次のスクリプト例では、設定バージョン 1234 に基づいて DHCP サーバが変更されます。

session set default-format=script
dhcp get dbsn
session assert dhcp.dbsn == 1234
scope scope1 create 192.168.1.0 255.255.255.0
scope scope1 addRange 192.168.1.10 192.168.1.200
 

次のスクリプト例は、バージョン 1234 以降に行われた DHCP の設定変更を一覧表示します。

session set default-format=script
session assert dhcp.dbsn != 1234
scope list
policy list
client-class list
 

Network Registrar 実行中のウィルス スキャン

システム上でウィルス スキャンをイネーブルにしている場合は、特定の Network Registrar ディレクトリをスキャンしないように設定してください。これらのディレクトリをスキャン対象に含めると、Network Registrar のオペレーションが妨げられる可能性があります。.../data、.../logs、.../temp の各ディレクトリと、それらのサブディレクトリをスキャン対象から除外してください。

データベースのトラブルシューティング

ここでは、Network Registrar データベースのトラブルシューティングについて説明します。

データのインポートとエクスポート ツール cnr_exim の使用方法

Network Registrar はデータ リポジトリを拡張して Web UI を管理するため、現行の Network Registrar データのインポートとエクスポートのツールである mcdadmin は適していません(「mcdadmin ツールの使用方法」を参照)。今後は、 cnr_exim というデータのインポートとエクスポートのツールが、Network Registrar サーバ間のデータのインポートとエクスポートを管理します。 cnr_exim ツールは、 mcdadmin の制限である、保護されないリソース レコード情報をエクスポートできないという点を克服しています。

ただし、 cnr_exim は既存のデータを上書きするだけで、競合を解決しようとしないことに注意してください。

cnr_exim ツールを使用する前に CLI を終了し、次の場所でツールを探します。

Windows :...\bin\cnr_exim.exe

Solaris および Linux :.../usrbin/cnr_exim

インポートされたデータをアクティブにするには、サーバをリロードする必要があります。

テキストのエクスポートは、読み取り専用であることに注意してください。エクスポートしたテキストをインポートし直すことはできません。

テキストのエクスポートでは、ユーザ名とパスワードの入力を求められます(クラスタのデフォルトはローカル クラスタです)。シンタックスは次のとおりです。

> cnr_exim -e exportfile [-N username -P password -C cluster]
 

(インポート可能な)未加工のデータをエクスポートするには、 -x オプションを使用します。

> cnr_exim -e exportfile -x
 

DNS サーバとゾーン コンポーネントを未加工形式のバイナリ データとしてエクスポートするには、 -x -c オプションを使用します。

> cnr_exim -e exportfile -x -c "dnsserver,zone"
 

データをインポートする際のシンタックスは、次のとおりです(インポート ファイルは未加工形式である必要があります)。

> cnr_exim -i importfile [-N username -P password -C cluster]
 

-o オプションを使って、既存のデータを上書きすることもできます。

> cnr_exim -i importfile -o
 

表8-3 では、 cnr_exim ツールの修飾オプションを説明します。

 

表8-3 cnr_exim のオプション

オプション
説明

-a value

保護された RR または保護されない RR のインポートおよびエクスポートを許可します。有効な は、次のとおりです。

protectedRR
unprotectedRR

デフォルトでは、エクスポート時またはインポート時にすべての RR がエクスポートされます。保護された RR または保護されない RR だけをエクスポートまたはインポートするには、適切な値を使用する必要があります。

-c " components "

Network Registrar のコンポーネントを、引用符で囲まれた、カンマ区切り文字列としてインポートまたはエクスポートします。サポートされているコンポーネントを表示する場合は、 -c help を使用します。ユーザは、デフォルトではエクスポートされないため、このオプションを使って明示的にエクスポートする必要があります。ユーザ名は定義されているグループとロールに常にグループ化されています。シークレットがエクスポートされることはありません。


) 管理者名をインポートしたら、新しいパスワードを設定する必要があります。ユーザ名(デフォルトではエクスポートされない)とは別にグループとロールをエクスポートした場合は、ユーザ名との関係が失われます。


-C cluster

指定したクラスタとの間でインポートまたはエクスポートを行います。プリセット値は localhost です。

-e exportfile

指定したファイルに設定をエクスポートします。

-h

サポートされているオプションについてのヘルプ テキストを表示します。

-i importfile

指定したファイルに設定をインポートします。インポート ファイルは未加工形式である必要があります。

-N username

指定したユーザ名を使って、インポートまたはエクスポートを行います。

-o

-i (インポート)オプションとともに使用すると、既存のデータが上書きされます。

-p port

SCP サーバへの接続に使用するポート。

-P password

指定したパスワードを使って、インポートまたはエクスポートを行います。

-x

-e (エクスポート)オプションとともに使用すると、バイナリ データが(インポート可能な)未加工形式でエクスポートされます。

mcdadmin ツールの使用方法

mcdadmin ツールは、MCD データベースのインポートとエクスポートを行い、シスコの案内に従って Network Registrar の状態を診断できるユーティリティです。このツールは、Release 6.0 より前の Network Registrar にだけ適しています。ツールを実行するには、root 特権が必要です。


注意 このツールは、Cisco Technical Assistance Center の指示がある場合にだけ使用してください。平常時に使用すると、Network Registrar の設定データベースに致命的な損傷を与えることがあります。このツールは、Release 6.0 より前の Network Registrar にだけ適しています。Network Registrar Release 6.0 のデータのインポートとエクスポートについては、「データのインポートとエクスポート ツール cnr_exim の使用方法」を参照してください。

mcdadmin ツールを使用する前に CLI を終了し、次の場所でツールを探します。

Windows :...\bin\mcdamin.exe

Solaris および Linux :.../usrbin/mcdadmin

コマンド シェルからツールを実行します。次の例では、アプリケーションのバージョン番号を表示します。

> mcdadmin -v
 

次のコマンドは、scopePC というスコープ設定データを cnrconfig.txt ファイルにエクスポートします。

> mcdadmin -e cnrconfig.txt -p /servers/name/dhcp/1/scopes/scopePC/ -x -z m=3
 

次のコマンドは、現在の設定データベースをインストール時のデフォルトに上書きします。

> mcdadmin -i cnrconfig.txt -z m=3
 

表8-4 では、修飾オプションを説明します。MCD ツリー内のオブジェクトへの絶対パスである dbpath は、常に最初と最後にスラッシュ( / )が付きます。

 

表8-4 mcdadmin のオプション

オプション
説明

-a area

使用するデータベースの領域を指定します。 config (プリセット値)、 state altconfig 、または altstate です。

-c

MCD データベースを作成し、既存のデータベースは削除します。


) このオプションは、Cisco Technical Assistance Center の指示がある場合にだけ使用してください。


-d dbname

データベース名または default データベースを指定します。

-e exportfile

指定したファイルに設定をエクスポートします。また、ダッシュ( - )は出力先が標準出力になります。

> mcdadmin -N admin -P changeme -e mcdconfig.txt
> mcdadmin -N admin -P changeme -e -
 

-G gen

-e (エクスポート)オプションとともに使用するときは、リソース レコードのテーブルをエクスポートするために世代番号を指定します。

-H

テーブルの全世代の履歴をダンプします。

-i importfile

指定したファイルに設定をインポートします。また、ダッシュ( - )は入力元が標準入力になります。

> mcdadmin -N admin -P changeme -o -i mcdconfig.txt -z m=3
 

-o とともに使用すると、-i は現在のデータベースを上書きします。-o を指定しない場合は、ファイルから取得したエントリが新しく作成されます。


-k

単体で使用した場合は、ロック マネージャを無効にします。

-l

-i (インポート)オプションとともに使用すると、インポート時に排他ロックが保持されます。

-o

現在のデータベースに同じ名前のエントリがあれば、その内容を上書きします。

-O

既存のデータベースにデータをマージします。一意のキーやリソース レコード テーブルは無視されます。

-p dbpath

-e (エクスポート)オプションとともに使用するときは、設定データベースの中のエクスポートするサブセットを絶対パスで指定します。

> mcdadmin -N admin -P changeme -e scopepc.txt
-p /servers/name/dhcp/1/scopes/scopePC/ -x -z m=3
 

-r dbpath

MCD データベースで指定したパスを削除します。サブエントリは含まれません。

> mcdadmin -r /servers/name/dhcp/1/scopes/scopePC/
 

-R dbpath

指定したパスに含まれるエントリとその下位のエントリをすべて再帰的に削除します。


) このオプションを使用すると、MCD の大部分を破壊する可能性があります。そのため部分的または全体的な再構築が必要になる場合があります。


dbpath

-p、-r、および -R で dbpath を使用する場合は、/ を先頭に付けて絶対パスを指定し、MCD ツリーのその部分を参照するか、またはコロン( : )を先頭に付けて server zone name タプルを使用します。コロンの後のフィールドは空白で区切られ、 name 、または zone name を未指定のままにすることができます。たとえば、 -p ":myserv example.com. mypath" になります。

-t dir

データベース テンプレートを取得するディレクトリを指定します。

-T

データベースの作成時に、データベース テンプレートを再コピーします。

-v または -V

バージョン情報を印刷します。

-x

-e (エクスポート)オプションとともに使用すると、バイナリ データが未加工形式でエクスポートされます。

> mcdadmin -N admin -P changeme -e mcdconfig.txt -x
 

-z class = n

1 つまたは複数のデバッグ クラスをレベル n に設定します。

> mcdadmin -N admin -P changeme -c -o -i mcdconfig.txt -z m=3
 

cnrdb_recover ユーティリティの使用方法

cnrdb_recover ユーティリティは、システム障害の後、Network Registrar データベースを一貫性のある状態に復元するために使用できます。このコマンドでは、通常 -c および -v オプションを使用します( 表8-5 では、すべての修飾オプションを説明します)。このユーティリティは、インストール bin ディレクトリにあります。

 

表8-5 cnrdb_recover のオプション

オプション
説明

-c

標準の回復ではなく、致命的状況からの回復を実行します。存在するログ ファイルをすべて検査し、ファイルが欠けている場合は現在または指定のディレクトリに .ndb(または .db)ファイルを再作成し、ファイルが存在する場合はファイルをアップデートします。

-e

回復プログラムの実行後、環境を保持します。db_config ファイルがホーム ディレクトリにある場合以外はほとんど使用されません。

-h dir

データベース環境のホーム ディレクトリを指定します。デフォルトでは、現在の作業ディレクトリが使用されます。

-t

最新の日付ではなく、指定した時刻に復元します。時刻の形式は、 [[CC]YY]MMDDhhmm[ . ss] です(角カッコはオプションのエントリを示し、年を省略すると、デフォルトで現在の年に設定されます)。

-v

詳細モードで動作します。

-V

ライブラリのバージョン番号を標準出力に書き込んでから終了します。

致命的な障害の場合に、すべてのデータベース ファイルのスナップショットと、そのスナップショット以降に書き込まれたすべてのログ ファイルを復元します。致命的でない場合、障害時のシステム ファイルがあれば十分です。欠けているログ ファイルがあると、 cnrdb_recover -c は、欠けているログ ファイルを識別して失敗します。この場合、ログ ファイルを復元して回復プログラムを再実行する必要があります。

致命的な状況からの回復オプションを使用することを、強くお勧めします。このオプションを使用することにより、リカバリ ユーティリティは、利用できるすべてのデータベース ログ ファイルを順番に再現します。何らかの理由でログ ファイルが欠落している場合、リカバリ ユーティリティはエラーを報告します。たとえば、ログ ファイルのリストに次のような隔たりがあるとします。

log.0000000001
log.0000000053
 

この場合、次のエラーが発生します。このようなエラーには、TAC が担当しなければならない場合があります。

db_recover: Finding last valid log LSN:file:1 offset 2411756
db_recover: log_get: log.0000000002: No such file or directory
db_recover: DBENV->open: No such for or directory
 

cnrdb_verify ユーティリティの使用方法

cnrdb_verify ユーティリティは、Network Registrar データベースの構造を検証するのに役立ちます。コマンドには、ファイル パラメータが必要です。このユーティリティは、ファイルを変更するプログラムが実行されていないことが確実な場合にだけ使用します。 表8-6 では、すべての修飾オプションを説明します。このユーティリティは、インストール bin ディレクトリにあります。シンタックスは、このコマンドを実行するときに、使用方法情報に表示されます。

C:\Program Files\Network Registrar\Local\bin>cnrdb_verify
usage: db_verify [-NoqV] [-h dir] [-P password] file
 

 

表8-6 cnrdb_verify のオプション

オプション
説明

-h dir

データベース環境のホーム ディレクトリを指定します。デフォルトでは、現在の作業ディレクトリが使用されます。

-N

実行中に共有領域ロックを取得できないようにします。エラーのデバッグ目的でだけ使用し、その他の状況では使用しないでください。

-o

データベースのソートまたはハッシュの順序付けを無視し、 cnrdb_verify をデフォルト以外の比較やハッシュの設定に使用できるようにします。

-P password

ユーザ パスワード(ファイルが保護されている場合)。

-q

正常終了または異常終了以外のエラーの説明を一切出力しないようにします。

-V

ライブラリのバージョン番号を標準出力に書き込んでから終了します。

cnrdb_checkpoint ユーティリティの使用方法

cnrdb_checkpoint ユーティリティは、データベース ファイルが最新の状態に保たれるように、チェックポイントを設定する場合に便利です。このユーティリティは、インストール bin ディレクトリにあります。シンタックスは、このコマンドを実行するときに、使用方法情報に表示されます。

C:\Program Files\Network Registrar\Local\bin>cnrdb_checkpoint ?
usage: db_checkpoint [-1Vv] [-h home] [-k kbytes] [-L file] [-P password] [-p min]
 

keybuild ツールの使用方法

keybuild ツールは、MCD ファイルとの冗長データが入ったデータベース キー ファイルを再構築するために使用できるユーティリティです。

Windows Start > Settings > Control Panel > Administrative Tools > Services の順にクリックし、Network Registrar Local Server Agent または Network Registrar Regional Server Agent を強調表示して Stop をクリックします。これにはシステム管理者特権が必要です。 install-location \data\db フォルダに移動し、keybuild.exe ファイルを実行します。

keybuild mcddb
 

Solaris :サーバ エージェントを停止します。.../data/db フォルダに移動します。これには root 特権が必要です。

/etc/init.d/nwreglocal stop
/etc/init.d/nwregregion stop
keybuild mcddb
 

dbcheck ツールの使用方法

dbcheck ツールは、MCD の整合性チェックに使用できるユーティリティです。 dbcheck ツールを実行するには、システム管理者特権または root 特権が必要です。

Windows Start > Settings > Control Panel > Administrative Tools > Services の順にクリックし、Network Registrar Local Server Agent または Network Registrar Regional Server Agent を強調表示して Start をクリックします。...\data\db フォルダに移動し、dbcheck.exe ファイルを実行します。

dbcheck mcddb
 

Solaris および Linux :サーバ エージェントを停止します。次に、.../data/db フォルダに移動し、dbcheck ファイルを実行します。

/etc/init.d/nwreglocal stop
/etc/init.d/nwregregion stop
dbcheck -a mcddb
 

注意 サーバの稼働中には dbcheck ユーティリティを実行しないでください。

フェールオーバー サーバからの DHCP データの復元

シャドウ バックアップの結果より新しい DHCP データを、フェールオーバー サーバから復元できます。フェールオーバー パートナー設定の同期が取れていることを確認した後、フェールオーバー パートナーで次の操作を実行します。

Windows

1. たとえば、次のようにデフォルト パスを設定します。

SET PATH=%PATH%;.;C:\PROGRA~1\NETWOR~1\LOCAL\BIN
 

2. サーバ エージェントを停止します。

net stop "Network Registrar Local Server Agent"
 

3. eventstore、ndb、および logs ディレクトリを削除します。

del C:\Program Files\Network Registrar\Local\data\dhcpeventstore\*.*
del C:\Program Files\Network Registrar\Local\data\dhcp\ndb\dhcp.ndb
del C:\Program Files\Network Registrar\Local\data\dhcp\ndb\logs\*.*
 

4. MCD DHCP フェールオーバー状態を削除します。

mcdadmin -N username -P password -a state -R /servers/name/dhcp/1/state
 

5. サーバ エージェントを再起動します。

net start "Network Registrar Local Server Agent"
 

Solaris および Linux

1. サーバ エージェントを停止します。

/etc/init.d/[nwreglocal|aicservagt] stop
 

2. 実行中のプロセスを調べます。

ps -leaf | grep nwr
 

3. 残っているプロセスを強制終了します。

kill -9 pid
 

4. eventstore、ndb、および logs ディレクトリを削除します。

rm /var/nwreg2/data/dhcpeventstore/*.*
rm -r /var/nwreg2/data/dhcp/ndb/*
 

5. MCD DHCP フェールオーバー状態を削除します。

mcdadmin -N username -P password -a state -R /servers/name/dhcp/1/state
 

6. サーバ エージェントを再起動します。

/etc/init.d/[nwreglocal|aicservagt] start