Haforvms
- 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 network/compute 状态获取故障主机列表。
- 操作员获取故障主机上的虚拟机列表。
- 操作员应使用此操作重建虚拟机。
前提条件
虚拟机已创建并附加了卷。
设计
实现
- 调度器应调用计算管理器来重建虚拟机。
- 计算管理器应获取虚拟机网络数据的字典列表。
- 计算管理器应更新卷数据库和虚拟机数据库。
- 计算管理器应使用卷管理器为块设备映射设置卷。
- 计算管理器应使用 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 期间的笔记;如果将其保留在批准的规范中,请用于总结讨论内容并记录任何被拒绝的选项。
