跳转到: 导航, 搜索

Rebuildforvms

  • Launchpad 条目: NovaSpec:rebuild-for-ha
  • 创建日期: 2011-11-30
  • 贡献者: Jason Kim

总结

支持从故障主机恢复虚拟机的高可用性。

发布说明

当实现此功能时,虚拟机将从故障主机重建到其他主机。

原理

如果主机发生故障,我们无法在该主机上运行当前的虚拟机。也就是说,我们无法实现虚拟机的HA。我使用重建的方式解决了HA问题。

将添加以下步骤:

1) 获取故障主机上的虚拟机信息。 - 我们可以使用监控系统或使用服务状态(nova-compute, nova-network)来了解主机状态

2) 获取虚拟机网络数据的字典列表。

3) 更新卷数据库和虚拟机数据库。

4) 为块设备映射设置卷。

5) 启动虚拟机。

6) 关联现有虚拟机使用的浮动IP。

  - set up the iptables and so on.

7) 更新虚拟机数据库。

用户故事

  • 用户不知道虚拟机已被重建。
  • 操作员从监控系统或nova网络/计算状态获取故障主机列表。
  • 操作员获取故障主机上的虚拟机列表。
  • 操作员应使用此操作重建虚拟机。

前提条件

虚拟机已使用附加的卷创建。

设计

Rebuild for vm concept.png

实现

  • 调度器应调用计算管理器来重建虚拟机。
  • 计算管理器应获取虚拟机网络数据的字典列表。
  • 计算管理器应更新卷数据库和虚拟机数据库。
  • 计算管理器应使用卷管理器为块设备映射设置卷。
  • 计算管理器应使用virt驱动程序启动虚拟机。
  • 计算管理器应使用网络管理器关联浮动IP。
  • 计算管理器应更新虚拟机数据库。
  • 计算管理器应重启网络模块。

代码变更

  • /usr/bin/nova-manage
  • /nova/compute/api.py, vm_states.py, task_state.py, manager.py
  • /nova/api/openstack/common.py
  • /nova/network/api.py, manager.py

测试/演示计划

这不必在规范接近 Beta 之前添加或完成。

未解决的问题

待定

BoF 议程和讨论

使用本节记录 BoF 期间的笔记;如果将其保留在批准的规范中,请用于总结讨论内容并记录任何被拒绝的选项。