4.4. 移行における考慮事項と要件
LDAP サーバーから Identity Management (IdM) への移行を計画している場合は、LDAP 環境が IdM の移行スクリプトで機能できることを確認してください。
4.4.1. 移行に対応している LDAP サーバー
LDAP サーバーから IdM への移行プロセスは、特別なスクリプト ipa migrate-ds
を使用して移行を実行します。このスクリプトには、LDAP ディレクトリーと LDAP エントリーの構造に関する特定の要件があります。移行に対応しているのは複数の共通ディレクトリーを含む LDAPv3 準拠のディレクトリーサービスのみになります。
- Sun ONE Directory Server
- Apache Directory Server
- OpenLDAP
LDAP サーバーから IdM への移行は、Red Hat Directory Server および OpenLDAP でテストされています。
Microsoft Active Directory の場合、移行用スクリプトを使用した移行には 対応していません。これは、LDAPv3 準拠のディレクトリーではないためです。Active Directory からの移行については、Red Hat Professional Services にお問い合わせください。
4.4.2. 移行のための LDAP 環境要件
LDAP サーバーと Identity Management (IdM) にはさまざまな設定シナリオが存在し、これが移行プロセスの円滑さに影響します。移行手順の例では、環境に関する前提条件を以下に示します。
- 1 つの LDAP ディレクトリードメインが、1 つの IdM レルムに移行中です。統合はありません。
- ユーザーパスワードは、LDAP ディレクトリーにハッシュ形式で保存されます。対応しているハッシュのリストは、Red Hat Directory Server Documentation の Red Hat Directory Server 10 で利用可能な Configuration, Command, and File Reference タイトルの Password Storage Schemes セクションを参照してください。
-
LDAP ディレクトリーインスタンスは ID 格納および認証方法の両方になります。クライアントマシンは、
pam_ldap
またはnss_ldap
を使用して LDAP サーバーに接続するように設定されます。 - エントリーは標準の LDAP スキーマのみを使用します。カスタムオブジェクトクラスまたはカスタム属性を含むエントリーは、IdM に移行されません。
ipa migrate-ds
は、以下のアカウントのみを移行します。-
gidNumber
属性を含むもの。この属性は、posixAccount
オブジェクトクラスに必要です。 -
sn
属性を含むもの。この属性は、person
オブジェクトクラスに必要です。
-
汎用 LDAP は、組織単位(OU)を使用した、深くネストされた構造をサポートします。これにより、LDAP ディレクトリーは、複数のレベルの OU、グループ、およびユーザー を使用して階層的に構築できます。このレベルの階層は、すべてのユーザーが cn=users,cn=accounts,$SUFFIX
フラットユーザーコンテナーに保存されている RHEL IdM では不可能です。したがって、構造が深くネスト化された LDAP データベースを RHEL IdM に移行する場合は、以下の選択肢があります。
- 異なる OU からのユーザーに対して複数の移行を実行します。
- 複数の OU をカバーするためにサブツリー検索を実行します。
これらのオプションの詳細は、ipa migrate-ds -help
を参照してください。
4.4.3. 移行のための IdM システム要件
中程度のサイズのディレクトリー (約 10,000 ユーザー、および 10 グループ) では、移行を続行するのに十分な強力なターゲット IdM システムが必要です。移行の最小要件は以下のとおりです。
- 4 コア
- 4 GB のメモリー
- 30GB のディスク領域
2MB の SASL バッファーサイズ。これは IdM サーバーのデフォルトです。
移行エラーが発生した場合は、バッファーサイズを大きくします。
ldapmodify -x -D 'cn=directory manager' -w password -h ipaserver.example.com -p 389
[root@ipaserver ~]# ldapmodify -x -D 'cn=directory manager' -w password -h ipaserver.example.com -p 389 dn: cn=config changetype: modify replace: nsslapd-sasl-max-buffer-size nsslapd-sasl-max-buffer-size: 4194304 modifying entry "cn=config"
Copy to Clipboard Copied! nsslapd-sasl-max-buffer-size
をバイト単位で設定します。
4.4.4. ユーザーおよびグループ ID 番号
LDAP から IdM デプロイメントに移行する場合は、デプロイメント間でユーザー ID (UID) とグループ ID (GID) の競合が存在しないことを確認してください。移行前に、以下を確認します。
- LDAP ID 範囲を把握している。
- IdM ID 範囲を把握している。
- LDAP サーバーの UID と GID と、RHEL システムまたは IdM デプロイメント上の既存の UID または GID の間で重複は存在しません。
移行された LDAP UID および GID は、IdM ID 範囲に適合します。
- 必要に応じて、移行前に新しい IdM ID 範囲を作成します。
4.4.5. sudo ルールに関する考慮事項
LDAP で sudo
を使用している場合は、LDAP に保存されている sudo
ルールを Identity Management (IdM) に手動で移行する必要があります。Red Hat では、IdM のネットグループをホストグループとして再作成することを推奨しています。IdM は、SSSD sudo
プロバイダーを使用しない sudo
設定で、従来のネットグループとしてホストグループを自動的に表示します。
4.4.6. LDAP から IdM への移行ツール
LDAP ディレクトリーのデータが正しくフォーマット化され、Identity Management (IdM) サーバーに適切にインポートされるように、IdM は特定の ipa migrate-ds
コマンドを使用して移行プロセスを進めます。ipa migrate-ds
を使用する場合は、--bind-dn
オプションで指定するリモートシステムユーザーに、userPassword
属性への読み取りアクセスが必要です。読み取りアクセスがないと、パスワードが移行されません。
IdM サーバーは移行モードで実行するように設定してから、移行スクリプトを使用することができます。詳細は、Migrating an LDAP server to IdM を参照してください。
4.4.7. LDAP から IdM への移行パフォーマンスの改善
LDAP の移行は、基本的には、IdM サーバー内の 389 Directory Server (DS) インスタンスに対する特殊なインポート操作です。インポート操作のパフォーマンスを向上させるために、389 DS インスタンスをチューニングすると、移行パフォーマンス全体を改善できます。
インポートのパフォーマンスに直接影響を与えるパラメーターは、以下の 2 つです。
nsslapd-cachememsize
属性。エントリーキャッシュに使用できるサイズを定義します。これは、キャッシュメモリーの合計サイズの 80% に自動的に設定されるバッファーです。大規模なインポート操作の場合は、このパラメーターを増やし、メモリーキャッシュ自体も増やすことができます。これにより、多数のエントリーや、大きな属性を持つエントリーを処理する際に、ディレクトリーサービスの効率が向上します。dsconf
コマンドを使用して属性を変更する方法は、IdM Directory Server のエントリーキャッシュサイズの調整 を 参照してください。システム
ulimit
設定オプションは、システムユーザーに許可されるプロセスの最大数を設定します。大規模なデータベースの処理が制限を超える可能性があります。これが発生した場合は、値を上げます。ulimit -u 4096
[root@server ~]# ulimit -u 4096
Copy to Clipboard Copied!
4.4.8. LDAP から IdM への移行シーケンス
IdM に移行する場合は、主に 4 つの手順がありますが、順序は、サーバー とクライアント のどちらを最初に移行するかによって異なります。
クライアントファーストおよびサーバーファーストの両方の移行では、一般的な移行手順が提供されますが、すべての環境で機能するとは限りません。実際の LDAP 環境を移行する前に、テスト用の LDAP 環境を設定して移行プロセスの検証を行ってください。
- クライアントファースト移行
SSSD は、Identity Management (IdM) サーバーが設定される際に、クライアント設定を変更するために使用されます。
- SSSD をディプロイします。
- クライアントが現在の LDAP サーバーに接続し IdM にフェイルオーバーするよう再設定を行います。
- IdM サーバーをインストールします。
-
IdM
ipa migrate-ds
スクリプトを使用してユーザーデータを移行します。これによりデータが LDAP ディレクトリーからエクスポートされ、IdM スキーマ用にフォーマット化されて IdM にインポートされます。 - LDAP サーバーをオフラインにし、クライアントが IdM に透過的にフェイルオーバーできるようにします。
- サーバーファースト移行
LDAP から IdM への移行が最初に行われます。
- IdM サーバーをインストールします。
-
IdM
ipa migrate-ds
スクリプトを使用してユーザーデータを移行します。これによりデータが LDAP ディレクトリーからエクスポートされ、IdM スキーマ用にフォーマット化されて IdM にインポートされます。 - オプション: SSSD をデプロイします。
クライアントが IdM に接続するよう再設定を行います。LDAP サーバーと単純に差し替えることはできません。IdM ディレクトリーツリー(およびユーザーエントリーの DN)は以前のディレクトリーツリーとは異なります。
クライアントの再設定は必要ですが、直ちに再設定を行う必要はありません。更新したクライアントは IdM サーバーをポイントし、他のクライアントは旧 LDAP ディレクトリーをポイントするためデータ移植後に適度なテストと移行段階を持たせることができます。
注記LDAP ディレクトリーと IdM サーバーを長期に渡っては並行稼動させないでください。2 つのサービス間でユーザーデータの整合性が失われる危険を招くことになります。