5.2. エクスポートおよびインポートの方法を使用した Directory Server 11 への移行

エクスポートおよびインポートの方法を使用して、小規模な Directory Server 環境 (レプリケーションのないインスタンスなど) を移行します。

手順

  1. 既存の Directory Server 10 ホスト上で以下を行います。

    1. dirsrv サービスを停止し、無効にします。

      # systemctl stop dirsrv@instance_name
      # systemctl disable dirsrv@instance_name
    2. バックエンドをエクスポートします。たとえば、userRoot バックエンドをエクスポートし、これを /tmp/userRoot.ldif ファイルに保存するには、以下を行います。

      # db2ldif -Z instance_name -n userRoot -a /tmp/userRoot.ldif
    3. Directory Server 11 をインストールする新しいホストに以下のファイルをコピーします。

      • 前の手順でエクスポートした LDIF ファイル。
      • カスタムスキーマの場合は /etc/dirsrv/slapd-instance_name/schema/99user.ldif
      • TLS が有効なインスタンスを移行し、Directory Server 11 のインストールに同じホスト名を再利用するには、以下のファイルを新しいホストにコピーします。

        • /etc/dirsrv/slapd-instance_name/cert8.db
        • /etc/dirsrv/slapd-instance_name/key3.db
        • /etc/dirsrv/slapd-instance_name/pin.txt
    4. Directory Server 11 ホストの同じホスト名および IP を再利用するには、ネットワークから古いサーバーを切断します。
  2. 新しいホストで以下を行います。

    1. Directory Server 11 をインストールします。詳細は、2章新しい Directory Server インスタンスの設定 を参照してください。
    2. 必要に応じて、TLS 暗号化を設定します。

      • 新規インストールで Directory Server 10 インスタンスとは異なるホスト名を使用する場合は、以下を行います。

        1. Red Hat Directory Server 管理ガイドTLS の有効化 の章を参照してください。
      • 以前の Directory Server 10 インストールと同じホスト名を使用するには、以下を実行します。

        1. インスタンスを停止します。

          # systemctl stop dirsrv@instance_name
        2. Network Security Services (NSS) データベース、および Directory Server のパスワードファイルが存在する場合は削除します。

          # rm /etc/dirsrv/slapd-instance_name/cert*.db /etc/dirsrv/slapd-instance_name/key*.db /etc/dirsrv/slapd-instance_name/pin.txt
        3. /etc/dirsrv/slapd-instance_name/ ディレクトリーの Directory Server 10 ホストからコピーした cert8.db ファイル、key3.db ファイル、および pin.txt ファイルを保存します。
        4. NSS データベースおよびパスワードファイルに適切なパーミッションを設定します。

          # chown dirsrv:root /etc/dirsrv/slapd-instance_name/cert8.db /etc/dirsrv/slapd-instance_name/key3.db /etc/dirsrv/slapd-instance_name/pin.txt
          
          # chmod 600 /etc/dirsrv/slapd-instance_name/cert8.db /etc/dirsrv/slapd-instance_name/key3.db /etc/dirsrv/slapd-instance_name/pin.txt
        5. インスタンスを起動します。

          # systemctl start dirsrv@instance_name

          Directory Server は NSS データベースを自動的に SQLite 形式に変換します。変換されたデータベースは、/etc/dirsrv/slapd-instance_name/ ディレクトリーの cert9.db ファイルおよび key4.db ファイルに保存されます。

        6. 必要に応じて、混乱を避けるために、古い NSS データベースを削除します。

          # rm /etc/dirsrv/slapd-instance_name/cert8.db /etc/dirsrv/slapd-instance_name/key3.db
    3. カスタムスキーマを使用している場合は、99user.ldif ファイルを /etc/dirsrv/slapd-instance_name/schema/ ディレクトリーに復元し、適切なパーミッションを設定してインスタンスを再起動します。以下に例を示します。

      # cp /tmp/99user.ldif /etc/dirsrv/slapd-instance_name/schema/
      
      # chmod 644 /etc/dirsrv/slapd-instance_name/schema/99user.ldif
      
      # chown root:root /etc/dirsrv/slapd-instance_name/schema/99user.ldif
      
      # systemctl restart dirsrv@instance_name
    4. LDIF ファイルをインポートします。たとえば、/var/lib/dirsrv/slapd- instance_name /ldif/migration.ldif ファイルを userRoot データベースにインポートするには:

      # dsconf -D 'cn=Directory Manager' ldap://server.example.com backend import userRoot /var/lib/dirsrv/slapd-instance_name/ldif/migration.ldif

      Directory Server では、インポートする LDIF ファイルが /var/lib/dirsrv/slapd- instance_name/ ディレクトリーに必要であることに注意してください。