openstack入门.ppt
openstack入门,课程整体介绍,理论 利于排错实践,该如何学习openstack,1.看书2.实践3.爱好4.尽量不要走极端5.日志6.配置文件,云计算openstack的理解,云计算是一种通过网络以服务的方式提供动态可伸缩的虚拟化的资源的计算模式。,云计算openstack的理解,云计算拥有以下特点:虚拟化和自动化服务器,存储介质,网络等资源都可以随时替换所有的资源都由云端统一管理高度的伸缩性以满足业务需求,Openstack用途,搭建云平台openstack是一个搭建云平台的一个解决方案,Openstack发展历史,Openstack在2010年正式发布它的第一个版本Austin版本命名:ABCDEFGHIJ网络组件nova network-Quantum(F版)-Neutron,Openstack主要组成,Compute(代号为“Nova”):提供计算和简单的网络服务Identity(代号为“Keystone”):提供认证服务Dashboard(代号为“Horizon”):提供web管理接口Image Service(代号为“Glance”):提供镜像管理服务Network(代号为“Neutron”):提供网络服务Object Storage(代号为“Swift”):提供对象存储服务Block Storage(代号为“Cinder”):提供块存储服务,Openstack概念架构,Cinder连接VM后所产生的数据可以备份到Swift对象存储中Glance提供镜像可以保存在Switf对象存储中,Nova为VM提供计算资源Glance为VM提供镜像Cinder为VM提供块存储资源Neutron为VM提供网络资源及网络连接,Keystone(身份验证功能)模块可以对其他模块进行相应操作进行身份及权限验证(包括Nova,Glance,Cinder,Swift,Neutron,Ceilometer),通过Ceilometer(监控功能)可以监控的模块(包括Nova,Glance,Cinder,Neutron),OpenStackKeystone身份验证服务,Keystone作为Openstack的核心模块,为Nova(计算),Glance(镜像),Swift(对象存储),Cinder(块存储),Neutron(网络)以及Horizon(Dashboard)提供认证服务,Keystone简介:基本概念,UserUser即用户,他们代表可以通过keystone进行访问的人或程序。TelentTenant即租户,它是各个服务中的一些可以访问的资源的容器。RoleRole即角色,Roles代表一组用户可以访问的资源权限,Keystone简介:基本概念,Service Service即服务,如Nova、Glance、Swift。功能:服务提供一个或多个endpoint,让用户能够对资源访问和执行操作Endpoint Endpoint,翻译为“端点”,我们可以理解它是一个服务暴露出来的访问点,如果需要访问一个服务,则必须知道他的endpoint。因此,在keystone中包含一个endpoint模板,这个模板提供了所有存在的服务endpoints信息。一个endpoint template包含一个URLs列表,列表中的每个URL都对应一个服务实例的访问地址,并且具有public、private和admin这三种权限。public url可以被全局访问(如),private url只能被局域网访问(如),admin url被从常规的访问中分离。,Keystone简介:基本概念,Token Token是访问资源的钥匙。它是通过Keystone验证后的返回值,在之后的与其他服务交互中只需要携带Token值即可。每个Token都有一个有效期,Token只在有效期内是有效的。,Keystone简介:基本概念,Keystone在OpenStack中的访问流程范例,Keystone在OpenStack中的简化流程,Keystone CLI与排错,Keystone 管理keystone相关服务,最常用命令Keystone-all 用于验证的,面向管理员 和用户的API 例如启动keystonekeystone-manage 管理keystone的命令行接口,用于管理与keystone相连接的数据库 同步数据库 keystone-manage db_sync,OpenStackGlance镜像服务,什么是Glance?镜像服务组件,Glance-API:接收最终用户或Nova对镜像的请求,检索和存储镜像的相关API调用。Glance-registry:存储,处理和检索有关镜像的元数据,元数据大小、类型等等。Database:存储镜像元数据,可以支持多种数据库,现在使用比较广泛的是mysql和sqlite.,OpenStackGlance与其它组件关系,OpenStackGlance镜像支持格式,raw 非结构化的镜像格式vhd 一种通用的虚拟机磁盘格式,可用于Vmware、Xen、Microsoft Virtual PC/Virtual Server/Hyper-V、VirtualBox等。vmdk Vmware的虚拟机磁盘格式,同样也支持多种Hypervisorvdi VirtualBox、QEMU等支持的虚拟机磁盘格式iso 光盘存档格式qcow2 一种支持QEMU并且可以动态扩展的磁盘格式aki Amazon Kernel 镜像ari Amazon Ramdisk 镜像ami Amazon 虚拟机镜像,OpenStack镜像容器格式,ovf 开放式虚拟机磁盘格式,由Vmware发起,目前已被多种虚拟化设备支持bare 这表示镜像没有container或者元数据aki Amazon Kernel 镜像ari Amazon Ramdisk 镜像ami Amazon 虚拟机镜像,OpenStack镜像状态,Queued:镜像ID已经被保留,镜像还没有上传 Saving:镜像正在被上传 Active:镜像可以使用了 Killed:镜像损坏或者不可用Deleted:镜像被删除,OpenStackNova,什么是nova 这个是最核心的,Nova最开始的时候,可以说是一套虚拟化管理程序,还可以管理网络(nova-network)和存储(nova-volume)等,OpenStackNova组件,Nova组件 Nova-API:对外统一提供标准化接口.接受和响应最终用户Compute API的请求,同时还实现与Openstack其他各逻辑模块的通讯与服务提供Nova-Scheduler:选择合适的物理机Queue:消息队列系统作用还可以实现与Openstack其他各逻辑模块之间的通信建立连接枢纽Nova-Database:存储云基础设施的编译时和运行时的状态,从理论上讲,OpenStack Nova可以支持任何SQL-Alchemy支持的数据库,但是目前被广泛使用的数据库有sqlite3(只适用于测试和开发工作),MySQL和PostgreSQL。Nova-Compute:实例的启动和关闭Nova还提供控制台的服务,让最终用户通过代理服务器访问他们的虚拟实例的控制台。这涉及到多个守护进程(nova-console,nova-novncproxy、nova-xvpnvncproxy和nova-consoleauth),OpenStackNova架构,Nova架构,OpenStackNova进程分布,控制节点Nova-apiNova-scheduleNova-conductornova-consoleauthnova-novncproxynova-cert,OpenStackNova进程分布,控制节点:Nova-apiNova-scheduleNova-conductornova-consoleauthnova-novncproxynova-certnova-consoleauth:用来做认证,vnc proxy连接到nova-consoleauth来验证token,OpenStackNova进程分布,计算节点Nova-compute:实例生命周期的管理客户端Nova-client:nova api发请求Nova-manage:整个nova管理,查看租户、账户、角色等更详细信息:,OpenStackNeutron概念,Neutron为什么难以理解 网络不在是实实在在的网线、路由等,都是通过命令来实现的Neutron是什么openstack的网络组件Neutron能干什么 Neutron:管理虚拟环境下的网络,OpenStackNeutron基础网络概念,什么是L2,L3交换机、路由器、DHCP什么是iptables什么是Dnsmasq混杂模式(Promiscuous Mode)什么是网络叠加模式,OpenStackNeutron基础网络概念,什么是网络叠加模式什么是VLAN什么是VXLAN什么是GRE什么是Tap/Tun.什么是网桥,OpenStackNeutron基础网络概念,什么是namespace什么是Open vSwitch详细内容:,OpenStackHorizon Dashboard服务,在整个Openstack应用体系框架中,Horizon就是整个应用的入口。它提供了一个模块化的,基于web的图形化界面服务门户。用户可以通过浏览器使用这个Web图形化界面来访问、控制他们的计算、存储和网络资源,如启动实例、分配IP地址、设置访问控制等。,OpenStackHorizon Dashboard服务,Horizon为以下两种角色的用户提供了不同的功能及使用界面:云管理员:提供一个整体视图,可以总览整个云的资源规模及运行状况.可以创建终端用户和项目,向终端用户分配项目并进行项目可使用的资源配额管理。终端用户(云用户):提供了一个自助服务门户,可以在由云管理分配的项目中,在不超过配额限制的范围内,自由的操作、使用和分配资源。,OpenStackHorizon Dashboard服务,管理员:,OpenStackHorizon Dashboard服务,云终端用户,OpenStack块存储Cinder架构,OpenStack块存储Cinder,Cinder支持的存储类型本地存储:LVM,Sheepdog网络存储:NFS,RBD(Ceph)HP:3PAR(iSCSI/FC),LeftHand(iSCSI)IBM:Storwize family/SVC(iSCSI/FC),XIV(iSCSI),GPFS,zVMNetapp:NetApp(iSCSI/NFS)EMC:VMAX/VNX(iSCSI),Isilon(iSCSI)Solidfire:Solidfire cluster(iSCSI)等,OpenStack块存储Cinder解析,API Service 负责接受和处理 Rest 请求,并将请求放入RabbitMQ对列Scheduler Service 处理任务队列的任务,并根据预定策略选择合适的 Volume Service 节点来执行任务。目前版本的 Cinder仅仅提供了一个 Simple Scheduler,该调度器选择卷数量最少的一个活跃节点来创建卷。块设备到虚拟机的创建,挂载以及卸载Volume Service 该服务运行在存储节点上,管理存储空间。每个存储节点都有一个 Volume Service,若干个这样的存储节点联合起来可以构成一个存储资源池。为了支持不同类型和型号的存储,均通过Drivers的形式为Cinder的 Volume Service 提供相应的Cinder-Volume,OpenStack对象存储swift,什么是swift对象存储的组件,是开源的,用来创建可扩展的、冗余的、对象存储(引擎)。swift 看起来更像是一个长期的存储系统(long term storage system),为了获得、调用、更新一些静态的永久性的数据。比如说,适合存储一些类型的数据:虚拟机镜像,图片存储,邮件存储,文档的备份。没有“单点”或者主控结点(master point of control),swift看起来具有更强的扩展性、冗余和持久性。Swift应用场景 swift使用标准化的服务器存储 PB 级可用数据。但它并不是文件系统(file system),实时的数据存储系统(real-timedata storage system)。,OpenStack对象存储swift组件,Proxy ServerProxy Server是提供Swift API的服务器进程,负责Swift其余组件间的相互通信。对于每个客户端的请求,它将在Ring中查询Account、Container或Object的位置,并且相应地转发请求。Storage Server提供了磁盘设备上的存储服务。在Swift中有三类存储服务器:Account、Container和Object。其中Container服务器负责处理Object的列表,Container服务器并不知道对象存放位置,只知道指定Container里存的哪些Object。这些Object信息以sqlite数据库文件的形式存储。Container服务器也做一些跟踪统计,例如Object的总数、Container的使用情况。Consistency Servers在磁盘上存储数据并向外提供Rest-ful API并不是难以解决的问题,最主要的问题在于故障处理。,OpenStack对象存储swift组件,RingRing是Swift最重要的组件,用于记录存储对象与物理位置间的映射关系。在涉及查询Account、Container、Object信息时,就需要查询集群的Ring信息。,OpenStack对象存储数据模型,Swift 采用层次数据模型共设三层逻辑结构:Account/Container/Object(即账户/容器/对象),每层节点数均没有限制,可以任意扩展。Account对应租户,用于隔离Container对应某个租户数据的存储区域Object对应存储区域中具体的block,OpenStack对象存储swift特性,极高的数据持久性各个存储的节点完全对等,是对称的系统架构。因为是对称的系统架构,扩容的时候只需简单的增加机器,扩展性很好。不存在单节点故障,前面提到因为各个节点完全对等,没有所谓的“主从”结构。,OpenStack对象存储swift,OpenStack对象存储swift,OpenStack对象存储swift,Swift在openstack的作用,