跳转到: 导航, 搜索

Nova 镜像缓存管理

  • Launchpad 条目: 镜像缓存管理
  • 创建时间: 2011年10月12日
  • 贡献者: Phil Day (HP Cloud Services)

总结

此蓝图将为 Nova Compute 添加一个缓存管理器,它将

  1. 检测损坏的镜像
  2. 检测不再使用的镜像(cached_files – in_use_files)
  3. 检测 Glance 中不再存在的镜像(not_used_files – glance_files)
  4. 预缓存选定的镜像

它还将能够将每个计算节点上保存的镜像信息传递给调度器。

原理

目前,一旦从 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)已被打开。

待定

迁移

预计没有特定的迁移。现有的镜像可能缺少校验和,因此无法验证损坏。

测试/演示计划

待定

BoF 议程和讨论

波士顿设计峰会的 Etherpad