第 3 章 备份和恢复红帽目录服务器


使用命令行或 Web 控制台,备份红帽目录服务器数据库、配置文件和自定义架构文件。您还可以在实例离线或在线时恢复数据库。

3.1. 备份目录服务器

Directory 服务器中的备份包含以下文件:

  • 包含数据库索引属性的 LDIF 文件 dse_index.ldif
  • 包含实例配置属性的 LDIF 文件 dse_instance.ldif
  • 每个后端的目录,如 userRoot,其中包含数据库中定义的索引的 .db 文件
  • 事务日志文件 log configured
  • 数据库版本文件 DBVERSION

请注意,Directory 服务器不支持备份单个数据库。

有关备份其他重要文件的详情,如配置,请参阅 备份配置文件、证书数据库和自定义架构文件

与备份不同,您可以导出数据,如从目录服务器导出数据 中所述。使用导出功能从服务器导出特定数据,如子树,采用 LDIF 格式。

要备份正在运行的 Directory Server 实例的所有数据库,请使用 dsconf backup create 命令。

重要

当数据库从在线备份中恢复时,目录服务器会清理 changelog。因此,使用在线备份要求您在数据库恢复后重新初始化副本。要避免重新初始化,请使用离线备份。

先决条件

  • dirsrv 用户在目标目录中具有写入权限。

    请注意,目录服务器默认使用自己的私有目录。因此,除非禁用了 PrivateTmp systemd 指令,否则将备份并导出到目录 /var/tmp//tmp//root/ 下。

  • 目录服务器实例正在运行。

流程

  1. 备份所有数据库:

    # dsconf <instance_name> backup create
    The backup create task has finished successfully

    默认情况下,dsconf 将备份存储在 / var/lib/dirsrv/slapd -<instance_name> /bak/name> /bak/ 目录中的名为 <instance_name>-YYYY_MM_DD_ hh_mm_ss 的子目录中。要指定不同的位置,请在命令中附加目录名称。

  2. 在备份过程中搜索 /var/log/dirsrv/slapd-<instance_name> /errors 日志。

    要显示可用于备份数据的所有附加设置,请查看 dsconf < instance_name > backup create --help 命令的输出。

要在目录服务器实例离线时备份数据库,请使用 dsctl db2bak 命令。

先决条件

  • dirsrv 用户在目标目录中具有写入权限。

    请注意,目录服务器默认使用自己的私有目录。因此,除非禁用了 PrivateTmp systemd 指令,否则将备份并导出到目录 /var/tmp//tmp//root/ 下。

  • 目录服务器实例没有运行。

流程

  1. 备份所有数据库:

    # dsctl <instance_name> db2bak
    db2bak successful

    默认情况下,dsctl db2bak 将备份存储在 / var/lib/dirsrv/slapd -<instance_name>/bak/ 目录中的 <instance_name>-YYYY_MM_DD_hh_ mm_ss __ 子目录中。要指定不同的位置,请在命令中附加目录名称。

    (可选)将 -v 选项传给命令以显示详细输出:

    # dsctl -v <instance_name> db2bak
    ...
    DEBUG: Instance allocated
    DEBUG: systemd status -> True
    ...
    INFO: db2bak successful
  2. 在备份过程中搜索 /var/log/dirsrv/slapd-<instance_name> /errors 日志。
  3. 可选:启动实例:

    # dsctl <instance_name> start

3.1.3. 使用 Web 控制台备份所有数据库

目录服务器使用 Web 控制台支持数据备份。

重要

当数据库从在线备份中恢复时,目录服务器会清理 changelog。因此,使用在线备份要求您在数据库恢复后重新初始化副本。要避免重新初始化,请使用离线备份。

先决条件

  • dirsrv 用户在目标目录中具有写入权限。

    请注意,目录服务器默认使用自己的私有目录。因此,除非禁用了 PrivateTmp systemd 指令,否则 /var/tmp//tmp//root/ 目录下备份和导出会失败。

  • 在 web 控制台中登录到实例。

流程

  1. 单击 Actions 按钮,再选择 Manage Backups
  2. 单击 Create Backup
  3. 输入备份的名称,如表示备份的创建日期和时间的时间戳。
  4. 单击 Create Backup
  5. 要在备份过程中检查日志是否有问题,请打开 Monitoring Logging Errors Log 菜单。

    服务器将备份存储在 /var/lib/dirsrv/slapd- <instance_name> /bak/ 目录中输入名称的子目录中。

当您在实例在线或离线时备份数据库时,目录服务器还会备份配置文件、证书数据库和自定义架构文件。dsconf backup createdsctl db2bak 命令将文件备份到 /var/lib/dirsrv/slapd- <instance_name&gt; /bak/<example_backup>/config_files/ 备份默认目录。您可能需要在硬件故障后在不同的服务器上恢复实例。

重要

在备份过程中,请不要更新证书数据库。否则,此数据库在备份中可能不一致。

流程

验证

  • 在备份目录中查找备份的配置文件:

    # ls /var/lib/dirsrv/slapd-<instance_name>/bak/<example_backup>/config_files/
    注意

    目录服务器不会自动恢复备份的配置文件。您需要手动恢复这些文件。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部