第 3 章 使用块存储备份服务


您可以使用块存储备份服务执行完整或增量备份,并将备份恢复到卷。

3.1. 完整备份

3.1.1. 创建完整卷备份

要备份卷,请使用 cinder backup-create 命令。默认情况下,这个命令会创建卷的完整备份。如果卷有现有的备份,您可以选择创建增量备份。更多信息请参阅 第 3.2.2 节 “执行增量备份”

注意

在 Red Hat OpenStack Platform (RHOSP)版本 16 之前,cinder backup-create 命令在第一个完整 Ceph 卷备份到 Ceph 存储后端后创建增量备份。在 RHOSP 版本 16 及更高版本中,您必须使用 --incremental 选项来创建增量卷备份。如果您没有在 cinder backup-create 命令中使用 --incremental 选项,则默认设置会创建完整的备份。更多信息请参阅 第 3.2.2 节 “执行增量备份”

您可以创建您可以访问的卷备份。这意味着,具有管理特权的用户都可以备份任何卷,而不考虑所有者。更多信息请参阅 第 3.1.2 节 “以管理员身份创建卷备份”

流程

  1. 查看您要备份的卷的 ID 或显示名称:

    # cinder list
  2. 备份卷:

    # cinder backup-create _VOLUME_

    使用您要备份的卷的 ID显示 名称替换 VOLUME。例如:

      +-----------+--------------------------------------+
      |  Property |                Value                 |
      +-----------+--------------------------------------+
      |     id    | e9d15fc7-eeae-4ca4-aa72-d52536dc551d |
      |    name   |                 None                 |
      | volume_id | 5f75430a-abff-4cc7-b74e-f808234fa6c5 |
      +-----------+--------------------------------------+

    生成的备份的 volume_id 与源卷的 ID 相同。

  3. 验证卷备份创建是否已完成:

    # cinder backup-list
  4. 当备份条目的 Status 可用时,卷备份创建已完成。

3.1.2. 以管理员身份创建卷备份

具有管理特权的用户可以备份由 Red Hat OpenStack Platform 管理的任何卷。当 admin 用户备份由非管理员用户拥有的卷时,默认从卷所有者中隐藏备份。

流程

  • 作为 admin 用户,您可以使用以下命令备份卷,并使备份可供特定租户使用:

    # cinder --os-auth-url <KEYSTONEURL> --os-tenant-name <TENANTNAME> --os-username <USERNAME> --os-password <PASSWD> backup-create <VOLUME>

    根据您的环境要求替换以下变量:

  • <TENANTNAME> 是您要备份的租户的名称。
  • <USERNAME> 和 <PASSWD> 是 <TENANTNAME> 中用户的用户名和密码凭证。
  • <VOLUME> 是您要备份的卷的名称或 ID。
  • <KEYSTONEURL> 是身份服务的 URL 端点,通常为 http://IP:5000/v2,其中 IP 是身份服务主机的 IP 地址。执行此操作时,生成的备份大小针对 TENANTNAME 的配额而不是租户 admin 的配额进行计数。

3.1.3. 导出卷备份的元数据

您可以导出并存储卷备份的元数据,以便您可以恢复卷备份,即使块存储数据库遭受灾难性丢失。

流程

  • 运行以下命令:

    # cinder backup-export _BACKUPID_

    将 <BACKUPID> 替换为卷备份的 ID 或名称:

    +----------------+------------------------------------------+
    |    Property    |                Value                     |
    +----------------+------------------------------------------+
    | backup_service |     cinder.backup.drivers.swift          |
    |   backup_url   | eyJzdGF0dXMiOiAiYXZhaWxhYmxlIiwgIm9iam...|
    |                | ...4NS02ZmY4MzBhZWYwNWUiLCAic2l6ZSI6IDF9 |
    +----------------+------------------------------------------+

卷备份元数据由 backup_servicebackup_url 值组成。

3.1.4. 备份使用中的卷

当支持块存储后端快照时,您可以使用 --force 选项创建 in-use 卷备份。

注意

要使用 --force 选项,必须支持 Block Storage 后端快照。您可以通过检查您使用的后端的文档来验证快照支持。

通过使用 --force 选项,您可以确认在执行备份前您不会静止驱动器。使用此方法会造成崩溃一致性,但不是应用程序一致性的备份。这意味着备份不知道执行备份时运行哪些应用程序。但是,数据保持不变。

流程

  • 要创建 in-use 卷的备份,请运行:

    # cinder backup-create _VOLUME_ --incremental --force

3.1.5. 备份快照

您可以使用与快照关联的卷 ID 从快照创建完整备份。

流程

  1. 使用 cinder snapshot list 找到要备份的快照的快照 ID。

    # cinder snapshot-list --volume-id _VOLUME_ID_
  2. 如果快照被命名,您可以使用以下示例查找 ID

    # cinder snapshot-show _SNAPSHOT_NAME_
  3. 创建快照的备份:

    # cinder backup-create _VOLUME_ --snapshot-id=_SNAPSHOT_ID_
    注意

    当您使用 --snapshot-id 选项时,基于快照的 NFS 卷备份会失败。这是个已知问题。

3.1.6. 在边缘站点间备份和恢复

您可以在边缘站点和可用区中的分布式计算节点(DCN)架构间备份和恢复块存储服务(cinder)卷。cinder-backup 服务在中央可用区(AZ)中运行,备份存储在中央 AZ 中。块存储服务不在 DCN 站点存储备份。

先决条件

  • 中央站点使用位于 /usr/share/openstack-tripleo-heat-templates/environmentscinder-backup.yaml 环境文件进行部署。如需更多信息,请参阅块存储备份服务部署
  • Block Storage 服务(cinder) CLI 可用。
  • 所有站点都必须使用通用的 openstack cephx 客户端名称。有关更多信息,请参阅为外部访问创建 Ceph 密钥

流程

  1. 在第一个 DCN 站点中创建卷的备份:

    $ cinder --os-volume-api-version 3.51 backup-create --name <volume_backup> --availability-zone <az_central> <edge_volume>
    • <volume_backup > 替换为卷备份的名称。
    • <az_central > 替换为托管 cinder-backup 服务的中央可用区的名称。
    • 将 < edge_volume > 替换为您要备份的卷的名称。

      注意

      如果 Ceph 密钥环出现问题,您可能需要重启 cinder-backup 容器,以便从主机中的密钥环复制到容器。

  2. 将备份恢复到第二个 DCN 站点中的新卷:

    $ cinder --os-volume-api-version 3.51 create --availability-zone <az_2> --name <new_volume> --backup-id <volume_backup> <volume_size>
    • 将 &lt ;az_ 2> 替换为您要恢复备份的可用区的名称。
    • <new_volume > 替换为新卷的名称。
    • 将 &lt ;volume_backup > 替换为您在上一步中创建的卷备份的名称。
    • 将 < volume_size > 替换为等于或大于原始卷大小的 GB 值。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.