14.5.18. 使用实时块复制进行磁盘镜像管理


注意
实时块副本是一个 Red Hat Enterprise Linux 提供的 KVM 版本不支持的功能。Red Hat Virtualization 提供的 KVM 版本提供实时块副本。此版本的 KVM 必须在您的物理主机计算机上运行,才能支持该功能。请联系红帽代表以了解更多详细信息。
实时块复制允许您使用客户机磁盘镜像复制到目标镜像,并在客户机运行时将客户机磁盘镜像切换到目标客户机镜像。当实时迁移移动主机内存和 registry 状态时,客户机将保存在共享存储中。实时块复制允许您在客户机运行时实时将整个 guest 内容移动到另一台主机。实时块复制也可用于实时迁移,而无需永久共享存储。在此方法中,磁盘镜像在迁移后复制到目标主机,但当客户机正在运行时。
实时块复制对以下应用程序特别有用:
  • 将客户机镜像从本地存储移动到中央位置
  • 当需要维护时,虚拟机可以转移到其他位置,而不会丢失性能
  • 允许管理客户机镜像以加快速度和效率
  • 镜像格式的转换可以在不需要关闭客户机的情况下完成

例 14.1. 使用 live block copy 的示例

本例显示了执行 live 块副本时会发生什么。示例有一个在来源和目的地之间共享的后备文件(base)。它还有两个覆盖(sn1 和 sn2),它们仅存在于源上且必须复制。
  1. 备份文件链的开头如下:
    base sn1 xetex sn2
    组件如下:
    • Base - 原始磁盘镜像
    • sn1 - 获取基本磁盘镜像的第一个快照
    • sn2 - 最新快照
    • Active - 磁盘副本
  2. 当将镜像副本作为 sn2 上的新镜像创建时,结果如下:
    base sn1 xetex sn2 active
  3. 此时,读取权限都按正确顺序排列,并会自动设置。为确保正确设置了写入权限,镜像机制会将所有写入操作重定向到 sn2 和 active,使得 sn2 随时读取相同(并且这种镜像机制是实时块复制和镜像流之间的基本区别)。
  4. 对所有集群执行循环的后台任务。对于每个集群,有以下可能的情况和操作:
    • 集群已经处于激活状态,没有什么操作。
    • 使用 bdrv_is_allocated() 来遵循后备文件链。如果集群是从基础读取(共享),则没有什么操作。
    • 如果 bdrv_is_allocated() 变体不可行,请重获镜像,并将读取数据与基础中的写入数据进行比较,以决定是否需要副本。
    • 在所有其他情况下,将集群复制到 活跃的
  5. 复制完成后,active 的后备文件切换到基础(similar 改为 rebase)
要在一系列快照后减少后备链的长度,以下命令会有帮助: blockcommitblockpull。如需更多信息,请参阅 第 14.5.15 节 “使用 blockcommit 短性链”
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.