云系列-OpenstackNova组件参数说明详细讲解_第1页
云系列-OpenstackNova组件参数说明详细讲解_第2页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-OpenstackNova组件参数说明详细讲解 、Nova概念计算服务是openstack最核的服务之,负责维护和管理云环境的计算资源它在openstack项中代号是nova,它提供计算服务,。所有的计算Hypervisor ()进交互实例(虚拟服务器)由Nova(启动、挂起、停、删除等)进命周期的调度管理,能与这些服务集成,实现如加密磁盘、裸属计算实例等。Novakeystone, glance, neutron, cinder swift等其他服务的持、Nova系统架构:,每个进程执不同的功能Nova 由多个服务器进程组成于。sql数据库DB:API:于、。HTTPnova组件HTTP请

2、求转换命令:于决定哪台计算节点。Schedulernova调度器、或。nova络组件Network:转发桥:。Compute nova计算组件:处理需要Conductor协调(构建虚拟机或调整虚拟机)的请求,或者处理对象转换三、Nova 组件详讲1.API 讲解API是客户,它由nova-api服务实现,。作为openstack对外服务的nova-apiapi请求最主要接,。nova-apiapi的端点API提供REST标准调服务,便于与第三系统集成。novanova-api.最终户不会直接改送RESTfulAPI请求,是通过openstack命令、dashbord和其他需要跟nova交换的组

3、件来使这些APINova-api都可以相应-2)-novaHTTP请求-3)-nova其他服务返回结果并返回给客户端Nova-api是外部访问并使nova提供的各种服务的唯途径,也是客户端和Nova之间的中间层2.Scheduler 讲解可译为,由nova-scheduler服务实现,主要解决的是如何选择在哪个计算节点上启动实例的问题。它可以应多种规则,如调度器果考虑内存使率、cpu负载率、cpu构架(intellamd)等多种因素,根据定的算法,确定虚拟机实例能够运在哪台计算服务器上。Nova-scheduler服务会从队列中接收个虚拟机实例的请求,通过读取数据库的内容,从可资源池中选择最合

4、适的计算节点来创建新的虚拟机实例。创建虚拟机实例时,户会提出资源需求,如cpu、内存、磁盘各需要多少。Openstack将这些需求定义在实例类型中,户只需指定使哪个实例类型就可以了(chance scheduler) :从所有正常运nova-compute服务的节点中随机选择。随机调度器(filtr scheduler) :根据指定的过滤条件以及权重选择最佳的计算节点。Filter称为筛选器过滤器调度器(caching scheduler):可看作随机调度器的种特殊类型,在随机调度的基础上将主机资源信息缓存在本地内存中,然后通过缓存调度器后台的定时任务定时从数据库中获取最新的主机资源信息。2个

5、阶段2.对过滤之后的主机列表进权重计算排序,选择最优的计算节点来创建虚拟机实例-/最优的节点当过滤调度器需要执调度操作时,会让过滤器对计算节点在/etc/nova/nova.cont配置件中,scheduler_available_filters选项于配置可过滤器,默认是所有nova带的过滤器都可以于过滤作Scheduler_available_filters =nova.scheduler.filters.all filters另外还有个选项scheduler-default filters于指定nova-scheduler服务真正使的过滤器,默认值如下Scheduler_default f

6、ilters =RetryFilters, AvailabilityZoneFilter, RamFilter,ComputeFilter, ComputeCapabilitiesFilter, ImagePropertiesFilter,ServerGroupAntiAffinityFilter. ServerGroupAffinityFilter过滤调度器将按照列表中的顺序依次过滤主要作是过滤掉之前已经调度过的节点。如A,B,C都通过了过滤,A权重最被选中执操作,由于某种原因,操作在A上失败了。Nova-filterE新执过滤操作,那么此时A就被会Retryfilter直接排除,以免再次失

7、败AvailabilityZoneFilter ()为提容灾性并提供隔弯服务,可以将计算节点划分到不同的可区域中Openstack默认有个命名为nova的可区域,所有的计算节点初始是放在nova区域中的。户可以根据需要创建的个可区域。创建实例时,需要指定将实例部署在哪个可区域中.Nova-scheduler执过滤操作时,会使AvailabilityZoneFilter不属于指定可区域计算节点过滤掉根据可CPU核来调度虚拟机创建,将不能满实例类型vCPU需求的计算节点过滤掉。VCPU也允许超量,超量值是通过修改cpu_allocation_ratio=16.0ComputeFilter()保证只

