12.5. 使用 web 控制台实时迁移虚拟机


如果要迁移正在执行需要持续运行的任务的虚拟机(VM),您可以将该虚拟机迁移到另一个 KVM 主机,而无需关闭它。这也称为实时迁移。您可以使用 Web 控制台来实时迁移虚拟机。

先决条件

  • 已安装 RHEL 10 web 控制台。

    具体步骤请参阅安装并启用 Web 控制台

  • Web 控制台 VM 插件 安装在您的系统上
  • Hypervisor : 源主机和目标主机都使用 KVM hypervisor。
  • 主机 : 源和目标主机都在运行。
  • 打开端口 : 确保以下端口在目标主机上已打开。

    • 使用 SSH 连接到目标主机需要端口 22。
    • 使用 TLS 连接到目标主机需要端口 16514。
    • 使用 TCP 连接到目标主机需要端口 16509。
    • QEMU 需要端口 49152-49215 来传输内存和磁盘迁移数据。
  • CPU: 虚拟机必须与目标主机的 CPU 功能兼容。要确保情况如此,请参阅验证虚拟机迁移的主机 CPU 兼容性
  • 存储: 要迁移的虚拟机的磁盘镜像可以被源主机和目标主机访问。这在离线迁移中是可选的,但在迁移运行的虚拟机时是必需的。要确保存储可被两个主机访问,必须应用以下内容之一:

  • 网络带宽 : 迁移正在运行的虚拟机时,您的网络带宽必须比虚拟机产生脏内存页的速度要快。

    要在开始实时迁移前获得虚拟机的脏页率,请在命令行上执行以下操作:

    1. 监控虚拟机在短时间内的脏页面生成率。

      # virsh domdirtyrate-calc vm-name 30
      Copy to Clipboard Toggle word wrap
    2. 在监控完成后,获取其结果:

      # virsh domstats vm-name --dirtyrate
      Domain: 'vm-name'
        dirtyrate.calc_status=2
        dirtyrate.calc_start_time=200942
        dirtyrate.calc_period=30
        dirtyrate.megabytes_per_second=2
      Copy to Clipboard Toggle word wrap

      在本例中,VM 每秒会生成 2 MB 的脏内存页面。如果您不暂停虚拟机或降低其工作负载,那么在小于或等于 2 MB/秒带宽的网络中尝试实时迁移这样的虚拟机会导致实时迁移不会进行。

      为确保实时迁移成功完成,您的网络带宽应显著大于虚拟机的脏页面生成率。

      注意

      calc_period 选项的值可能因工作负载和脏页率而异。您可以使用多个 calc_period 值进行试验,以确定与您环境中脏页率一致的最合适的周期。

  • 网桥 tap 网络细节: 在公共网桥 tap 网络中迁移现有虚拟机时,源和目标主机必须位于同一网络上。否则,迁移后 VM 网络将无法正常工作。

流程

  1. 在 web 控制台的虚拟机界面中,单击您要迁移的虚拟机的菜单按钮

    此时会出现一个下拉菜单,控制各种虚拟机操作。

  2. 点击 Migrate

    此时将显示将虚拟机迁移到另一主机的对话框。

  3. 输入目标主机的 URI。
  4. 配置迁移的持续时间:

    • Permanent - 如果要永久迁移虚拟机,请勿选中此框。永久迁移会从源主机上完全删除虚拟机配置。
    • Temporary - 临时迁移会将虚拟机的副本迁移到目标主机。虚拟机关闭时,此副本将从目标主机中删除。原始虚拟机会保留在源主机上。
  5. 点击 Migrate

    您的虚拟机被迁移到目标主机上。

验证

要验证虚拟机是否已成功迁移并正常工作:

  • 确认虚拟机是否在目标主机上可用虚拟机的列表中。
  • 启动迁移的虚拟机,并观察其是否启动。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat