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

目次

バックアップと復元

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

シンタックスと場所

バックアップ方式

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

手動バックアップの実行

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

データベースの復元方式

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

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

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

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

MCD の復元エラー

MCD データ ファイル

CNRDB データのバックアップ

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

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

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

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

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

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

mcdadmin ツールの使用方法

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

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

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

keybuild ツールの使用方法

dbcheck ツールの使用方法

バックアップと復元

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

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

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

そのため、Network Registrar はシャドウ バックアップ ユーティリティである mcdshadow を備えています。1 日 1 回、設定可能な時刻に、Network Registrar は重要なファイルのスナップショットをとります。このスナップショットは、データベースの一貫性のあるビューであることが保証されています。 mcdshadow プログラムは、セカンダリ サーバでシャドウ バックアップが実行されているときにも DNS データをバックアップします。このバックアップは 1 世代だけのバックアップです。

シンタックスと場所

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

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

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

以降の説明において、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 データベース:...data/db

CNRDB データベース:...data/dhcp/ndb、...data/dns/ndb、...data/dns/zchk、data/mcd/ndb、...data/cnrsnmp/ndb、...data/leasehist、...data/subnetutil、および ...data/replica

CCM データベース:data/mcd/ndb および data/ccm/ndb

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

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

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


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

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

.../conf にある cnr.conf ファイル内で、自動シャドウ バックアップを実行する時刻を設定できます。ファイルの編集画面を開き、 cnr.backup-time 変数を自動シャドウ バックアップの実行時刻(24 時間の HH : MM 形式)に変更します。たとえば、デフォルトは次のとおりです。

cnr.backup-time=23:45
 

手動バックアップの実行

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

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

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


注意 サードパーティのバックアップ プログラムが、Network Registrar の稼動データベース ディレクトリとファイルをスキップし、そのシャドウ コピーだけをバックアップするように設定します。これを行わないと、サーバがクラッシュする可能性があります。稼動ファイルは、「バックアップ方式」に一覧表示があります。バックアップできるシャドウ コピーは、.../data ディレクトリにある db.bak、dhcp.bak、dns.bak、mcd.bak、および ccm.bak の各ファイルです。

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

データベースの復元方式

データベースの復元方式には、8 つまでの Network Registrar データベースをそれぞれのデータベース タイプに固有のツールを使って手動で復元することが含まれます。これは 1 つのメカニズムですべてのサーバ データをバックアップする バックアップ手順とは異なります。データベース タイプは、MCD と CNRDB の 2 つです。8 つのデータベースは次のとおりです。

MCD 設定データベース:サーバ設定データが格納されています。

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

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

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

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

リース履歴データベース:DHCP リース履歴のデータが格納されています。

サブネット使用状況データベース:DHCP サブネット使用状況のデータが格納されています。

複製データベース:ローカル クラスタから複製されたデータが格納されています。

データベース復元時に発生した問題に応じて、次のオプションのいずれかをすべてのデータベースまたは 1 つのデータベースに適用することが必要になる場合があります。

整合性の復元:たとえば、プライマリ サーバでハードディスク障害が発生し、Network Registrar データがセカンダリ ディスクに存在する場合、システムがオンラインに復旧してから、現在の設定データベースと状態データベースを修復できます。

サーバ データのバックアップの復元:たとえば、サーバにハードディスク障害があり、Network Registrar データがセカンダリ ディスクに存在する場合があります。3 つの既存のデータベースのうち 2 つを修復できれば、3 つ目はバックアップから復元できます。

設定データベースと状態データベースのバックアップの復元:たとえば、システムのハードディスクがクラッシュし、Network Registrar データベースがそのディスク上にあった場合、データベースをバックアップ コピーから復元できます。

それぞれの復元オプションは、すべて同じ一般的なアプローチに従います。

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

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

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

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

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

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

mcdshadow ユーティリティが使用する稼動データベースは .../data/db にあり、シャドウ コピーは .../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.bak に、次の 4 つのファイルがあることを確認します。

mcddb.d01

mcddb.d02

mcddb.d03

mcddb.dbd

ステップ 3 これらのファイルを .../data/db にコピーします。これらのファイルは再度使用する場合があるため、 move コマンドは使用しないでください。.../data/db ディレクトリ内のファイルは自動的にクリーンアップされるので、現在の内容を削除する必要はありません。

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

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

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


 


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

MCD の復元エラー

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

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

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

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

MCD データ ファイル

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

 

表7-1 .../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 ディレクトリにあります。重要な稼動コンポーネントは、変更セット データベースとゾーン チェックポイント ファイルです。変更セット データベースは .../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 データの復元

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


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

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


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

ステップ 2 安全のために、Network Registrar インストール ツリーの外側に、一時ディレクトリ recover を作成します。Windows では、通常 C:\temp\recover です。Solaris と Linux では、通常 /tmp/recover です。

ステップ 3 .../data の下にある次のデータベース サブディレクトリを、recover ディレクトリにコピーします。

DHCP:.../data/dhcp/

DNS:.../data/dns/

SNMP:.../data/cnrsnmp/

CCM:.../data/ccm/

MCD:.../data/mcd/

リース履歴:.../data/listhist/

サブネット使用状況:.../data/subnetutil/

複製(オプション):.../data/replica/

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

ステップ 4 現在のデータベース ファイルの復元を試みます。