8、有nova-compute服务正常作的计算节点才能被nova-scheduler调度,它是必选的过滤器。ComputeCapablilitiesFilter ()根据计算节点的特性来过滤,如x86-64和ARM架构的不同节点,要将实例ImagePropertiesFilter()根据所选镜像的属性来筛选匹配的计算节点。通过元数据来指定其属性。如希望镜像只运在KVM的Hypervisor上,可以通过Hypervisor Type属性来指定。ServerGroupAntiAffinityFilter()openstack server group create-policy anti-affini

9、ty group-1创建三个实例,将它们放group-1服务器组openstack server create-flavor m1.tiny -image cirros -hint group=group-1 s1openstack server create-flavor m1.tiny -image cirros-hint group=group-1 s2openstack server create-flavor m1.tiny -image cirros -hint group=group-1 s3与反亲和性过滤器相反,此过滤器尽量将实例部署到同个计算节点上Scheduler-nova

10、-scheduler服务可以使多个过滤器依次进过滤,过滤之后的节点再通过计算权重选出能够部署实例的节点。所有权重位于nova/scheduler/weights录下。前默认实现是RAMweighter,根据,权重越,实例将被部署到当前空闲内存最多的计算节点上/usr/lib/python2.7/site-packages/usr/lib/python2.7/site-packages/nova/scheduler/weights3.Compute 讲解在计算节点上运,负责管理节点上的实例。通常个主机运个Nova-compute服务,个实例部署在哪个可的主Nova-compute机上取决于调度算

11、法。OpenStack对实例的操作,最后都是提交给Nova-compute来完成。/管理实例相关的作Nova-compute可分为两类,类是定向openstack报告计算节点的状态,另类是实现实例命周期的管理。schedulercelimetor openstack /openstack/运维员)定义统的接-2)-Hypervisor只需要实现这些接,就可以Driver的到OpenStack系统中形式即插即定期向OpenStack报告计算节点的状态-1)-每隔段时间,nova-compute就会报告当前计算节点的资源使情况和nova-compute服务状态-2)-nova-compute是通过

12、Hypervisor的驱动获取这些信息的。实现虚拟机实例命周期的管理OpenStacknova-compute实现的。创建、关闭、重启、挂起、恢复、中、调整、迁移、快照。(2)创建实例的镜像件。(3)XML定义件。(4)创建虚拟络并启动虚拟机。4.Conductor 讲解由模块实现,旨在为数据库的访问提供层安全保障。Nova-conductor作为pute服务与数据库之间交互的中nova-conductor,避免了直接访问由nova-compute服务创建对接数据库。介Nova-compute访问数据库的全部操作都改到nova-conductor中,且nova-conductornova-co

13、nductor作为对数据库操作的个代理是的。部署在控制节点上,nova-compute可以(RPC)nova-conductor.Nova-conductor有助于提数据库的访问性能在个规模的openstack部署环境,管理员可以nova-conductor的数量来应付益增长的计算节点对数据库的访问量。以前对资源的管理全部由计算节点承担,在统计资源使情况时,只是简单的将所有计算节点的资源情况累加起来,但是系统中还存在外部资源,这些资源由外部系统提供。如ceph,nfs等提供的存储资源等。对多种多样的资源提供者,管理员需要统的、简单的管理接来统.,PlacementAPIPlacementAPl

14、由nova-placement-api服务来实现,旨在追踪记录资源提供者的录和资源使情况。被消费的资源类型是按类进跟踪的。如计算节点类、共享存储池类、IP地址类等。四、虚拟机实例化流程户可以通过多种式访问虚拟机的控制台Nova-novncproxy守护进程:通过vnc连接访问正在运的实例提供个代理,持浏览器novnc客户端。Nova-spicehtml5proxy守护进程:通过spice连接访问正在运的实例提供个代理,持基于html5浏览器的客户端。Nova-xvpvncproxy守护进程:通过vnc连接访问正在运的实例提供个代理,持openstack专E的java客户端Nova-consol

