OpenStack云计算实战-第7章课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《OpenStack云计算实战-第7章课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OpenStack 计算 实战 课件
- 资源描述:
-
1、OpenStack云计算实战大数据创新人才培养系列第7章 人民邮电出版社OpenStack计算服务OpenStack计算服务基础Nova部署架构Nova的元数据工作机制使用和管理计算服务手动安装和部署Nova7.1 OpenStack计算服务基础lNova是OpenStack中的计算服务项目,计算实例生命周期的所有活动都由Nova管理。lNova支持创建虚拟机和裸金属服务器(通过使用Ironic),并且有限支持系统容器。lNova需要下列OpenStack其他服务的支持。KeystoneGlanceNeutronCinder和Swift什么是Nova7.1 OpenStack计算服务基础Nov
2、a系统架构7.1 OpenStack计算服务基础lAPI是客户(Client)访问Nova的HTTP接口。l它由nova-api服务实现。nova-api服务接收和响应来自最终用户的计算API请求。lnova-api提供了一个集中的可以查询所有API的端点。l它作为整个Nova组件的门户,所有对Nova的请求都首先由nova-api处理。lnova-api对接收到的HTTP API请求会做如下处理:API组件(nova-api服务)(1)检查客户端传入的参数是否合法有效。(2)调用Nova其他服务的处理客户端HTTP请求。(3)格式化Nova其他子服务返回的结果并返回给客户端。7.1 Open
3、Stack计算服务基础lNova调度器类型随机调度器(Chance Scheduler)过滤器调度器(Filter Scheduler)缓存调度器(Caching Scheduler)l过滤器调度器调度过程Scheduler组件7.1 OpenStack计算服务基础l过滤器(Filter)RetryFilter(再审过滤器)AvailabilityZoneFilter(可用区域过滤器)RamFilter(内存过滤器)DiskFilter(磁盘过滤器)CoreFilter(核心过滤器)ComputeFilter(计算过滤器)ComputeCapabilitiesFilter(计算能力过滤器)Im
4、agePropertiesFilter(镜像属性过滤器)ServerGroupAntiAffinityFilter(服务器组反亲和性过滤器)ServerGroupAffinityFilter(服务器组亲和性过滤器)Scheduler组件7.1 OpenStack计算服务基础l权重(Weight)nova-scheduler服务可以使用多个过滤器依次进行过滤,过滤之后的节点再通过计算权重选出最适合的能够部署实例的节点。所有的权重实现模块位于nova/scheduler/weights目录。目前nova-scheduler的默认实现是RAMWeighter,根据计算节点空闲的内存量计算权重值,空闲
5、内存越多,权重越大,实例将被部署到当前空闲内存最多的计算节点上。Scheduler组件7.1 OpenStack计算服务基础l通过Driver(驱动)架构支持多种Hypervisor虚拟机管理器面对多种Hypervisor,nova-compute为这些Hypervisor定义统一的接口.Hypervisor只需要实现这些接口,就可以Driver的形式即插即用到OpenStack系统中Compute组件7.1 OpenStack计算服务基础l定期向OpenStack报告计算节点的状态每隔一段时间,nova-compute就会报告当前计算节点的资源使用情况和nova-compute服务状态。no
6、va-compute是通过Hypervisor的驱动获取这些信息的。l实现虚拟机实例生命周期的管理OpenStack对虚拟机实例最主要的操作都是通过nova-compute实现的。以实例创建为例来说明nova-compute的实现过程。Compute组件(1)为实例准备资源。(2)创建实例的镜像文件。(3)创建实例的XML定义文件。(4)创建虚拟网络并启动虚拟机。7.1 OpenStack计算服务基础lConductor组件由nova-conductor模块实现,旨在为数据库的访问提供一层安全保障。lnova-compute需要获取和更新数据库中虚拟机实例的信息。lnova-conductor
7、可以解决这些问题,将nova-compute访问数据库的全部操作都改到nova-conductor中,nova-conductor作为对此数据库操作的一个代理,而且nova-conductor是部署在控制节点上的。lnova-conductor也有助于提供数据库访问的性能,nova-compute可以创建多个线程使用RPC(远程过程调用)访问nova-conductor。lnova-conductor将nova-compute与数据库分离之后提高了Nova的伸缩性。Conductor组件7.1 OpenStack计算服务基础lOpenStack从Newton版本开始引入Placement AP
8、I,由nova-placement-api服务来实现,旨在追踪记录资源提供者(resources provider)的目录和资源使用情况。l被消费的资源类型是按类跟踪的。nova-placement-api服务提供一套标准的资源类(如DISK_GB、MEMORY_MB和VCPU),也支持按需自定义的资源类。Placement API组件7.1 OpenStack计算服务基础lnova-novncproxy守护进程lnova-spicehtml5proxy守护进程lnova-xvpvncproxy守护进程lnova-consoleauth守护进程控制台接口7.1 OpenStack计算服务基础虚
9、拟机实例化流程(1)首先用户(可以是OpenStack最终用户,也可以是其他程序)执行Nova Client提供的用于创建虚拟机的命令。(2)nova-api服务监听到来自于Nova Client的HTTP请求,并将这些请求转换为AMQP消息之后加入消息队列。(3)通过消息队列调用nova-conductor服务。(4)nova-conductor服务从消息队列中接收到虚拟机实例化请求消息后,进行一些准备工作。(5)nova-conductor服务通过消息队列告诉nova-scheduler服务去选择一个合适的计算节点来创建虚拟机,此时nova-scheduler会读取数据库的内容。(6)no
10、va-conductor服务从nova-scheduler服务得到了合适的将计算节点的信息后,在通过消息队列来通知nova-compute服务实现虚拟机的创建。OpenStack计算服务基础Nova部署架构Nova的元数据工作机制使用和管理计算服务手动安装和部署Nova7.2 Nova部署架构Nova物理部署Nova经典部署模式Nova负载均衡部署模式7.2 Nova部署架构lCells V2的架构Nova的Cell架构7.2 Nova部署架构lAPI节点上的数据库nova_api数据库中存放全局信息,这些全局数据表是从nova库迁过来的,如flavor(实例模型)、instance grou
11、ps(实例组)、quota(配额)。nova_cell0数据库的模式与nova一样,主要用途就是当实例调度失败时,实例的信息不属于任何一个Cell,因而存放到nova_cell0数据库中。Nova的Cell架构7.2 Nova部署架构lCell部署单Cell部署Nova的Cell架构7.2 Nova部署架构lCell部署多Cell部署Nova的Cell架构7.2 Nova部署架构lCell管理主要使用nova-manage cell_v2命令来管理。下列命令用于查看Cell:nova-manage cell_v2 list_cells -verbose添加Cell的命令:nova-manage
12、 cell_v2 create_cell -verbose -name cell1 -database_connection mysql+pymysql:/nova:magine198910.1.1.56/nova_cell1 -transport-url rabbit:/guest:guest10.1.1.56:5672/ 发现主机:nova-manage cell_v2 discover_hostsNova的Cell架构OpenStack计算服务基础Nova部署架构Nova的元数据工作机制使用和管理计算服务手动安装和部署Nova7.3 Nova的元数据工作机制lOpenStack的实例是基
13、于镜像部署的,镜像中包含了操作系统、最常用的软件(如SSH)以及最通用的配置(如网卡设置)。lOpenStack将cloud-init定制虚拟机实例配置时获取的元数据信息元数据(metadata)用户数据(user data)机制lOpenStack将元数据和用户数据的配置信息注入机制配置驱动器(config drive)机制元数据服务(metadata service)机制元数据及其注入7.3 Nova的元数据工作机制lSSH密钥注入实现过程元数据及其注入(1)OpenStack创建一个SSH密钥对,将其中的公钥(public key)存放在OpenStack数据库中,而将私钥(privat
14、e key)提供给用户(可下载)。(2)创建一个实例时选择该SSH密钥对,完成实例创建之后,cloud-init将其中的公钥写入到实例,一般会保存到.ssh/authorized_keys目录中。(3)用户可以用该SSH密钥对的私钥直接登录该实例。7.3 Nova的元数据工作机制l实现机制OpenStack将元数据信息写入实例的一个特殊的配置设备中,然后在实例启动时,自动挂载该设备,并由cloud-init读取其中的元数据信息,从而实现配置信息注入。配置驱动器的具体实现会根据Hypervisor的不同和配置有所不同。l应用场合如果实例无法通过DHCP正确获取网络信息时,则使用配置驱动器就非常必
15、要。配置驱动器主要用于配置实例的网络信息,包括IP、子网掩码、网关等。l对计算主机和镜像的要求使用配置驱动器对计算主机和镜像有一定的要求。配置驱动器7.3 Nova的元数据工作机制l启用和访问配置驱动器要启用配置驱动器,将-config-drive true参数传入到openstack server create命令。可以在/etc/nova/nova.conf配置文件中设置以下选项,来设置计算服务在创建实例时默认使用配置驱动器机制。配置驱动器openstack server create -config-drive true -image my-image-name -flavor 1 -k
16、ey-name mykey -user-data ./my-user-data.txt -file /etc/network/interfaces=/home/myuser/instance-interfaces -file known_hosts=/home/myuser/.ssh/known_hosts -property role=webservers -property essential=false MYINSTANCEforce_config_drive=true7.3 Nova的元数据工作机制l配置驱动器格式配置驱动器默认格式是ISO 9660文件系统。可在/etc/nova/n
17、ova.conf文件中明确定义。默认情况下不能将配置驱动器镜像作为一个CDROM来替换磁盘驱动器。为添加CDROM,可以在/etc/nova/nova.conf文件中定义。配置驱动器config_drive_format=iso9660config_drive_cdrom=true7.3 Nova的元数据工作机制l元数据服务的基本架构元数据服务7.3 Nova的元数据工作机制l虚拟机实例获取元数据的大致流程元数据服务(1)实例通过项目网络将元数据请求发送到neutron-ns-metadata-proxy,此时会在请求中添加router-id和network-id。(2)neutron-ns-
18、metadata-proxy通过unix domain socket将请求发送给neutron-metadata-agent。此时根据请求中的router-id、network-id和IP,获取端口信息,从而获得instance-id和project-id(tenant-id)并加入到请求中。(3)neutron-metadata-agent通过内部管理网络将请求转发给nova-api-metadata。此时利用instance-id和project-id(tenant-id)获取实例的元数据。(4)将获取的元数据原路返回给发出请求的实例。7.3 Nova的元数据工作机制l计算节点为虚拟机实例
19、使用元数据服务来获取指定实例的数据。l元数据和用户数据都可以由实例访问。只有当-user-data选项和包含用户内容的文件被传入到openstack server create命令,或者在图形界面通过配置驱动器注入用户数据时,才会出现像user_data这样的用户数据文件,不过user_data不是JSON格式。虚拟机实例访问元数据服务OpenStack计算服务基础Nova部署架构Nova的元数据工作机制使用和管理计算服务手动安装和部署Nova7.4 使用和管理计算服务lHorizon(Dashboard):OpenStack项目的Web图形界面。lOpenStack客户端(openstack
20、):OpenStack项目的命令行。lNova客户端(nova):对于Nova的一些高级特性或管理命令,需要使用该工具。创建和管理服务器(虚拟机实例)的工具7.4 使用和管理计算服务l在创建实例之前需要确定以下基本要素源:源是用来创建实例的模板。实例类型:也就是实例规格,定义实例可使用的CPU、内存和存储容量等硬件资源。密钥对:密钥对允许用户使用SSH访问新创建的实例。安全组:通过访问规则定义防火墙策略,控制实例的网络通信。虚拟网络:在云中为实例提供通信通道,可以是提供者网络和私有网络。l生成一个SSH密钥对l添加安全组规则部署虚拟机实例的前提ssh-keygen -q -N openstac
展开阅读全文