AutoCreateBootVolumes
- Launchpad 条目: NovaSpec:auto-create-boot-volumes
- 创建日期: 2011-10-24
- 贡献者: Dan Kim
总结
支持在启动时创建 EBS 启动卷
发布说明
当实现此功能时,虚拟机将使用自动创建的卷作为根卷和本地卷(在 flavor 中定义为 'local_gb')。
'auto_create_boot_volumes' 标志应设置为 True 以触发此逻辑。
原理
借助 BootFromVolume 蓝图,我们可以像 EC2 支持基于 EBS 的卷一样使用卷作为根卷。
但它需要预先创建和预先安装操作系统的卷。
有了此蓝图,就不需要预先创建的卷了。
将添加以下步骤:
1) 在启动时使用 volume-manager 创建卷。
2) 将缓存的操作系统镜像复制到根卷设备。
3) 如果需要,将 ssh 密钥或元数据或文件注入到根卷设备中。
用户故事
- 管理员会将 'auto_create_boot_volumes' 标志设置为 True。
- 用户将看到附加了卷的实例启动。
前提条件
对于根卷支持,假定以下蓝图:
设计
实现
- nova.conf
add 'auto_create_boot_volumes' flag and set it True
- 计算节点
- 计算管理器应在启动时调用卷管理器来创建卷。
- Virt 驱动程序应将操作系统镜像复制到根卷。
- Virt 驱动程序应将 ssh 密钥或文件注入到根卷。
代码变更
- /nova/compute/manager.py
- /nova/virt/libvert/connection.py
迁移
- 当在 nova.conf 中添加 'auto_create_boot_volumes' 时,
- 必须删除缓存的镜像。在常见情况下,它是 '/var/lib/nova/instances/_base/...'
- 以同步卷和镜像之间的尺寸。
测试/演示计划
这不必在规范接近 Beta 之前添加或完成。
未解决的问题
待定
BoF 议程和讨论
使用本节记录 BoF 期间的笔记;如果将其保留在批准的规范中,请用于总结讨论内容并记录任何被拒绝的选项。