15、eauth守护进程:负责对访问虚拟机控制台提供户令牌认证。这个服务必须与控制台代理程序共同使。控制台接先户(可以是OpenStack最终户,也可以是其他程序)Nova Client提供的于创建虚拟机的命令。nova-api服务监听到来于Nova Client的HTTP请求,并将这些消息之后加消息队列通过。nova-conductor服务。nova-conductor,进些准备作nova-conductor服务通过消息队列告诉nova-scheduler服务去选择个合适的计算节点来创建虚拟机,此时nova-scheduler会读取数据库的内。容nova-conductor服务从nova-sche

16、duler服务得到了合适的将计算节点的信息后,在nova-compute服务实现虚拟机的创。建五、Nova 部署架构Nova经典部署模式Nova负载均衡部署模式Cells 的架构当openstack nova集群的规模变时,数据库和消息队列服务就会出现瓶颈问题。Nova为提平扩展及分布式、规模的部署能,同时不增加数据库和消息中间件的复杂度,引了Cell概念。Cell可译为单元。为持更规模的部署,openstack较的nova集群分成的单元,每个单元都有的消息队列和数据库,可以解决规模增时引起的瓶颈问题。在Cell中,Keystone, Neutron, Cinder.Glance等资源是共享的

17、。cell(1)Messages的路由,即cell通过nova-cell将Messages路由到cell的AMQP(消息队列)模块。(2)分级调度功能,即调度某个instances的时候先要进cell的选择,前只持随机调度,后续会增加基于filter和weighing策略的调度。(3)资源统计,cell定时的将的资源信息上报给cell,来给分级调度策略提供决策数据和基于cell的资源监控。(4)cell之间的通信(通过rpc远程调完成)。cell cell从架构图看,cell0, , cell1. cell2 位于最上层的cell0,也就是api-cell, 下层的cell1与cell2则是平

18、对等的关系,他们之间交互,相互独,还可以继续增加cell3,cell4 。 上层的apicell主要包括了Nova API, Nova Scheduler, Nova Conductor 这3个 Nova 服务 ,同时在 APICell 中还需要 MQ 提供组件内的通信服务。APICell中的 DB 包含两个数据库,分别是 api数据库 和 cell数据库,api数据库保存了全局数据,如 flavor 信息。此外 api 数据库中还有部分表是于 placement 服务的; cell数据库则是于保存创建失败且还没有确定位于哪个 cell 的虚机数据,如当虚拟机调度失败时,该虚拟机数据就会被保存

19、到cell数据库中。也就是cell0数据库中。在每个 Cell 中,都有独使的数据库、消息队列和 Nova Conductor 服务,当前 Cell 中的所有计算节点,全部将数据发送到当前 Cell 中的消息队列,由 Nova Conductor 服务获取后,保存当前 Cell 的 Nova 数据库中。整个过程都不会涉及到 APICell 中的消息队列。因此通过对计算节点进 Cell 划分,可以有效降低 APICell 中消息队列和数据库的压。假如个 MQ 能持200个计算节点,则在划分 Cell 以后,每个 Cell 都可以持200个计算节点,有 N 个 Cell 就可以持 N X 200

20、个计算节点,因此可以极提升单个 OpenStack 的集群管理规模。六、Nova 元数据元数据作是通过向虚拟机实例注元数据信息,实例启动时获得的元数据,实例中的cloud-init具根据元数据完成个性化配置作。Openstack将cloud-init定制虚拟机实例配置时获取的元数据信息分成两类:元数据metadata)和户数据(user data)元数据指的是结构化数据,以键值对形式注实例,包括实例的些常属性,如主机名、络配置信息(IP地址和安全组)、SSH密钥等。户数据是结构化数据,通过件或脚本的式进注,持多种件格式,如gzip,shell, cloud-init配置件等,主要包括些命令、脚

21、本,如shell脚本。Openstack将元数据和户数据的配置信息注机制分为两种,种是配置驱动器机制,另种是元数据服务机制。七、openstack-Nova部署【组件部署位置】主IP部署服务机nova-api(nova主服务)nova-scheduler(nova调度服务)nova-conductor(nova数据库服务,提供数据库访问)nova-novncproxy(nova的vnc服务,提供实例的控制台)ct 5c1 6c2 7nova-compute(nova计算服务)nova-compute(nova计算服务)【控制节点服务配置】1.mysql -uroot -p密码CREATE DA

