Cinder 可启动卷缓存机制浅析技术文档V10.PDFVIP

Cinder 可启动卷缓存机制浅析技术文档V10.PDF

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Cinder 可启动卷缓存机制浅析技术文档V10

Cinder 可启动卷缓存机制浅析技术文档 V1.0 Apr 14, 2016 Cinder 可启动卷缓存机制浅析技术文档V1.0 术语和称谓 Volume: 虚拟的块设备,本文中称为 “卷” Image-Volume: 导入了虚拟机启动镜像的卷,称为 “可启动卷” Volume-backed Image: 以卷作为镜像后端 可启动卷的应用场景 Cinder 是OpenStack 中提供块存储(Block Storage)管理服务的模块,同其他 模块一样,Cinder 仅提供管理而不提供真正的存储能力,该能力由其后端来提 供,Cinder 可以适配多种后端存储,从而达到灵活管理。 卷是Cinder 管理的基本资源,一般的,卷被挂载到虚拟机上为存储数据所用, 其生命周期与虚拟机相分离,因而被视为 “永久的数据存储”。另外 OpenStack 还提供了从卷启动(Boot from volume)的功能,即由可启动卷来 启动虚拟机。 从卷启动的优和劣 从卷启动为OpenStack 对接块存储设备提供了一种解决方案,而且有很多优 势: 由卷启动虚拟机的实验该过程如下:  创建可启动卷:cinder create --image-id --display-name a- image-volume  由卷启动虚拟机:nova boot --flavor --boot-volume name (可通 过--block-device-mapping 添加更多参数,详见官方文档) 过程图解: 如图所示,对比由镜像启动和由卷启动虚拟机,两种方式都需要向Glance 请求 下载镜像文件,但由于镜像缓存的作用,每个计算节点每个镜像仅需要请求一 次;而由卷启动则每次都需要下载镜像。那么问题来了,如果镜像文件比较大, 则启动虚拟机的耗时也会比较长;如果要批量启动虚拟机,Glance API 服务的 压力也会非常大。 为了解决上面的问题,社区提供了两种方案:  可启动卷缓存  以卷作为镜像后端 下面主要介绍第一种:可启动卷缓存 可启动卷缓存的机制 缓存什么? 对于Cinder 来说,保存虚拟机的镜像文件显然并不是它该做的事情,但是保存 了镜像文件的卷管理起来就游刃有余了。而且由于虚拟卷可以任意的Extend, 只缓存一份刚好满足镜像大小的卷,然后在需要的时候扩展成所需的大小就可 以了。 缓存到哪里? 对于所有资源,OpenStack 都是基于项目(Project/Tenant)来管理。缓存的卷 要归属于哪个项目呢?一般用户的项目显然是不合适的,好在OpenStack 有一 个部署下来就被创建但是一般不怎么用的项目: Service。 何时缓存? 通过上面图中的可启动卷的创建过程可以知道,由创建好的卷Clone 出来一份 做缓存就好。 如何匹配缓存? 在新创建可启动卷时,要想知道当前镜像是否被缓存过,那就需要借助数据库 记录了:只需要在创建卷缓存时,将镜像与缓存的关联保存到表中,请求再次 来到时,查询当前镜像是不是存在表中即可。 过程 以上几个问题大致概括了卷缓存的要点,下面顺序的描述该过程(忽略API 接收 和Schedule 过程,直接进入卷创建逻辑): Liberty 版本中默认不启用卷缓存特性,需要另外配置: vim /etc/cinder/cinder.conf image_volume_cache_enabled = True # 是否启用镜像缓存功能 image_volume_cache_max_size_gb = 100 # 镜像缓存的总容量 image_volume_cache_max_count = 10 # 镜像缓存的总个数 cinder_internal_tenant_project_id = 0f7d9f0f103642df9b1c2def87bca48 6 # cinder 用户所在的项目(即service 项目)id cinder_internal_tenant_user_id = 8bb3be9e49f049a69088c39aa0a81266 # cinder 用户id  数据库中新建image_volume_cache_entries 表,用以保存卷和镜像的关 联;  当由镜像创建卷时,根据数据库记录判断是否由该镜像创建过可

文档评论(0)

2105194781 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档