版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Nova计算组件的介绍南阳理工学院1目录介绍NovaNova架构介绍Nova主要组件nova创建虚拟机流程1、介绍NovaNova是OpenStack最复杂的部分,涵盖的内容最多,它涵盖了虚拟化、网络、存储、调度和云计算控制等专业领域知识。Nova是OpenStack云中的计算组织控制器。OpenStack云中实例(instances)生命周期的所有活动都由Nova处理。这样使得Nova成为一个负责管理计算资源、网络、认证的可扩展性的平台。但是,Nova自身并没有提供任何虚拟化能力,它使用LibvirtAPI来与被支持的Hypervisors交互。Nova通过一个与AmazonWebServices(AWS)EC2API兼容的webservicesAPI来对外提供服务。3功能和特点实例生命周期管理管理计算资源网络和认证管理REST风格的API异步的一致性通信Hypervisor透明:支持Xen,XenServer/XCP,KVM,UML,VMwarevSphereandHyper-V42.Nova架构介绍简单架构简单架构单点服务无负载均衡无高可靠复杂架构????????2.Nova架构介绍复杂架构复杂架构负载均衡高可靠简单架构单点服务无负载均衡无高可靠3、Nova主要组件APIServer(nova-api)MessageQueue(rabbit-mqserver)Scheduler(nova-scheduler)Conductor(nova-conductor)ComputeWorkers(nova-compute)NetworkController(nova-network)Placement(nova-placement-api)Cell(nova-cell)nova-consoleauth负责验证consoleproxy提供的用户tokennova-novncproxy,nova-xvpnvncporxy,提供proxy访问instancevnc端口nova-cert管理x509证书73.1Nova-api整个Nova组件的门户,所有对Nova的请求都首先由nova-api处理。Nova-api向外界暴露若干HTTPRESTAPI接口。APIServer对外提供一个与云基础设施交互的接口,也是外部可用于管理基础设施的唯一组件。APIServer通过消息队列(MessageQueue)轮流与云基础设施的相关组件通信。问题:nova-api接收哪些请求?简单的说,只要是跟虚拟机生命周期相关的操作,nova-api都可以响应。大部分操作都可以在Dashboard上找到。8查看nova-api的进程号:psaux|grepnova-api查看nova-api占用哪些端口netstat-anp|greppid其中pid指的是nova-api的进程号一般来说,服务监听的端口号为8773,8774,8775。如果服务异常,可以查看这个端口号是否被其他服务占用。910113.2MessageQueueOpenStack节点之间通过消息队列使用AMQP(AdvancedMessageQueueProtocol)完成通信。Nova通过异步调用请求响应,使用回调函数在收到响应时触发。因为使用了异步通信,用户的操作不会长时间处于等待状态。这是有效的,因为许多API调用预期的行为都非常耗时,例如启动一个实例,或者上传一个镜像,用户总希望它在很短的时间内完成。12133.3nova-scheduler
–调度器虚拟机调度,即创建虚拟机时,根据物理机的资源使用情况,虚拟机应该被分配到哪台物理机上运行。能够在OpenStack集群中选择最合适的计算节点放置实例,实现负载均衡。调度器作为一个名为nova-scheduler的守护进程运行,通过恰当的调度算法从可用资源池中收集计算服务,网络服务,卷服务的相关信息,根据诸如负载、内存、可用域的物理距离、CPU构架等作出调度决定。接受一个消息队列的虚拟实例请求,通过算法决定该请求应该在哪台主机上运行,同时,也可以人为的为该请求指定在哪台主机上运行,即起到调度器(Scheduler)的作用。即解决如何选择在哪个计算节点上启动instance的问题。即创建Instance时,用户会提出资源需求,例如CPU、内存、磁盘各需要多少。Nova允许使用第三方scheduler,配置scheduler_driver即可,体现了OpenStack的开放性14OpenStack的Flavor
将这些需求定义在flavor中,用户只需要指定用哪个flavor就可以了。Flavor主要定义了VCPU,RAM,DISK和Metadata这四类。nova-scheduler会按照flavor去选择合适的计算节点。151617调度器会根据计算节点的负载情况,内存使用情况,CPU架构等作出调度决策,实现可插入式的灵活调度方式,nova-scheduler实现的基本的调度算法有:随机算法:计算主机在所有可用域内随机选择。可用域算法:跟随机算法相仿,但是计算主机在指定的可用域内随机选择。简单算法:这种方法选择负载最小的主机运行实例。负载信息可通过负载均衡器获得。18过滤算法选择,yesorno?符合条件的host进入下一轮权重算法排序符合条件的host进行优先级排序nova-scheduler服务–调度器调度算法,即选出最佳物理机的算法,主要包括过滤算法和权重算法两个阶段Nova-scheduler
过滤(filter)算法
目前支持的过滤算法(23种左右),默认加载以下算法:RetryFilterAvailabilityZoneFilterRamFilterComputeFilterComputeCapabilitiesFilterImagePropertiesFilterCoreFilter Nova-scheduler
过滤(filter)算法
过滤(filter)算法RetryFilter如果虚拟机调度失败,是否重新调度的次数
scheduler_max_attempts=3AvailabilityZoneFilter是否支持虚拟机选择availabilityzoneRamFilter选择能够满足虚拟机内存要求的物理机,如果不指定默认,不判断内存资源指定内存超分比率,ram_allocation_ratio=1.5ComputeCapabilitiesFilter选择具有某些特定属性的物理机以namespace:key的格式来执行属性,比如AZ1:node1Nova-scheduler
过滤(filter)算法
过滤(filter)算法ImagePropertiesFilter根据镜像中指定的某一属性(properties)来过滤物理机以这个镜像创建虚拟机,只能选择体系结构式arm,hypervisor是qemu的主机CoreFilter选择哪些能够满足虚拟机cpu要求的那些物理机如果不设置,单个虚拟机的和数可以超过物理机的和数可以指定cpu超分比率,
cpu_allocation_ratio=16.0glanceimage-updateimg-uuid--propertyarchitecture=arm--propertyhypervisor_type=qemu
Nova-scheduler权重(weight)算法Nova-scheduler权重(weight)算法权重(weight)算法–权重是如何计算出来的?ram_weight_multiplier(内存权重系数)正数,选出内存最大的物理机
虚拟机在所有物理机上平铺(spreading)负数,选出内存最小的物理机
虚拟机在部分物理机上堆叠(stacking)scheduler_host_subset_size(最佳机器的子集大小)如果有N个机器的优先级相同,则随机选择scheduler_host_subset_size个scheduler_host_subset_size=1(默认)scheduler_weight_classes(权重计算算法选择类)RamWeigher,内存权重排序算法,默认算法MetricsWeigher,自定义的权重排序算法3.4Nova-conductor数据库访问代理服务介于database和nova-compute之间,排除了compute服务对于数据库的直接访问计算节点相对不可信、高风险的负载均衡,可扩展性好不能与nova-compute部署在同一节点上如果不想使用nova-conductor,在nova.conf中增加配置项:use_local=True3.5
Nova-computenova-compute是一个非常重要的守护进程,是所有的计算节点都要运行的服务。职责是基于各种虚拟化技术Hyperivisor实现创建和终止虚拟机,即管理着虚拟机实例的生命周期。该模块内部非常复杂,基本原理是简单的,nova-compute有两个工作:接受消息队列中的执行指令,并执行相关指令,如部署虚拟机。维护数据库相关模型的状态数据。nova-compute在计算节点上运行,负责管理节点上的instance。OpenStack对instance的操作,最后都是交给nova-compute来完成的。nova-compute与Hypervisor一起实现OpenStack对instance生命周期的管理。26nova-compute整合了计算资源CPU,存储,网络三类资源部署管理虚拟机,实现计算能力的交付。包括如下内容:运行虚拟机终止虚拟机重启虚拟机挂起虚拟机挂载云硬盘卸载云硬盘控制台输出27Nova-compute主要工作流程nova-compute首先会根据指定的flavor依次为instance分配内存、磁盘空间和vCPU。资源准备好之后,nova-compute会为instance获取镜像文件。首先将该image下载到计算节点,然后将其作为backingfile创建instance的镜像文件。从Glance下载image,nova-compute首先会检查image是否已经下载。如果没有,就从Glance下载image到本地。创建instance的XML定义文件创建虚拟网络并启动instance28nova-compute29除此之外,还可以通过nova-manageservicelist来查看当前环境中的所有的nova服务。303.6
nova-network该守护进程跟nova-compute模块的功能是相似的。接受来自消息队列的任务,然后执行相应的任务对网络进行操作(比如:安装网桥接口和改变iptable规则)nova-network处理主机的网络配置。它包括IP地址分配、为项目配置VLAN、实现安全组、配置计算节点网络。通过nova-network可以管理OpenStack的固定ip(fixedip),浮动ip(floatingip),DHCP服务,网桥和虚拟子网等网络服务。nova-network从OpenStack的F版本之后,从nova中逐渐分离,已经成为OpenStack独立的组件Neutron存在。313.7
NovaCellOpenStack在控制平台上的性能瓶颈主要在MessageQueue和Database。尤其是MessageQueue,随着计算节点的增加,性能变的越来越差。为了应对这种情况,Nova很早之前提出来nova-cell(以下以cellv1代替)的解决方案。目的是在把大的OpenStack集群分成小的单元,每个单元有自己的MessageQueue和Database,以此来解决规模增加时引起的性能问题,而且不会向Region那样,把各个集群独立运行。在cell里面,Keystone、Neutron、Cinder、Glance等资源还是共享的。通过nova-cell服务来在各个cell间传递消息。架构复杂案例:CERN(欧洲原子能研究中心)cellv1被标记为实验性质。相关测试很少。功能已经冻结,不会加入新的功能。不严重的Bug根本不会去修复。NovaCellV1简介NovaCellV2简介
cellv2自Newton版本引入,Ocata版本变为必要组件。默认部署都会初始化一个单cell的架构。cellv2的架构图如下:api和cell有了明显的边界,全局数据和cell数据有一条清晰的界线。api层面只需要数据库,不需要MessageQueue。nova-api现在依赖nova_api和nova_cell0两个数据库。nova-scheduler服务只需要在api层面上安装cell不需要参数调度。通过placement服务,实现了一次调度就可以确定到具体在哪个cell的哪台机器上启动。cell里面只需要安装nova-compute和nova-conductor服务,和其依赖的DB和MQ。在cell的数据库里没有冗余数据,所有共享数据都在nova-api中。所有的cell变成一个扁平架构。比之前的多层父子架构要简化很多。数据库和消息队列作为nova的一等公民。NovaCellV2特点NovaCellV2计算节点自动发现nova-compute服务上线后,不会自动加到nova-api的host_mappings里面,也不会加到nova-scheduler的调度中,当添加新的计算节点到集群时,必须在管理节点运行nova-managecell_v2discover_hosts命令,以注册新的计算节点。#su-s/bin/sh-c"nova-managecell_v2discover_hosts--verbose"nova在小型一些的环境上,推荐打开自动发现功能。在/etc/nova/nova.conf文件中设置自动发现时间间隔:[scheduler]discover_hosts_in_cells_interval=300NovaCellV2流程当想要获取一个机器的详细信息时:nova-api先从instance_mappings表拿到instance的cell_id再从cell_mappings表拿到所在cell的DBconnection直接连接cell的DB拿到机器的详细信息4、nova创建虚拟机流程首先由nova-api受理请求,将创建虚拟机的请求
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年水路交通运输技能考试-船员基本安全培训考试历年参考题库含答案解析
- 2026年机械制造行业技能考试-金工考试历年参考题库含答案解析
- 2026年服务行业技能考试-美甲师历年参考题库含答案解析
- 2026年新疆住院医师-新疆住院医师口腔正畸科历年参考题库含答案解析
- 2025年广东省乐昌市高考历史检测卷及参考答案【考试直接用】
- 2026年湖北省宜都市高二历史下册期末考试测试卷【含答案】
- 2025年吉林省梅河口市高二生物上册期末考试考试卷附完整答案【历年真题】
- 2026 湖南 综合管理岗事业单位易错点巩固训练卷
- 2026下半年小学音乐教资面试乐理易错题试卷
- 初中历史教资面试人物题库及答案
- 渔光互补光伏项目施工方案设计
- 2026年高压电工证考试题库(答案及解析)
- 《储能用压缩空气泡沫灭火系统》
- 《DLT 2855-2024变电站无人机巡检系统》专题研究报告深度
- 2025年维谛技术笔试试题及答案
- 耳鼻喉嗓音训练
- DB1311∕T 059-2024 玻璃钢企业消防安全管理要求
- DB62-T 3167-2019 冲击弹性波法检测评定预应力孔道压浆密实度技术规程
- 国庆后复工安全培训课件
- 徕卡相机LEICA V-Lux 4 中文使用说明书
- 华兴数控WA-32XTA用户手册
评论
0/150
提交评论