Openstack Nova实现与Hypervisor的对接.docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
? ? ? ? ? ? ? ? [选阅] Openstack Nova如何实现与Hypervisor对接 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????? OpenStack是公有云的标准云OS框架,目前已经得到各个云厂商支持和客户的认可,很多云解决方案提供商都把云战略转向OpenStack,如传统厂商方案 SoftLayer、Helion、FusionSphere、Suse和Redhat等,以及新型云服务商的方案,如RackSpace、Miratis、Nebula、ClouScaling、MetaCloud、PistonCloud、Canonical等。今天我们来讨论一下OpenStack如何与底层Hypervisor对接和技术原理。 OpenStack和Nova模块 ????? Nova是OpenStack中管理计算的模块,也是OpenStack众多服务中的一个关键模块,Nova可以为用户按需分配虚拟机,在OpenStack中,Nova是一种服务,而这种服务又由Nova中的几种组件来完成(图片来自OpenStack社区官方文档)。 ????? Nova在组成架构上是由Nova-Api/Nova-Sheduler/Nova-Compute等一些关键组件构成,而这些组件都各司其职,具体功能可以查阅OpenStack社区文档中对于各个组件的定义,但是所有组件的通信机制都是通过队列Queue来完成。如上图所示,Nova-Compute组件直接和Hypervisor交互,这就是我们今天要说的重点,Nova如何实现与Hypervisor对接。 ? OpenStack支持的Hypervisor ????? OpenStack提供了一个开放的云计算管理架构,OpenStack自身不提供服务器虚拟化功能,但是支持与不同服务器虚拟化Hypervisor对接。我们熟悉的Hyervisor,例如KVM/Xen和基于他们衍生出来的Hypervisor,在openStack社中也提到Nova-Compute也可以支持LXC(如Docker)、UML、VMware vSphere、Power VM、Hyper-V等虚拟化软件。 Nova-comupte与KVM关系 ????? 由于KVM在OpenStack社区中代码贡献非常高,所以在OpenStack中首选和默认的Hypervisor就是KVM。接下来我们就重点介绍下Nova与KVM是怎么工作的。 ????? 我们从KVM部署入手解析整个对接过程,假如有10台物理服务器用来部署整个OpenStack KVM环境,用第一台服务器部署Nova-Api /Nova-Conductor /Nova-Scheduler作为控制节点,而剩下的9台服务器都作为计算节点,安装部署了Hypervisor KVM和Nova-Computer。 ????? 当需要创建虚拟机时,控制节点将通过Nova-Scheduler通过一系列算法(在Openstack社区中定义了30几种Scheduler调度算法)算出计算节点10比较适合建立虚拟机,比如根据CUP使用情况、内存使用情况等。然后Nova-scheduler就通知该计算节点(例如节点10)的Nova-computer完成虚拟的创建。 ????? Nova-Scheduler组件和Nova-Computer组件之间通信是通过消息队列Queue来完成。Nova-Computer接着会通过Driver来告诉KVM需要的虚拟化资源,Driver(Nova-compute Driver)是由不同虚拟化Hypervisor厂商提供,进行接口和功能适配。 ????? Nova-Computer通过Driver并且通过Libvirt来与KVM对接。由于Libvirt 本身构建于一种抽象的概念之上。它为受支持的Hypervisor提供的常用功能提供通用的API。Nova-Computer通过Driver并且通过Libvirt来与KVM对接。 Libvirt架构介绍 ????? Libvirt是开源虚拟化方案的一个重要模块,实质上是基于虚拟化的语言函数库,介于Openstack和底层虚拟化Hypervisor(如KVM/Xen等)之间。Libvirt将底层具体虚拟化实现屏蔽,对Openstack呈现统一个管理接口调用来完成各类虚拟机的动作(如虚拟机启动、休眠唤醒、热迁移等操作)。 ????? Libvirt采用了CS架构设计,对外承接整合服务器的云管理,对内监控整合服务器的虚拟任务完成情况。Libvirt客户端直接对接OpenStack云管理平台,以API的形式下发的各种管理命令,Libvirt服务端(Libvirtd)接收并处理命令,L

文档评论(0)

智慧IT + 关注
实名认证
内容提供者

微软售前技术专家持证人

生命在于奋斗,技术在于分享!

领域认证 该用户于2023年09月10日上传了微软售前技术专家

1亿VIP精品文档

相关文档