Nova 镜像缓存管理
- Launchpad 条目: 镜像缓存管理
- 创建时间: 2011年10月12日
- 贡献者: Phil Day (HP Cloud Services)
总结
此蓝图将为 Nova Compute 添加一个缓存管理器,它将
- 检测损坏的镜像
- 检测不再使用的镜像(cached_files – in_use_files)
- 检测 Glance 中不再存在的镜像(not_used_files – glance_files)
- 预缓存选定的镜像
它还将能够将每个计算节点上保存的镜像信息传递给调度器。
原理
目前,一旦从 Glance 下载,镜像就没有管理。缓存的镜像会一直保留在计算节点上
- Even if they are no longer used
- Even if they are deleted in Glance
- Even if they are corrupt
下载延迟会影响 VM 启动,并且流行的镜像可能会被同时请求,最终出现在每台计算服务器上。
设计
缓存管理器将作为每个计算节点上的周期性任务的一部分。
镜像损坏的检测将依赖于在镜像扩展后创建校验和。
基于使用情况删除镜像将借鉴 Glance 为镜像缓存实施的设计。
预缓存的细节仍在确定中,但预计将使用云管理员控制的配置(哪些镜像所有者有权进行预缓存)和镜像所有者(为镜像添加预缓存属性)的组合。这将使服务提供商能够预缓存他们自己的基础镜像,并向其他用户收取使用预缓存的额外费用。
预缓存将包括一个随机延迟元素,以避免所有节点同时尝试预缓存。
UI 变更
UI 不需要任何更改。
代码变更
- Bug 904532(提供一个脚本来自动清理 _base)已被打开。
待定
迁移
预计没有特定的迁移。现有的镜像可能缺少校验和,因此无法验证损坏。
测试/演示计划
待定