2.2. Directory Server へのデータのインポート


コマンドラインや Web コンソールを使用して、LDIF ファイルから Directory Server のデータベースにデータをインポートすることができます。

重要

データをインポートするには、インポートする LDIF ファイルを /var/lib/dirsrv/slapd-<instance_name>/ldif/ ディレクトリーに保存する必要があります。

2.2.1. サーバーの実行中にコマンドラインを使用したデータのインポート

Directory Server インスタンスの実行中にデータをインポートするには、dsconf backend import コマンドを使用します。

警告

インポート操作を開始すると、Directory Server はまずデータベースから既存のデータをすべて削除し、その後 LDIF ファイルからデータをインポートします。そのため、インポートに失敗した場合、サーバーはエントリーがないか、エントリーの部分的なセットを返します。

前提条件

  • LDIF ファイルのパーミッションでは、dirsrv ユーザーがファイルを読めるようになっている。
  • インポートする LDIF ファイルには、ルート接尾辞のエントリーが含まれている。
  • データのインポート先である接尾辞とそのデータベースがディレクトリー内に存在する。
  • Directory Server インスタンスが実行している。
  • インポートする LDIF ファイルの文字セットのエンコーディングは UTF-8 である。

手順

  1. オプション: デフォルトでは、Directory Server は、インポートされたすべてのエントリーのエントリー更新シーケンス番号 (USN) を 0 に設定します。別の初期 USN 値を設定するには、nsslapd-entryusn-import-initval パラメーターを設定します。たとえば、インポートされたすべての値の USN を 12345 に設定するには、次のように入力します。

    # dsconf <instance_name> config replace nsslapd-entryusn-import-initval=12345
  2. インポートするファイルを /var/lib/dirsrv/slapd-<instance_name>/ldif/ にコピーした場合は、そのファイルの SELinux コンテキストをリセットします。

    # restorecon -Rv /var/lib/dirsrv/slapd-instance_name/ldif/example.ldif
  3. LDIF ファイルからデータをインポートするには、dsconf backend import コマンドを使用します。

    たとえば、/var/lib/dirsrv/slapd-<instance_name>/ldif/example.ldif ファイルを userRoot データベースにインポートするには、以下を実行します。

    # dsconf <instance_name> backend import userRoot /var/lib/dirsrv/slapd-instance_name/ldif/example.ldif
    The import task has finished successfully
  4. インポート中の問題は、/var/log/dirsrv/slapd-<instance_name>/errors ログを検索します。

検証

  • たとえば dc=example,dc=com のように、インポートされた接尾辞の下にあるエントリーを検索します。

    # ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -b "dc=example,dc=com" -s sub -x

2.2.2. サーバーのオフライン時にコマンドラインを使用したデータのインポート

Directory Server インスタンスがオフラインの場合、dsctl ldif2db コマンドを使用してデータをインポートします。

警告

インポート操作を開始すると、Directory Server はまずデータベースから既存のデータをすべて削除し、その後 LDIF ファイルからデータをインポートします。そのため、インポートに失敗した場合、サーバーはエントリーがないか、エントリーの部分的なセットを返します。

前提条件

  • LDIF ファイルのパーミッションでは、dirsrv ユーザーがファイルを読めるようになっている。
  • インポートする LDIF ファイルには、ルート接尾辞のエントリーが含まれている。
  • データのインポート先である接尾辞とそのデータベースがディレクトリー内に存在する。
  • Directory Server インスタンスが実行していない。
  • インポートする LDIF ファイルの文字セットのエンコーディングは UTF-8 である。

手順

  1. オプション: デフォルトでは、Directory Server は、インポートされたすべてのエントリーのエントリー更新シーケンス番号 (USN) を 0 に設定します。別の初期 USN 値を設定するには、nsslapd-entryusn-import-initval パラメーターを設定します。たとえば、インポートされたすべての値の USN を 12345 に設定するには、次のように入力します。

    # dsconf <instance_name> config replace nsslapd-entryusn-import-initval=12345
  2. インポートするファイルを /var/lib/dirsrv/slapd-<instance_name>/ldif/ にコピーした場合は、そのファイルの SELinux コンテキストをリセットします。

    # restorecon -Rv /var/lib/dirsrv/slapd-instance_name/ldif/example.ldif
  3. LDIF ファイルからデータをインポートするには、dsctl ldif2db コマンドを使用します。たとえば、/var/lib/dirsrv/slapd-<instance_name>/ldif/example.ldif ファイルを userRoot データベースにインポートするには、以下を実行します。

    # dsctl <instance_name> ldif2db userRoot /var/lib/dirsrv/slapd-instance_name/ldif/example.ldif
    OK group dirsrv exists
    OK user dirsrv exists
    [17/Jul/2021:13:42:42.015554231 +0200] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000
    ...
    [17/Jul/2021:13:42:44.302630629 +0200] - INFO - import_main_offline - import userRoot: Import complete.  Processed 160 entries in 2 seconds. (80.00 entries/sec)
    ldif2db successful

    データのインポートに使用できるすべての追加設定を表示するには、dsctl ldif2db --help コマンドの出力を参照してください。

  4. インポート中の問題は、/var/log/dirsrv/slapd-<instance_name>/errors ログを検索します。
  5. オプション: インスタンスを起動します。

    # dsctl <instance_name> start

検証

  • たとえば dc=example,dc=com のように、インポートされた接尾辞の下にあるエントリーを検索します。

    # ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -b "dc=example,dc=com" -s sub -x

2.2.3. サーバーの実行中に Web コンソールを使用したデータのインポート

Directory Server は、Web コンソールを使用したデータのインポートに対応しています。

警告

インポート操作を開始すると、Directory Server はまずデータベースから既存のデータをすべて削除し、その後 LDIF ファイルからデータをインポートします。そのため、インポートに失敗した場合、サーバーはエントリーがないか、エントリーの部分的なセットを返します。

前提条件

  • LDIF ファイルのパーミッションでは、dirsrv ユーザーがファイルを読めるようになっている。
  • インポートする LDIF ファイルには、ルート接尾辞のエントリーが含まれている。
  • データのインポート先である接尾辞とそのデータベースがディレクトリー内に存在する。
  • LDIF ファイルが /var/lib/dirsrv/slapd-<instance_name>/ldif/ ディレクトリーに保存され、dirsrv_var_lib_t SELinux コンテキストが設定されている。
  • Directory Server インスタンスが実行している。
  • Web コンソールでインスタンスにログインしている。
  • インポートする LDIF ファイルの文字セットのエンコーディングは UTF-8 である。

手順

  1. Web コンソールで Database メニューを開きます。
  2. 接尾辞エントリーを選択します。
  3. Suffix Tasks をクリックし、Initialize Suffix を選択します。
  4. インポートしたい LDIF ファイルの横にある Import ボタンをクリックします。LDIF ファイルが /var/lib/dirsrv/slapd-<instance_name>/ldif/ 以外のディレクトリーに保存されている場合は、ファイルのフルパスを入力して Import ボタンをクリックします。
  5. Yes, I am sure を選択し、Initialize Database をクリックして確定します。
  6. インポート中の問題についてログを確認するには、Monitoring Logging Errors Log メニューを開きます。

検証

  1. たとえば dc=example,dc=com のように、インポートされた接尾辞の下にあるエントリーを検索します。

    # ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -b "dc=example,dc=com" -s sub -x
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る