a. recover ディレクトリの適切なサブディレクトリに移動し、復元ユーティリティ プログラム
cnrdb_recover -c -v
を実行します。 -v オプションを使用すると便利です。使用しないと、エラーがない場合はユーティリティが何も出力しません。このユーティリティとオプションの詳細については、「cnrdb_recover ユーティリティの使用方法」を参照してください。

b. 各サーバに対し、確認ユーティリティ プログラムを実行します。確認が正常に行われた場合、出力は何もありません。 cnrdb_verify ユーティリティとオプションの詳細については、「cnrdb_verify ユーティリティの使用方法」を参照してください。次の各 CNRDB データベースに対して実行します。

DHCP: cnrdb_verify dhcp.ndb (recover ディレクトリの /dhcp サブディレクトリ内)。

DNS: cnrdb_verify dns.ndb (recover ディレクトリの .../recover/dns サブディレクトリ内)。

CCM: cnrdb_verify (recover ディレクトリの /ccm サブディレクトリにある各 *.db ファイル)。

MCD: cnrdb_verify (recover ディレクトリの /mcd サブディレクトリにある各 *.db ファイル)。

c. 信頼性を高めるために、必要に応じて .../recover ディレクトリから cnrdb_archive ユーティリティ プログラムを実行します。

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

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

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

e. Network Registrar インストール ツリー内の稼動データベース ファイルおよびログ ファイルを recover ディレクトリ内のファイルで置き換えます。 cnrdb_recover で処理済みのデータベース ファイルと、処理されていないデータベース ファイルを混合しないように注意してください。この問題を回避するために、稼動 CNRDB ファイルおよびログ ファイルを Network Registrar インストールから削除します。復元したファイルをコピーする際、データベース ファイルとログ ファイルが、Network Registrar インストール ツリー内の別個の適切なディレクトリにコピーされていることを確認します。

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

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


 

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

データベースの復元が成功しなかったことを示すもの、たとえばサーバ ログ メッセージまたはデータの損失があった場合は、(Network Registrar インストール ツリー内の)現在のシャドウ バックアップを基準にして復元を試みる必要があります。稼働データベースを別個の一時的な場所に移動してから、.../data/ name .bak ディレクトリに入っているファイルを .../data/ name ディレクトリに移動します。たとえば、.../data/mcd.bak の内容を .../data/mcd に移動します。

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 ツールを使用する前に、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
 

設定をすべてエクスポートするには、 -a dynRR オプションを追加して、ダイナミック リソース レコードもエクスポートする必要があります。他のコンポーネントなしにダイナミック リソース レコードだけをエクスポートするには、 -c "none" オプションを追加します。

> cnr_exim -e exportfile -a dynRR -c "none"
 

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
 

ダイナミック リソース レコードを含む設定をインポートする(新しいシステムにインポートするか、現在のシステムのデータを上書きする)場合、次の 2 つのステップに従って設定をすべてインポートする必要があります。

1. cnr_exim -i を使用して、標準のインポートを実行します。この操作により、ダイナミック リソース レコードを除くすべての設定がインポートされます。次に、DNS サーバをリロードします。この操作により、サーバがゾーン設定データを取得し、ダイナミック リソース レコードを受け入れる状態になります。

2. 次のコマンドを使用して、ダイナミック リソース レコードだけをインポートします。

> cnr_exim -i importfile -a dynRR -c "none"
 

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

 

表7-2 cnr_exim のオプション

オプション
説明

-a dynRR

ダイナミック リソース レコードだけをインポートまたはエクスポートします。DNS サーバがリロード済みで、ゾーン データが存在することが前提です(このオプションを、
-c "none" オプションと組み合せると、ダイナミック リソース レコードだけをインポートまたはエクスポートできます)。

-c " components "

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


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


 

-C cluster

指定したクラスタとの間でインポートまたはエクスポートを行います。デフォルトは localhost です。

-e exportfile

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

-h

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

-i importfile

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

-N username

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

-o

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

-P password

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

-x

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

mcdadmin ツールの使用方法

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


注意 このツールは、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
 

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

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

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

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

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

 

表7-3 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 オプションを使用します( 表7-4 では、すべての修飾オプションを説明します)。このユーティリティは、インストール bin ディレクトリにあります。

 

表7-4 cnrdb_recover のオプション

オプション
説明

-c

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

-e

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

-h dir

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

-t

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

-v

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

-V

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

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

次に、このユーティリティの出力例を示します。

C:\temp\recover\dns> "C:\Program Files\Network Registrar\Local\bin\cnrdb_recover" -c -v
db_recover:Finding last valid log LSN:file:1 offset 83482
db_recover:Recovery starting from [0][0]
db_recover:Recovery complete at Thu Jul 25 21:18:58 2002
db_recover:Maximum transaction ID 80000013 Recovery checkpoint [1][83770]
db_recover:Recovery complete at Thu Jul 25 21:18:58 2002
db_recover:Maximum transaction id 80000000 Recovery checkpoint [1][83770]
 

ログ ファイルをディレクトリにコピーしなかった場合、出力は次のようになります(最大トランザクション ID がインクリメントされないことに注意してください)。

C:\temp\recover\dns> "C:\Program Files\Network Registrar\Local\bin\cnrdb_recover" -c -v
db_recover:Recovery complete at Thu Jul 25 21:19:20 2002
db_recover:Maximum transaction id 80000000 Recovery checkpoint [0][0]
 

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

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

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

 

表7-5 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 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 -a 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 ユーティリティを実行しないでください。