9.3. 使用导出和导入方法将目录服务器 10 迁移到版本 12
使用导出和导入方法在没有复制的情况下迁移大型目录服务器环境或实例。
流程
在现有目录服务器 10 主机上执行以下步骤:
停止并禁用
dirsrv
服务:dsctl DS10_instance_name stop systemctl disable dirsrv@DS10_instance_name
# dsctl DS10_instance_name stop # systemctl disable dirsrv@DS10_instance_name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 导出后端。例如,要导出
userRoot
数据库并将其存储在/tmp/userRoot.ldif
文件中:db2ldif -Z DS10_instance_name -n userRoot -a /tmp/userRoot.ldif
# db2ldif -Z DS10_instance_name -n userRoot -a /tmp/userRoot.ldif
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将以下文件复制到新的目录服务器 12 主机上:
-
您在上一步中导出的 LDIF 文件
userRoot.ldif
。 -
如果您使用自定义模式,
/etc/dirsrv/slapd-DS10_instance_name/schema/99user.ldif
文件。 /etc/dirsrv/slapd-DS10_instance_name/dse.ldif
配置文件。重要不要将 Directory Server 12 主机上的
dse.ldif
配置文件替换为 Directory Server 10 主机上的文件,因为dse.ldif
布局在版本之间有所变化。存储dse.ldif
文件以备参考。如果要迁移启用了 TLS 并重复使用目录服务器 12 安装相同的主机名的实例,请复制:
-
/etc/dirsrv/slapd-DS10_instance_name/cert8.db
-
/etc/dirsrv/slapd-DS10_instance_name/key3.db
-
/etc/dirsrv/slapd-DS10_instance_name/pin.txt
-
-
您在上一步中导出的 LDIF 文件
- 如果要在 Directory Server 12 主机上使用相同的主机名和 IP,请断开旧服务器与网络的连接。
在新目录服务器 12 主机上执行以下步骤:
可选:配置 TLS 加密:
- 如果全新安装使用了与 Directory Server 10 实例不同的主机名,请参阅 保护 Red Hat Directory Server 文档中的启用 TLS 加密连接到 Directory Server 部分。
如果要使用与之前的目录服务器 10 安装相同的主机名:
停止实例:
dsctl DS12_instance_name stop
# dsctl DS12_instance_name stop
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除网络安全服务(NSS)数据库和目录服务器的密码文件(如果存在):
rm /etc/dirsrv/slapd-DS12_instance_name/cert*.db /etc/dirsrv/slapd-DS12_instance_name/key*.db /etc/dirsrv/slapd-DS12_instance_name/pin.txt
# rm /etc/dirsrv/slapd-DS12_instance_name/cert*.db /etc/dirsrv/slapd-DS12_instance_name/key*.db /etc/dirsrv/slapd-DS12_instance_name/pin.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将从 Directory Server 10 主机复制的
cert8.db
、key3.db
和pin.txt
文件移动到/etc/dirsrv/slapd-DS12_instance_name/
目录。 为 NSS 数据库和密码文件设置正确的权限:
chown dirsrv:root /etc/dirsrv/slapd-DS12_instance_name/cert8.db /etc/dirsrv/slapd-DS12_instance_name/key3.db /etc/dirsrv/slapd-DS12_instance_name/pin.txt chmod 600 /etc/dirsrv/slapd-DS12_instance_name/cert8.db /etc/dirsrv/slapd-DS12_instance_name/key3.db /etc/dirsrv/slapd-DS12_instance_name/pin.txt
# chown dirsrv:root /etc/dirsrv/slapd-DS12_instance_name/cert8.db /etc/dirsrv/slapd-DS12_instance_name/key3.db /etc/dirsrv/slapd-DS12_instance_name/pin.txt # chmod 600 /etc/dirsrv/slapd-DS12_instance_name/cert8.db /etc/dirsrv/slapd-DS12_instance_name/key3.db /etc/dirsrv/slapd-DS12_instance_name/pin.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启动实例:
dsctl DS12_instance_name start
# dsctl DS12_instance_name start
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如果您使用自定义模式,请将
99user.ldif
文件放在/etc/dirsrv/slapd-DS12_instance_name/schema/
目录中,设置适当的权限并重启实例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将您在
/var/lib/dirsrv/slapd-DS12_instance_name/ldif/
目录中的/tmp/userRoot.ldif
文件放在 Directory Server 10 主机上,并设置正确的权限:cp /tmp/userRoot.ldif /etc/dirsrv/slapd-DS12_instance_name/ldif/ chown dirsrv:dirsrv /var/lib/dirsrv/slapd-DS12_instance_name/ldif/userRoot.ldif
# cp /tmp/userRoot.ldif /etc/dirsrv/slapd-DS12_instance_name/ldif/ # chown dirsrv:dirsrv /var/lib/dirsrv/slapd-DS12_instance_name/ldif/userRoot.ldif
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 导入
userRoot.ldif
文件,以使用所有条目恢复userRoot
后端:dsconf -D 'cn=Directory Manager' ldap://server.example.com backend import userRoot /var/lib/dirsrv/slapd-instance_name/ldif/userRoot.ldif
# dsconf -D 'cn=Directory Manager' ldap://server.example.com backend import userRoot /var/lib/dirsrv/slapd-instance_name/ldif/userRoot.ldif
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,目录服务器 12 只能从
/var/lib/dirsrv/slapd-DS12_instance_name/
目录中导入 LDIF 文件。重要如果您在 Directory Server 10 主机上使用了自定义配置,请不要将 Directory Server 12 主机上的
dse.ldif
配置文件替换为之前版本中的文件。反之,使用dsconf
工具或 Web 控制台为每个所需的参数和插件手动添加自定义配置。