3.5. 从备份中恢复


在数据库失败或其他类型的事件后,使用您创建的备份来恢复数据。

重要

如果将 cinder-backup 服务配置为使用 Ceph RBD 驱动程序,则只能将备份卷恢复到基于 RBD 的块存储(cinder)后端。

3.5.1. 从备份中恢复卷

要从备份创建新卷,请完成以下步骤。

流程

  1. 查找您要使用的卷备份的 ID:

    # cinder backup-list

    确保卷 ID 与您要恢复的卷 ID 匹配。

  2. 恢复卷备份:

    # cinder backup-restore _BACKUP_ID_

    BACKUP_ID 替换为您要使用的卷备份的 ID。

  3. 如果您不再需要备份,请删除它:

    # cinder backup-delete _BACKUP_ID_
  4. 如果您需要将备份卷恢复到特定类型的卷中,请使用 --volume 选项将备份恢复到特定卷:

    # cinder backup-restore _BACKUP_ID --volume VOLUME_ID_
    注意

    如果您从加密备份中恢复卷,则必须加密目标卷类型。

3.5.2. 在块存储数据库丢失后恢复卷

当发生块存储数据库丢失时,您无法恢复卷备份,因为数据库包含卷备份服务所需的元数据。但是,在创建卷备份后,您可以导出并存储元数据,该元数据由 backup_servicebackup_url 值组成,以便在发生数据库丢失时恢复卷备份。如需更多信息,请参阅 第 3.1.1 节 “创建完整卷备份”

如果您导出并存储此元数据,您可以将其导入到新的块存储数据库,允许您恢复卷备份。

注意

对于增量备份,您必须先导入所有导出的数据,然后才能恢复其中一个增量备份。

流程

  1. 作为具有管理特权的用户,运行以下命令:

    # cinder backup-import _backup_service_ _backup_url_

    使用您导出的元数据替换 backup_servicebackup_url。例如,使用从 第 3.1.1 节 “创建完整卷备份” 导出的元数据:

    # cinder backup-import cinder.backup.drivers.swift eyJzdGF0dXMi...c2l6ZSI6IDF9
    +----------+--------------------------------------+
    | Property |                Value                 |
    +----------+--------------------------------------+
    |    id    | 77951e2f-4aff-4365-8c64-f833802eaa43 |
    |   name   |                 None                 |
    +----------+--------------------------------------+
  2. 将元数据导入到块存储服务数据库后,您可以正常恢复卷,请参阅 第 3.5.1 节 “从备份中恢复卷”

3.5.3. 取消备份恢复

要取消备份恢复操作,请将备份的状态更改为 恢复 以外的任何内容。您可以使用 错误状态 来最大程度降低恢复是否成功的混淆。或者,您可以将值更改为 available

$ openstack volume backup set --state error BACKUP_ID
注意

备份取消是一个异步操作,因为备份驱动程序必须在取消备份前检测状态更改。当目标卷中状态更改为 available 时,取消完成。

注意

目前 RBD 备份上不提供此功能。

警告

如果在启动后取消恢复操作,则目标卷就无用,因为无法了解数据的数量(若有)实际恢复。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部