22、TABASE ;CREATE DATABASE ;CREATE DATABASE ;quit2.#创建nova户openstack user create -domain default -password NOVA_PASS nova#nova户添加到service项,拥有admin权限openstack role add -project service -user nova admin#创建nova服务openstack service create -name nova -description OpenStack Compute compute3.openstack endpoint

23、 create -region RegionOne compute public http:/ct:8774/v2.1openstack endpoint create -region RegionOne compute internal http:/ct:8774/v2.1openstack endpoint create -region RegionOne compute admin http:/ct:8774/v2.14.)yum -y install openstack-nova-api openstack-nova-conductor openstack-nova-novncprox

24、y openstack-nova-scheduler5.cp -a /etc/nova/nova.conf,.bak#nova.conf#修改为ct(内部)openstack-config -set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriveropenstack-config -set /etc/nova/nova.conf DEFAULT transport_url rabbit:/openstack:RABBIT_PASSctopenstack-config -set /e

25、tc/nova/nova.conf api_database connection mysql+pymysql:/nova:NOVA_DBPASSct/nova_apiopenstack-config -set /etc/nova/nova.conf database connection mysql+pymysql:/nova:NOVA_DBPASSct/novaopenstack-config -set /etc/nova/nova.conf placement_database connection mysql+pymysql:/placement:PLACEMENT_DBPASSct/

26、placementopenstack-config -set /etc/nova/nova.conf api auth_strategy keystoneopenstack-config -set /etc/nova/nova.conf placement username placementopenstack-config -set /etc/nova/nova.conf placement password PLACEMENT_PASScat /etc/nova/nova.confDEFAULTenabled_apis =osapi_compute,metadata #指定持的api类型m

27、y_ip =5 #定义本地IPuse_neutron =true #通过neutron获取地址firewall_driver =nova.virt.firewall.NoopFirewallDrivertransport_url =rabbit:/openstack:RABBIT_PASSct #指定连接的rabbitmqapiauth_strategy =keystone #指定使keystone认证api_databaseconnection =mysql+pymysql:/nova:NOVA_DBPASSct/nova_apicinderhealthcheckhypervkey_mana

28、gerkeystone#配置keystone的认证信息auth_url =http:/ct:5000/v3 #到此url去认证#memcache数据库地址:端neutronnotificationsosapi_v21oslo_concurrency#指定锁路径#锁的作是创建虚拟机时,在执某个操作的时候,需要等此步骤执完后才能执下个步骤,不能并执,保证操作是oslo_policypciplacementpowervmprivsepprofilerquotardp#此处如果配置不正确,则连接不上虚拟机的控制台#指定vnc的监听地址workaroundswsgiconnection =mysql+p

29、ymysql:/placement:PLACEMENT_DBPASSct/placement6. #初始化nova_api数据库su -s /bin/sh -c nova-manage api_db sync nova7.cell0#注册cell0数据库;nova服务内部把资源划分到不同的cell中,把计算节点划分到不同的cell中;openstack内部基于cell把计算节点进逻辑上的分组su -s /bin/sh -c nova-manage cell_v2 map_cell0 novasu -s /bin/sh -c nova-manage cell_v2 create_cell -na

30、me=cell1 -verbose nova#初始化nova/var/log/nova/nova-manage.log 志判断是否初始化成功su -s /bin/sh -c nova-manage db sync nova#可使以下命令验证cell0cell1是否注册成功su -s /bin/sh -c nova-manage cell_v2 list_cells nova #验证cell0cell1组件是否注册成功8.systemctl enable openstack-nova-api.service openstack-nova-scheduler.service openstack-n

31、ova-conductor.service openstack-nova-novncproxy.servicesystemctl start openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service stat -tnlup|egrep 8774|8775curl http:/ct:8774【计算节点配置服务节点】1. #安装nova-compute组件yum -y install openstack-nova-compute#修改配置件c1c2地址)openstack

32、-config -set /etc/nova/nova.conf placement user_domain_name Defaultopenstack-config -set /etc/nova/nova.conf placement auth_url http:/ct:5000/v3openstack-config -set /etc/nova/nova.conf placement username placementopenstack-config -set /etc/nova/nova.conf placement password PLACEMENT_PASSopenstack-config -set /etc/nova/nova.conf libvirt virt_type qemucat nova.confDEFAULTuse_ne

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论