8.3. 离线两个目录服务器实例的比较
要比较两个离线目录服务器实例,请在两个主机上导出数据库并使用 ds-replcheck
进行比较。
默认情况下,如果您拒绝了复制协议中的某些属性,ds-replcheck
会将这些属性报告为不同的。要忽略这些属性,请将 -i attribute_list
参数传递给 实用程序。
流程
在供应商中,列出后缀及其对应的数据库:
dsconf <instance_name> backend suffix list
# dsconf <instance_name> backend suffix list dc=example,dc=com (userroot) o=test (test_database)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意您要比较的数据库的名称或后缀。
在实例运行时导出数据库:
dsconf <instance_name> backend export -r -l /var/lib/dirsrv/slapd-<instance_name>/ldif/export-supplier.ldif userRoot
# dsconf <instance_name> backend export -r -l /var/lib/dirsrv/slapd-<instance_name>/ldif/export-supplier.ldif userRoot
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 该
-r
参数确保导出包含复制状态信息,并且-l
设置导出文件的路径。请注意,dirsrv
用户必须在目标目录中具有写入权限才能创建该文件。- 在您要与供应商进行比较的副本中重复前面的步骤。
将导出的文件从一个主机复制到另一个主机。例如,要将 LDIF 文件从
replica.example.com
复制到vendor.example.com
,请在副本上输入以下命令:scp /var/lib/dirsrv/slapd-<instance_name>/ldif/export-replica.ldif supplier.example.com:/var/lib/dirsrv/slapd-<instance_name>/ldif/
# scp /var/lib/dirsrv/slapd-<instance_name>/ldif/export-replica.ldif supplier.example.com:/var/lib/dirsrv/slapd-<instance_name>/ldif/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,这个命令需要您可以使用 SSH 访问供应商。
在供应商中,比较两个 LDIF 文件:
ds-replcheck offline -m /var/lib/dirsrv/slapd-<instance_name>/ldif/export-supplier.ldif -r /var/lib/dirsrv/slapd-instance_name/ldif/export-replica.ldif -rid 1 -b "dc=example,dc=com"
# ds-replcheck offline -m /var/lib/dirsrv/slapd-<instance_name>/ldif/export-supplier.ldif -r /var/lib/dirsrv/slapd-instance_name/ldif/export-replica.ldif -rid 1 -b "dc=example,dc=com"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 和
-
r-rid
设置供应商的副本标识符。