第4章 Directory Server でのディレクトリーデータベースの設定


データベース、接尾辞、チェーンポリシー、データベースリンク、および参照を設定できます。仮想ディレクトリーツリーを使用して、エントリーをカスタムグループまたは階層に整理します。

4.1. 接尾辞を別のデータベースに格納する

Directory Server では、インスタンス内のデータを複数のデータベースに分割して、データの分散保存ロジックを設計することができます。データ分割の方法として、ディレクトリーツリーの接尾辞を利用することができます。

複数のディレクトリーツリーを作成し、ルートの接尾辞で別々のデータベースに格納することができます。また、1 つのディレクトリーツリーをブランチに分割し、サブ接尾辞によってブランチを別々のデータベースに格納することもできます。

4.1.1. データ構造における接尾語のロール

Directory Server は、データをディレクトリーツリー (DIT) と呼ばれる階層構造で表示します。以下は、簡単なディレクトリーツリーです。

図4.1 単一のルート接尾辞を持つシンプルなディレクトリーツリー

管理者ディレクトリーツリーの簡易化

各ディレクトリーツリーには、dc=example,dc=com などのディレクトリーツリーの命名コンテキストを定義する単一の root エントリーがあります。

さまざまなディレクトリーツリーを異なるデータベースに保存し、これらのデータベースを複数のサーバーに分散できます。

接尾辞を使用して、データストレージの分散ロジックを定義できます。接尾辞は、ディレクトリーツリーのブランチ (サブツリー) と特定のデータベースを関連付けます。

これにより、サーバーの 1 つのインスタンス内に複数のデータベースを指定できます。一つのデータベースに縛られることはありません。

4.1.2. ルート接尾辞とサブ接尾辞の比較

ルート接尾辞は、ディレクトリーツリー (DIT) 全体とデータベースを関連付けます。ルート接尾辞には、親の接尾辞がありません。

ディレクトリーツリーのブランチを別のデータベースに保存する場合、サブ接尾辞を作成します。これは、ツリーのブランチをブランチの祖先とは別のデータベースに関連付けるものです。サブ接尾辞は、親接尾辞に付けなければなりません。親接尾辞はルート接尾辞でもサブ接尾辞でも構いません。つまり、任意のサブツリーのブランチを別のデータベースに保存することができます。

図4.2 別のデータベースにサブ接尾辞を持つディレクトリーツリー

異なるデータベースを持つディレクトリーツリー

この例では、ou=people,dc=example,dc=com のサブ接尾辞が 1 つのデータベースに格納され、ルート接尾辞の下にある残りのディレクトリーツリーが別のデータベースに格納されています。

サブ接尾辞を使用する利点:

  • データベースのメンテナンス (インポート/エクスポート/インデックス作成) を細かいレベルで実行できます。
  • サブ接尾辞を別のディスクに保存できるため、ディスク領域の問題を解決できます。

サブ接尾辞を使うことのデメリット

  • セットアップ中にさらに多くの管理アクションが必要になります。
  • レプリケーションには、サブ接尾辞ごとに個別の設定とレプリカ合意が必要です。

4.1.3. いくつかのルート接尾辞

また、1 つのインスタンスに異なるルート接尾辞を持つ複数のディレクトリーツリー (DIT) を持つことができます。例えば、ある部分のデータをユーザールートから分離したい場合などです。

図4.3 ルート接尾辞で定義された複数のディレクトリーツリー

管理者ディレクトリーツリーのマルチルート

クライアントが dc=example,dc=com のツリーを検索すると、他のツリーからのエントリーは検索アルゴリズムでは制限されているため、検索では返されません。

次に、インスタンスのデフォルトとなるディレクトリーツリーとネーミングコンテキストを選択できます。

4.1.4. コマンドラインを使用したルート接尾辞の作成

この手順では、コマンドラインでディレクトリーツリーのルート接尾辞を作成する方法を説明します。

手順

  1. オプションとして、すでに使用されている接尾辞とバックエンドデータベースをリストアップします。

    # dsconf <instance_name> backend suffix list
    dc=example,dc=com (userroot)

    括弧内の名前は、対応する接尾辞のデータを保存するバックエンドデータベースです。次のステップでルート接尾辞を作成する際に、既存のデータベース名を使用することはできません。

  2. ルート接尾辞の DN を --suffix 引数で指定し、--be-name 引数を使用して新しいデータベースと関連付けます。

    # dsconf <instance_name> backend create --suffix="dc=example,dc=net" --be-name="example"

検証

  • この手順の最初のステップにあるコマンドを使用して、接尾辞とデータベースをリスト表示します。

