13.8. 备份和恢复证书证书证书nbsp;系统
CertificateCertificate Systemnbsp;System 不包括备份和恢复工具。但是,证书证书系统证书系统仍然可以被手动归档和恢复,如果证书或密钥信息丢失,则仍可访问信息的部署。CertificateCertificate Systemnbsp 的三个主要部分;在数据丢失或硬件故障时,需要定期备份系统:
- 内部数据库。子系统使用 LDAP 数据库来存储其数据。目录服务器提供自己的备份脚本和程序。
- 实例目录.instance 目录包含所有配置文件、安全数据库和其他实例文件。这可以使用 tar 或 zip 等实用程序备份。
13.8.1. 备份和恢复 LDAP 内部数据库 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Red Hat Directory Server 文档 包含备份和恢复数据库的更多详细信息。
13.8.1.1. 备份 LDAP 内部数据库 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
可使用两个工具对备份 Directory 服务器实例;每个备份工具都有一个对应部分来恢复它生成的文件:
db2ldif
工具会创建一个 LDIF 文件,您可以使用ldif2db
工具恢复。db2bak
命令创建一个备份文件,您可以使用bak2db
工具恢复。
13.8.1.1.1. 使用 db2ldif 备份 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
运行 db2ldif 命令可备份单个子系统数据库,如
-n
选项指定。
注意
当 db2ldif 命令使用 dirsrv 用户运行时,它不具有在
/root/
目录下写入的权限,因此您需要提供可写入的路径。
- 备份 PKI 子系统使用的每个目录服务器数据库。您可以使用 pki-server ca-db-config-show 命令检查给定子系统的数据库名称。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 除了备份所有单独的子数据库外,您还可以通过添加
用户Root
作为-n
选项备份主数据库。例如:db2ldif -V -n userRoot -a /var/lib/dirsrv/slapd-pki1/ldif/userRoot.ldif
# db2ldif -V -n userRoot -a /var/lib/dirsrv/slapd-pki1/ldif/userRoot.ldif
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
要使用
ldif2db
恢复 LDIF 文件,请参阅 第 13.8.1.2.1 节 “使用 ldif2db 恢复”。
13.8.1.1.2. 使用 db2bak 备份 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
运行 db2bak 命令备份所有证书证书系统nbsp;该目录服务器的系统子系统数据库(以及由该目录服务器实例维护的任何其他数据库)。
例如:
db2bak
# db2bak
Back up directory: /var/lib/dirsrv/slapd-pki1/bak/pki1-2020_11_05_11_20_21
注意
当 db2bak 命令以 dirsrv 用户身份运行时,目标目录必须可由 dirsrv 写入。运行不带任何参数的命令会在
/var/lib/dirsrv/slapd- <instance_name> /bak
文件夹中创建备份,其中 db2bak 具有正确的写入权限。
要使用 bak2db 恢复 LDIF 文件,请参阅 第 13.8.1.2.2 节 “使用 bak2db 恢复”。
13.8.1.2. 恢复 LDAP 内部数据库 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
根据您备份 Directory 服务器实例的方式,使用
ldif2db
或 bak2db
及对应的文件来恢复数据库。
注意
在恢复数据库前,请确定停止该实例。
13.8.1.2.1. 使用 ldif2db 恢复 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
如果您使用
db2ldif
创建 LDIF 文件,请停止 Directory 服务器实例,并使用 ldif2db 命令导入文件。您可以指定要从备份中恢复的单个数据库。例如:
- 停止 Directory 服务器实例:
systemctl stop dirsrv@instance_name
# systemctl stop dirsrv@instance_name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 为
-n
选项指定的子系统导入-i
选项指定的文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 启动 Directory 服务器实例:
systemctl start dirsrv@instance_name
# systemctl start dirsrv@instance_name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
13.8.1.2.2. 使用 bak2db 恢复 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
如果您使用
db2bak
创建备份文件,请停止 Directory 服务器并使用 bak2db 命令导入文件;您可以指定单个数据库从备份中恢复。例如:
- 停止 Directory 服务器实例:
systemctl stop dirsrv@instance_name
# systemctl stop dirsrv@instance_name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 为
-n
选项指定的子系统导入文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您也可以使用 命令(不使用-n
选项)从备份中恢复完整的数据库。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 启动 Directory 服务器实例:
systemctl start dirsrv@instance_name
# systemctl start dirsrv@instance_name
Copy to Clipboard Copied! Toggle word wrap Toggle overflow