跳转到: 导航, 搜索

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。
  • 用户将看到附加了卷的实例启动。

前提条件

对于根卷支持,假定以下蓝图:

设计

Auto create boot volume concept.png

实现

  • 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 期间的笔记;如果将其保留在批准的规范中,请用于总结讨论内容并记录任何被拒绝的选项。