4.1.5. Web コンソールによるルート接尾辞の作成

この手順では、ブラウザー上でディレクトリーツリーのルート接尾辞を作成する方法を説明します。

前提条件

  • Web コンソールでインスタンスにログインしている。

手順

  1. Database で、設定ツリーの下にある Create Suffix ボタンをクリックします。
  2. Suffix DNDatabase Name を記入します。
  3. Create The Top Suffix Entry を選択し、Create Suffix をクリックします。

検証

  • 新しい接尾辞は、接尾辞のツリーに表示されるはずです。

4.1.6. デフォルトのネーミングコンテキストの変更

ネーミングコンテキストは、その DIT のエントリーに対するルート名前空間を定義するディレクトリーツリー (DIT) の属性です。複数のルート接尾辞を持つインスタンスにデータを生成する場合、インスタンスには複数の DIT があり、それぞれ命名コンテキストは異なります。

この手順では、インスタンスで複数のルート接尾辞を使用する際に、コマンドラインでデフォルトのネーミングコンテキストを変更する方法を説明します。

インスタンスにアクセスするクライアントでは、使用する必要のあるネーミングコンテキストがわからない可能性があります。Directory Server は、デフォルトのネーミングコンテキストが既知の他の設定がない場合に、クライアントに対して通知します。

cn=confignsslapd-defaultnamingcontext 属性でデフォルトのネーミングコンテキストを設定します。Directory Server はこの値を Directory Server Agent Service Entry(root DSE) に伝播し、クライアントは匿名にクエリーできます。

前提条件

  • インスタンスのデフォルトのネーミングコンテキストを定義するルート接尾辞を作成している。

手順

  1. オプション: 現在のデフォルトネーミングコンテキストを表示します。

    # dsconf <instance_name> config get nsslapd-defaultnamingcontext
    nsslapd-defaultnamingcontext: dc=example,dc=com
  2. nsslapd-defaultnamingcontext パラメーターの値を、必要なネーミングコンテキストに置き換えます。

    # dsconf <instance_name> config replace nsslapd-defaultnamingcontext=dc=example,dc=net

検証

  • 現在のデフォルトネーミングコンテキストを表示します。値を更新する必要があります。

4.1.7. コマンドラインによるサブ接尾辞の作成

コマンドラインを使用して、ディレクトリーツリーのサブ接尾辞を作成できます。

前提条件

  • サブ接尾辞の親接尾辞が作成されている。

手順

  1. オプションとして、すでに使用されている接尾辞とバックエンドデータベースをリストアップします。

    # dsconf <instance_name> backend suffix list
    dc=example,dc=com (userroot)

    括弧内の名前は、対応する接尾辞のデータを保存するバックエンドデータベースです。次のステップでサブ接尾辞を作成する際に、既存のデータベース名を使用することはできません。

  2. --suffix 引数でサブ接尾辞の完全な DN を指定し、--be-name 引数を使用してその DN を新しいデータベースに関連付け、--parent-suffix 引数で親接尾辞を指定します。

    # dsconf <instance_name> backend create --suffix="ou=People,dc=example,dc=com" --be-name="example" --parent-suffix="dc=example,dc=com" --create-suffix

    --create-suffix 引数を指定すると、コマンドはサブ接尾辞の設定エントリーとサブ接尾辞エントリー ou=People,dc=example,dc=com を作成します。

    --create-suffix 引数は、RDN 属性タイプ ccndco、および ou を使用した接尾辞の作成をサポートします。l などの RDN を使用して接尾辞を作成する場合は、--create-suffix オプションを指定せずに dsconf backend create コマンドを使用し、LDAP 追加操作を使用して接尾辞エントリーを追加するか、LDIF ファイルからエントリーをインポートします。

検証

  • この手順の最初のステップにあるコマンドを使用して、接尾辞とデータベースをリスト表示します。

4.1.8. Web コンソールによるサブ接尾辞の作成

この手順では、ブラウザーでディレクトリーツリーのサブ接尾辞を作成する方法を説明します。

前提条件

  • Web コンソールでインスタンスにログインしている。
  • サブ接尾辞の親接尾辞が作成されている。

手順

  1. Database で、サブ接尾辞の親である設定ツリーから接尾辞を選択します。
  2. Suffix Tasks をクリックし、Create Sub-Suffix を選択します。
  3. ou=People および Database Name などの Sub-Suffix DN を入力します。
  4. Create the Top Suffix Entry を選択し、Create Sub-Suffix をクリックします。

検証

  • 新しいサブ接尾辞は、設定ツリーの接尾辞の間に表示されるはずです。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る