5.2. 使用导出和导入方法迁移到目录服务器 11
使用导出和导入方法迁移 small Directory 服务器环境,如没有复制的实例。
流程
在现有 Directory Server 10 主机上:
停止并禁用
dirsrv服务:# systemctl stop dirsrv@instance_name # systemctl disable dirsrv@instance_name导出后端。例如,要导出
用户Root后端并将其存储在/tmp/userRoot.ldif文件中:# db2ldif -Z instance_name -n userRoot -a /tmp/userRoot.ldif将以下文件复制到您要安装 Directory Server 11 的新主机中:
- 您上一步导出的 LDIF 文件。
-
如果您使用自定义 schema,
/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
-
- 如果要重复使用 Directory Server 11 主机上相同的主机名和 IP,请将旧服务器与网络断开连接。
在新主机上:
- 安装 Directory Server 11。详情请查看 第 2 章 设置一个新的 Directory 服务器实例。
另外,还可配置 TLS 加密:
如果新安装使用不同于 Directory Server 10 实例的主机名:
- 请参阅 Red Hat Directory Server Administrator Guide 中的 启用 TLS 章节。
要使用与之前目录服务器 10 安装相同的主机名:
停止实例:
# systemctl stop dirsrv@instance_name删除网络安全服务(NSS)数据库和 Directory 服务器的密码文件(如果它们已存在):
# rm /etc/dirsrv/slapd-instance_name/cert*.db /etc/dirsrv/slapd-instance_name/key*.db /etc/dirsrv/slapd-instance_name/pin.txt-
将您从 Directory Server 10 主机复制的
cert8.db、key3.db和pin.txt文件存储在/etc/dirsrv/slapd-instance_name/目录中。 为 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启动实例:
# systemctl start dirsrv@instance_name目录服务器自动将 NSS 数据库转换为 SQLite 格式。转换的数据库存储在
/etc/dirsrv/slapd-instance_name/目录的cert9.db和key4.db文件中。(可选)删除旧的 NSS 数据库以避免混淆:
# rm /etc/dirsrv/slapd-instance_name/cert8.db /etc/dirsrv/slapd-instance_name/key3.db
如果您使用了自定义模式,将
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导入 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 服务器需要您想在
/var/lib/dirsrv/slapd-instance_name/目录中导入的 LDIF 文件。