| Oracle® Fusion Middleware Oracle Directory Server Enterprise Editionアップグレードおよび移行ガイド 11gリリース1 (11.1.1.7.0) B72438-01 |
|
![]() 前 |
![]() 次 |
「自動または手動移行の判断」に記載している自動での移行の要件をデプロイメントで満たしていない場合は、サーバーは手動で移行する必要があります。この章では、サーバーの各部分を手動で移行する手順について説明します。
この章の内容は次のとおりです。
インスタンスを手動で移行する場合、自動移行ツール(dsmig)で実行されるのと同じ順でサーバーの各部分を移行します。この項では、古いインスタンスは5.2インスタンスのことを指し、新しいインスタンスは11gリリース1 (11.1.1.7.0)のインスタンスを指します。
手動で移行を開始する前に、次のタスクが完了していることを確認します。
Directory Server 11gリリース1 (11.1.1.7.0)ソフトウェアがインストールされています。
Directory Server 11gリリース1 (11.1.1.7.0)ソフトウェアは、Directory Server 5.2インスタンスがある同じマシンにインストールすることも、別のマシンにインストールすることも可能です。
新しいインスタンスが作成済です。
新しいインスタンスは、古いインスタンスがあった場所を除く任意の場所に作成できます。新しいインスタンスは同じLDAP/LDAPSポートにも別のポートにもインストールすることが可能です。別のポートを使用した場合、新しいインスタンスに対するすべてのレプリケーション承諾は、それに従って変更する必要があります。
新しいインスタンスを作成する際、ディレクトリ・マネージャのDNとパスワードは、cn=config下のnsslapd-rootdnおよびnssalpd-rootpw属性に保存されます。これらの属性には新しいインスタンスの値がすでにあるので、移行時には古いインスタンスの値は伝播されません。nsslapd-secureportおよびnsslapd-port属性に対しても同じ動作が取られます。
古いインスタンスが正しく停止されています。
古いインスタンスが正しい順番でシャットダウンされていない場合、移行で問題が発生する場合があります。古いインスタンスと新しいインスタンスが別のマシンにある場合でも、移行の開始前に古いインスタンスを停止している必要があります。
Directory Server 5.2のスキーマ・ファイルは、serverRoot/slapd-serverID/config/schemaにあります。Directory Server 11gリリース1 (11.1.1.7.0)のスキーマ・ファイルは、instance-path/config/schemaにあります。
Directory Server 11gリリース1 (11.1.1.7.0)には、新しいパスワード・ポリシー属性を含む00ds6pwp.ldifという新しいスキーマ・ファイルがあります。これに加え、特定の構成属性が追加された00core.ldifがあります。これらのファイルとは別に、Directory Server 11gリリース1 (11.1.1.7.0)とともに提供される標準のスキーマ・ファイルは、バージョン5で用意されているものと同一です。
スキーマを移行するには、次の手順を実行します。
99user.ldifファイルを既存のインスタンスから新しいインスタンスにコピーします。新しいインスタンスにカスタム・スキーマをすでに追加している場合、どのバージョンのカスタム・スキーマを保持するか選択する必要があります。
他の任意のファイルにカスタム・スキーマを定義している場合は、新しいインスタンスにそれらのファイルをコピーします。
新しいインスタンスにすべての部分レプリケーションの情報を再定義します。
Directory Server 5.2の構成は、ファイルserverRoot/slapd-serverID/config/dsee.ldifに指定されています。Directory Server 11gリリース1 (11.1.1.7.0)の構成は、instance-path/config/dsee.ldifファイルに指定されています。
次の項では、具体的に、古いインスタンスから新しいインスタンスに移行する必要のある構成属性を示します。
次の属性タイプの値を移行する必要があります。
グローバル・スコープACIの実装では、rootDSEに固有のすべてのACIでbase (targetscope="base")の値を持つtargetscopeフィールドが必要です。rootDSEで保持されているACIは、各Directory Serverインスタンスに固有で、レプリケートされません。したがって、以前のバージョンを含むトポロジでDirectory Server 11gリリース1 (11.1.1.7.0)サーバーを実行する際には、互換性の問題は発生しないはずです。ACIのスコープに対する変更の詳細は、「ACIに対する変更」を参照してください。
ACIを変更するのみではなく、cn=configの下の次の属性も移行する必要があります。
nsslapd-accesscontrol nsslapd-accesslog-level nsslapd-accesslog-logbuffering nsslapd-accesslog-logexpirationtime nsslapd-accesslog-logexpirationtimeunit nsslapd-accesslog-logging-enabled nsslapd-accesslog-logmaxdiskspace nsslapd-accesslog-logminfreediskspace nsslapd-accesslog-logrotationtime nsslapd-accesslog-logrotattiontimeunit nsslapd-accesslog-maxlogsize nsslapd-accesslog-maxlogsperdir nsslapd-attribute-name-exceptions nsslapd-auditlog-logexpirationtime nsslapd-auditlog-logexpirationtimeunit nsslapd-auditlog-logging-enabled nsslapd-auditlog-logmaxdiskspace nsslapd-auditlog-logminfreediskspace nsslapd-auditlog-logrotationtime nsslapd-auditlog-logrotattiontimeunit nsslapd-auditlog-maxlogsize nsslapd-auditlog-maxlogsperdir nsslapd-certmap-basedn nsslapd-ds4-compatible-schema nsslapd-enquote-sup-oc nsslapd-errorlog-level nsslapd-errorlog-logexpirationtime nsslapd-errorlog-logexpirationtimeunit nsslapd-errorlog-logging-enabled nsslapd-errorlog-logmaxdiskspace nsslapd-errorlog-logminfreediskspace nsslapd-errorlog-logrotationtime nsslapd-errorlog-logrotattiontimeunit nsslapd-errorlog-maxlogsize nsslapd-errorlog-maxlogsperdir nsslapd-groupevalnestlevel nsslapd-idletimeout nsslapd-infolog-area nsslapd-infolog-level nsslapd-ioblocktimeout nsslapd-lastmod nsslapd-listenhost nsslapd-maxbersize nsslapd-maxconnections nsslapd-maxdescriptors nsslapd-maxpsearch nsslapd-maxthreadsperconn nsslapd-nagle nsslapd-readonly nsslapd-referral nsslapd-referralmode nsslapd-reservedescriptors nsslapd-return-exact-case nsslapd-rootpwstoragescheme nsslapd-schema-repl-useronly nsslapd-schemacheck nsslapd-search-tune nsslapd-securelistenhost nsslapd-security nsslapd-sizelimit nsslapd-threadnumber nsslapd-timelimit ds-start-tls-enabled
"cn=encryption,cn=config"の下のすべての属性を移行する必要があります。
証明書認証またはセキュア・ポートを使用している場合、"cn=encryption,cn=config"の下のキー・ファイルのパスおよび証明書データベース・ファイルのパスを更新する必要があります。次の属性の値を移行する必要があります。
nsKeyfile nsCertfile
"cn=features,cn=config"の下のaci属性の値を移行する必要があります。
また、アイデンティティ・マッピング属性のすべての値も移行する必要があります。
"cn=mapping tree,cn=config"の下のすべてのエントリを移行する必要があります。
Netscape Rootデータベースは以前から非推奨になっており、Directory Server 11gリリース1 (11.1.1.7.0)にはありません。古いインスタンスで特定の用途のためにNetscape Rootデータベースが使用されていた場合、o=netscaperootの下の属性を移行する必要があります。これ以外の場合は無視してかまいません。
レプリケーション構成属性を移行する前に、レプリケート対象の保留中の変更がないことを確認します。これを行うには、insyncコマンドを使用します。
構成属性に加え、cn=replication,cn=configの下のすべての属性を移行する必要があります。すべてのレプリケーション承諾のホストおよびポート、および変更ログ・データベース(nsslapd-changelogdir)に対する変更を手動で新しいインスタンスで更新する必要があります。
次の項では、移行する必要のあるレプリケーション構成属性を示します。
表7-1 変更ログ属性名の変更
| 古い属性名 | Directory Serverの属性名 |
|---|---|
|
|
|
|
|
|
また、これらの属性は、(サフィックス名ごとに)cn=changelog5,cn=configからcn=replica,cn=suffixname,cn=mapping tree,cn=configのエントリに移動する必要があります。
トポロジで部分レプリケーションを使用している場合、次の属性名を変更する必要があります。
次のレプリカ構成属性の値を移行する必要があります。
ds5ReferralDelayAfterInit nsDS5Flags nsDS5ReplicaBindDN nsDS5ReplicaId nsDS5ReplicaLegacyConsumer nsDS5ReplicaName nsDS5ReplicaPurgeDelay nsDS5ReplicaReferral nsDS5ReplicaRoot nsDS5ReplicaTombstonePurgeInterval aci
dschangelogmaxageおよびdschangelogmaaxentriesの属性は、レプリカのエントリに追加されました。
次の属性値は、レプリケーション承諾ごとに移行する必要があります。
description ds5agreementEnable ds5ReplicaTransportCompressionLevel ds5ReplicaTransportGroupSize ds5ReplicaTransportWindowSize nsDS5ReplicaBindDN nsDS5ReplicaBindMethod nsDS5ReplicaCredentials nsDS5ReplicaHost nsDS5ReplicaPort nsDS5ReplicaRoot nsDS5ReplicaTimeout nsDS5ReplicaTransportInfo nsDS5ReplicaUpdateSchedule aci
nsDS5ReplicaCredentials属性の移行時には問題が発生する場合があります。詳細は、「レプリケーション証明の手動でのリセット」を参照してください。
Directory Server 11gリリース1 (11.1.1.7.0)にはds5PartialReplConfiguration属性はありません。この属性は削除する必要があります。
部分レプリケーションを使用している場合、レプリケーション承諾ごとにdsReplFractionalIncludeおよびdsReplFractionalExclude属性が追加されます。
"cn=replication,cn=config"の下のすべての属性が移行されます。
Directory Server 11gリリース1 (11.1.1.7.0)のパスワード・ポリシーの詳細な構成は、『Oracle Directory Server Enterprise Edition管理者ガイド』の第7章のDirectory Serverのパスワード・ポリシーに関する説明を参照してください。パスワード・ポリシーを定義する属性は、エントリcn=Password Policy,cn=configに保存されています。Directory Server 5.2では、パスワード・ポリシー属性は、cn=configの下にあります。
pwdPolicyオブジェクト・クラスの属性は、古いパスワード・ポリシー属性の代替です。これらの属性の説明は、pwdPolicy(5dsoc)のマニュアル・ページを参照してください。
デフォルトでこれらのパスワード・ポリシーは、古いパスワード・ポリシーと下位互換性があります。だだし、下位互換性は無期限には保証されていないので、デプロイメントで都合がよくなったらただちに新しいパスワード・ポリシーに移行する必要があります。パスワード・ポリシーの互換性およびサフィックスの再記述の詳細は、『Oracle Directory Server Enterprise Edition管理者ガイド』を参照してください。
Directory Server 11gリリース1 (11.1.1.7.0)では、新しいパスワード・ポリシー、古いパスワード・ポリシーおよびエントリ操作属性が共存している場合、移行中およびその後の処理後にそれを自動で管理しますが、古いパスワード・ポリシー属性を参照するすべてのアプリケーションは移行する必要があります。次に、古いパスワード・ポリシー構成属性と新しいパスワード・ポリシー構成属性のマッピングを示します。
表7-3 5.2と11gリリース1 (11.1.1.7.0)のパスワード・ポリシー属性間のマッピング
| 古いDirectory Server属性 | Directory Server 11gリリース1 (11.1.1.7.0)の属性 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Directory Server 11gリリース1 (11.1.1.7.0)にはcn=SNMP,cn=configのエントリは存在しません。したがって、このエントリ下にあるすべての属性は非推奨になっています。Directory Server 11gリリース1 (11.1.1.7.0)でSNMPを設定する方法の詳細は、『Oracle Directory Server Enterprise Edition管理者ガイド』のDirectory ServerでのSNMPの設定に関する説明を参照してください。
cn=uniqueid generator,cn=configの下のnsState属性を移行する必要があります。
データベースの一般的な構成属性は、cn=config,cn=ldbm database,cn=plugins,cn=configの下に保存されています。次の属性を移行する必要があります。
nsslapd-lookthroughlimit nsslapd-allidsthreshold nsslapd-cache-autosize nsslapd-cache-autosize-split nsslapd-cachesize nsslapd-db-checkpoint-interval nsslapd-db-circular-logging nsslapd-db-durable-transactions nsslapd-db-idl-divisor nsslapd-db-locks nsslapd-db-logbuf-size nsslapd-db-logfile-size nsslapd-db-page-size nsslapd-db-transaction-batch-val nsslapd-db-tx-max nsslapd-dbncache nsslapd-import-cachesize nsslapd-exclude-from-export nsslapd-disk-low-threshold nsslapd-disk-full-threshold
データベースに固有の属性は、cn=database instance name,cn=ldbm database,cn=plugins,cn=configの形式でエントリに保存されています。次の属性を移行する必要があります。
nsslapd-suffix nsslapd-cachesize nsslapd-cachememsize nsslapd-readonly nsslapd-require-index
デプロイメントでNetscapeRootのサフィックスを使用する場合、cn=netscapeRoot,cn=ldbm database,cn=plugins,cn=configの下に属性を移行する必要があります。データベースの場所(nsslapd-directory)も新しいDirectory Serverインスタンスの場所に置き換える必要があります。
システム・インデックスを除く、デフォルトのすべてのインデックス構成属性を移行する必要があります。デフォルトのインデックス構成属性は、エントリcn=default indexes,cn=ldbm database,cn=plugins,cn=configに保存されています。NetscapeRootデータベースのインデックスは移行する必要がありません。
システム・インデックスを除く、すべてのインデックス構成属性を移行する必要があります。インデックス構成属性は、ソートcn=index name, cn=index, cn=database instance name, cn=ldbm database, cn=plugins, cn=configのエントリに保存されています。
すべての属性暗号化構成を移行する必要があります。
任意の標準のプラグインの構成を変更している場合、構成を更新する必要があります。また、すべてのカスタム・プラグインの構成を更新する必要があります。最低でも、カスタム・プラグインをすべて再コンパイルして、構成をディレクトリに追加する必要があります。プラグインAPIに対する変更の詳細は、『Oracle Directory Server Enterprise Edition開発者ガイド』の第2章のDirectory Server 5.2以降のプラグインAPIに対する変更に関する説明を参照してください。
次の項では、標準のプラグインを変更している場合、構成を移行する必要があるものについて説明します。
このプラグインの構成は、cn=7-bit check,cn=plugins,cn=configの下に保存されています。次の属性を移行する必要があります。
nsslapd-pluginarg* nsslapd-pluginenabled
この構成のプラグインは、cn=Class of Service,cn=plugins,cn=configの下に保存されています。次の属性を移行する必要があります。
nsslapd-pluginarg0 nsslapd-pluginenabled
このプラグインの構成は、cn=DSMLv2-SOAP-HTTP,cn=frontends,cn=plugins,cn=configの下に保存されています。次の属性を移行する必要があります。
ds-hdsml-port ds-hdsml-iobuffersize ds-hdsml-requestmaxsize ds-hdsml-responsemsgsize ds-hdsml-poolsize ds-hdsml-poolmaxsize ds-hdsml-clientauthmethod ds-hdsml-rooturl ds-hdsml-soapschemalocation ds-hdsml-dsmlschemalocation nsslapd-pluginenabled
このプラグインの構成は、cn=Pass Through Authentication,cn=plugins,cn=configの下に保存されています。次の属性を移行する必要があります。
nsslapd-pluginenabled
nsslapd-pluginarg*属性は、o=netscapeRootの構成を移行する必要のある場合のみ移行する必要があります。
このプラグインの構成は、cn=pswsync,cn=plugins,cn=configの下に保存されています。次の属性を移行する必要があります。
nsslapd-pluginenabled
このプラグインの構成は、cn=Referential Integrity Postoperation,cn=plugins,cn=configの下に保存されています。次の属性を移行する必要があります。
nsslapd-pluginarg* nsslapd-pluginenabled
このプラグインの構成は、cn=Retro Changelog PlugIn,cn=plugins,cn=configの下に保存されています。次の属性を移行する必要があります。
nsslapd-changelogmaxage nsslapd-changelogmaxentries nsslapd-pluginarg* nsslapd-pluginenabled
このプラグインの構成は、cn=UID Uniqueness,cn=plugins,cn=configの下に保存されています。次の属性を移行する必要があります。
nsslapd-pluginarg* nsslapd-pluginenabled
インスタンスを手動で移行する場合、セキュリティおよび構成は、dsmigを使用した場合の順序とは別の順序で移行します。この項の説明に従って、Directory Server 11gリリース1 (11.1.1.7.0)のデフォルトの証明書とキー・データベースを古いデータベースのものに置き換えてセキュリティ設定を移行する場合、まず構成を移行する必要があります。
セキュリティ設定を手動で移行するには、次の手順を実行します。
新しいインスタンスをすでに開始している場合は、そのインスタンスを停止します。
新しいインスタンスの証明書データベースおよびキー・データベース・ファイルをバックアップします。
証明書データベースおよびキー・データベース・ファイルを既存のインスタンスから新しいインスタンスにコピーします。
$ cp serverRoot/alias/slapd-serverID-cert8.db instance-path/alias/slapd-cert8db $ cp serverRoot/alias/slapd-serverID-key3.db instance-path/alias/slapd-key3.db
パスワード・ファイルを既存のインスタンスから新しいインスタンスにコピーします。
$ cp serverRoot/alias/slapd-serverID-pin.txt instance-path/alias/slapd-pin.txt
証明書データベースのパスワードを更新します。
$ dsadm set-flags instance-path cert-pwd-prompt=on
証明書マッピング・ファイルを既存のインスタンスから新しいインスタンスにコピーします。
$ cp serverRoot/shared/config/certmap.conf instance-path/alias/certmap.conf
既存のインスタンスが外部のセキュリティ・トークンを使用する場合、セキュリティ・モジュール・データベースおよび外部トークン・ライブラリを新しいインスタンスにコピーします。
$ cp serverRoot/alias/secmod.db instance-path/alias/secmod.db
新しいインスタンスを起動します。
セキュリティ構成属性は、残りの構成属性を移行するときに移行されます。この意味で、セキュリティ設定の移行は、構成を移行するまで完了しません。構成の移行の詳細は、次の項で説明します。
トポロジでデータの自動移行がサポートされていない場合、データは手動で移行する必要があります。これを行うには、データを既存のインスタンスからエクスポートし、新しいインスタンスに再インポートします。
データを手動で移行するには、次の手順を実行します。
新しいインスタンスにすでにデータがある場合、新しいインスタンス内の競合するすべてのサフィックスをバックアップします。
レプリケーション・トポロジのマスター・サーバー・インスタンスを移行する場合、マスターの直接のコンシューマであるすべてのサーバーとマスターが同期されていることを確認します。
変更ログは手動では移行できません。11gリリース1 (11.1.1.7.0)インスタンスには新しい変更ログが作成されます。
db2ldifコマンドを使用し、必要なサフィックスをLDIFにエクスポートします。このコマンドを使用すると、サーバーが実行されているか停止されているかにかかわらず、LDIFファイルにサフィックス・コンテンツがすべてエクスポートされます。
次に、単一のLDIFファイルの2つのサフィックスをエクスポートする例を示します。
$ serverRoot/slapd-serverID/db2ldif -a example.ldif \ -r -s "ou=people,dc=example,dc=com" -s "ou=departments,dc=example,dc=com"
この例では、-aは結果のLDIFファイルを指定し、-rはレプリケーション情報がエクスポートされる必要があることを示し、-sは、エクスポートに含めるサフィックスを指定します。
新しいインスタンスに対してdsadm importコマンドを使用し、LDIFファイルをインポートします。たとえば、次のコマンドでは、エクスポートした2つのサフィックスに以前作成したLDIFファイルがインポートされます。
$ dsadm import instance-path example.ldif ou=people,dc=example,dc=com $ dsadm import instance-path example.ldif ou=departments,dc=example,dc=com
レトロ変更ログが古いインスタンスに構成されている場合、db2ldifコマンドを使用し、レトロ変更ログにエクスポートします。
$ serverRoot/slapd-serverID/db2ldif -a changelog.ldif \ -s "cn=changelog"
この例で、-aは結果のLDIFファイルを指定し、-sはchangelogのサフィックスを指定します。
新しいインスタンスで、dsadm importコマンドを使用し、レトロ変更ログをインポートします。たとえば、次のコマンドでは、以前作成した変更ログLDIFファイルがインポートされます。
$ dsadm import instance-path changelog.ldif cn=changelog
新しいインスタンスを起動します。
|
注意: Directory Serverでは、データの移行時に、ネストされたグループの定義が30レベルを超えるか確認します。深いネストは、ネストされたグループに親でもあるグループが含まれる、循環グループ定義を意味する場合があります。ネスト・レベルが30を超えるグループがある場合、Directory Serverではそれ以降のレベルの Directory Serverではこれが発生するたびにエラーをログに記述します。これらのエラーは無視しても問題がありませんが、循環定義の可能性があるために、エラーに記載されているグループの定義は検証する必要があります。 |
ユーザー・プラグインは移行できません。カスタム・ユーザー・プラグインがある場合、再コンパイルし、手動でDirectory Server 11gリリース1 (11.1.1.7.0)インスタンスに追加します。プラグインAPIに対する変更の詳細は、『Oracle Directory Server Enterprise Edition開発者ガイド』の第2章のDirectory Server 5.2以降のプラグインAPIに対する変更に関する説明を参照してください。
サーバーの手動での移行後、新しいサーバーを実行する前に、次の移行後タスクを実行する必要があります。
ユーザー・プラグインをカスタマイズした場合、これらを再コンパイルし、新しいサーバーに追加する必要があります。
移行したサーバーがレプリケーション・トポロジの一部であった場合は、第8章「レプリケーション・トポロジの移行」を参照してください。
バックアップ、リカバリおよびインストール・スクリプトをカスタマイズしている場合、新しいバージョンに準拠するようこれらのスクリプトを再記述する必要があります。