Openstack基础知识

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Compute Node:
Nova-Compute Nova-Network KVM虚拟化系统
2种网络:
Internal Network(内部网络)
用于提供Provider网络(VM to Provider) 用于tenant网络(VM to VM)
External Network(外部网络)
块存储适合性能敏感性业务场景,例如数据库存储 大规模可扩 展的文件系统或服务器需要访问到块级裸设备存储.
18
Cinder的架构
19
Cinder架构解释
API Service:负责接受和处理 Rest 请求,并将请求放入 RabbitMQ对列。 Scheduler Service: 处理任务队列的任务,并根据预定策略选择合适的 Volume Service 节点来执行任务。目前版本的 Cinder 仅仅提供了一个 Simple Scheduler, 该调度器选择卷数量最少的一个活跃节点来创建卷。 Volume Service: 该服务运行在存储节点上,管理存储空间。每个存储节点都有一个 Volume Service,若干个这样的存储 节点联合起来可以构成一个存储资源池。为了支持不同类型和型号的存储,均通过Drivers的形式为Cinder的 Volume Service 提供相应的Cinder-Volume。 Cinder目前支持的存储类型 • 本地存储:LVM, Sheepdog • 网络存储:NFS, RBD(Ceph) • HP:3PAR (iSCSI/FC),LeftHand (iSCSI) • IBM: Storwize family/SVC (iSCSI/FC),XIV (iSCSI), GPFS,zVM • Netapp: NetApp(iSCSI/NFS) • EMC: VMAX/VNX (iSCSI),Isilon(iSCSI) • Solidfire: Solidfire cluster(iSCSI)
基于Django 框架实现
5
OpenStack主要逻辑模块–Horizon 两种功能界面
Horizon为以下两种角色的用户提供了不同的功能及使用界面: 云管理员: 提供一个整体视图,可以总览整个云的资源规模及运行状况.可以创建终端用户和 项目,想终端用户分配项目并进行项目可使用的资源配额管理。 终端用户(云用户): 提供了一个自助服务门户,可以在由云管理分配的项目中,在不超过配额限制的范 围内,自由的操作、使用和分配资源。
6
云管理员
云 用 户
OpenStack主要逻辑模块–Keystone身份验证服务
Keystone作为Openstack的核心模块,为Nova(计 算),Glance(镜像),Swift(对象存储),Cinder(块存 储),Neutron(网络)以及Horizon(Dashboard)提供 认证服务
VM

Nova为VM提供计算资源 Glance为VM提供镜像 Cinder为VM提供块存储资源 Neutron为VM提供网络资源及网络连接
Cinder连接VM后所产生的数据可以备份到Swift 对象存储中 Glance提供镜像可以保存在Switf对象存储中
2
OpenStack核心系统架构图
20
Cinder补充
Cinder主要核心是对卷的管理,允许对卷、卷的类型、卷的快照进行处理。它并没有实现对块设备的管理 和实际服务,而是为后端不同的存储结构提供了统一的接口,不同的块设备服务厂商在 Cinder 中实现其驱 动支持以与 OpenStack 进行整合。在CinderSupportMatrix中可以看到众多存储厂商如 HP、NetAPP、IBM、 SolidFire、EMC 和众多开源块存储系统对 Cinder 的支持。 Havana 版本中 Cinder 新增特性如下: Volume-Resize:在可用情况下调整卷大小。 Volume-Backup-To-Ceph:现在卷可以备份到 Ceph 集群中。 Volume-Migration:现在不同用户间可以透明地转移和交换卷。 QoS:增加限速相关的元信息供 Nova 和其 Hypervisor 使用。 More-Drivers:更多的存储厂商加入和完善了自己的 Cinder 驱动。
Nova支持的调度器和过滤器
•All HostFilter •ImagePropertiesFilter •ChanceScheduler随机调度器 •SimpleScheduler简单调度器 •FilterScheduler过滤调度器 •MultiScheduler多重调度器 •AvailabilityZoneFilter •ComputeFilter •CoreFilter
8
Keystone基本概念介绍之二
Endpoint
Endpoint,翻译为“端点”,我们可以理解它是一个服务暴露出来的访问点,如果需要访问一 个服务,则必须知道他的endpoint。因此,在keystone中包含一个endpoint模板,这个模板提供 了所有存在的服务endpoints信息。一个endpoint template包含一个URLs列表,列表中的每个 URL都对应一个服务实例的访问地址,并且具有public、private和admin这三种权限。public url 可以被全局访问(如http://compute.example.com),private url只能被局域网访问(如 http://compute.example.local),admin url被从常规的访问中分离。
Openstack基础知识介绍
OpenStack概念架构
Horizon(Dashboard) 与其他主要模块的关联(包 括Nova,Cinder,Glance,Swift,Neutron,keystone) 通过Ceilometer(监控功能)可以监控的模块 (包括Nova,Glance,Cinder,Neutron) Keystone(身份验证功能)模块可以对其他模块 进行相应操作进行身份及权限验证(包括 Nova,Glance,Cinder,Swift,Neutron,Ceilometer)
Role
Role即角色,Roles代表一组用户可以访问的资源权限,例如Nova中的虚拟机、Glance中的 镜像。Users可以被添加到任意一个全局的或租户的角色中。在全局的role中,用户的role权限作 用于所有的租户,即可以对所有的租户执行role规定的权限;在租户内的role中,用户仅能在当 前租户内执行role规定的权限。
7
Keystone基本概念介绍之一
User
User即用户,他们代表可以通过keystone进行访问的人或程序。Users通过认证信息 (credentials,如密码、API Keys等)进行验证。
Tenant
Tenant即租户,它是各个服务中的一些可以访问的资源集合。例如,在Nova中一个tenant可 以是一些机器,在Swift和Glance中一个tenant可以是一些镜像存储,在Neutron中一个tenant可 以是一些网络资源。Users默认的总是绑定到某些tenant上。
Token
Token是访问资源的钥匙。它是通过Keystone验证后的返回值,在之后的与其他服务交互中 只需要携带Token值即可。每个Token都有一个有效期,Token只在有效期内是有效的。
9
各种概念之间关系解释
1、租户下,管理着一堆用户(人,或程 序)。 2、每个用户都有自己的credentials(凭证) 用户名+密码或者用户名+API key,或其他 凭证。 3、用户在访问其他资源(计算、存储)之 前,需要用自己的credential去请求keystone 服务,获得验证信息(主要是Token信息) 和服务信息(服务目录和它们的endpoint)。 4、用户拿着Token信息,就可以去访问特 点的资源了。
10
Keystone在OpenStack中的访问流程范例
11
OpenStack主要逻辑模块- Nova
• • 计算管理(codenamed “Nova”) 基于用户需求为VM提供计算资源 管理. 基于Python语言编写。 Nova-API:对外统一提供标准化接口.接受和响应最终用户 Compute API的请求,同时还实现与Openstack其他各逻辑模块的 通讯与服务提供 Nova-Scheduler:从队列上得到一个虚拟机实例请求并且决定它应 该在哪里运行(使用多种过滤器或算法调度) Queue:提供了一个守护进程之间传递消息的中央枢纽。消息队 列系统作用还可以实现与Openstack其他各逻辑模块之间的通信 建立连接枢纽 Nova-Database:存储云基础设施的编译时和运行时的状态,从理论 上讲,OpenStack Nova可以支持任何SQL-Alchemy支持的数据 库,但是目前被广泛使用的数据库有sqlite3(只适用于测试和开 发工作),MySQL和PostgreSQL。 Nova-Compute:主要是一个人工守护进程,它可以通过虚拟机管 理程序的API(XenAPI for XenServer/XCP, libvirt for KVM or QEMU, VMwareAPI for VMware等)来创建和终止虚拟机实例。 支持多种虚拟化平台 Nova还提供控制台的服务,让最终用户通过代理服务器访问他 们的虚拟实例的控制台。这涉及到多个守护进程(nova-console, nova-novncproxy、nova-xvpnvncproxy和nova-consoleauth)



块设备卷完全与Openstack Compute集成,并支持云用户在 Dashboard中管理数据自己的存储.
除了支持简单的Linux服务器本地存储之外,还支持众多的存 储平台,包括 Ceph, NetApp, Nexenta, SolidFire, Zadara.


快照管理提供了强大的在块存储上实现数据备份的功能可以 用来作为引导卷使用
4
用于外部用户与VM通信及控制(VM to Internet)
OpenStack主要逻辑模块–Horizon Dashboard服务
在整个Openstack应用体系框架中,Horizon就是整个应用的入口。它提供了一个模块 化的,基于web的图形化界面服务门户。用户可以通过浏览器使用这个Web图形化界 面来访问、控制他们的计算、存储和网络资源,如启动实例、分配IP地址、设置访问 控制等。

Horizon Keystone Nova Glance Cinder Swift Neutron
3
OpenStack 最简物理架构
2个节点:
Cloud Controller Node:
பைடு நூலகம் Keystone(身份验证服务) Glance(镜像管理服务) Nova (计算资源管理服务) 数据库服务(MySQL) 消息服务(RabbitMQ或QPid)
• •



12
Nova的架构
13
Nova处理过程
14
请求一个虚拟机实例过程
15
Nova支持的虚拟化平台
KVM
Openstack 支持的 虚拟化技术
Xen
LXC
QEMU
16
vSphere
UML
http://docs.openstack.org/admin-guide-cloud/content/section_hypervisors.html
Service
Service即服务,如Nova、Glance、Swift。根据前三个概念(User,Tenant和Role)一个服 务可以确认当前用户是否具有访问其资源的权限。但是当一个user尝试着访问其租户内的service 时,他必须知道这个service是否存在以及如何访问这个service,这里通常使用一些不同的名称表 示不同的服务。
•IsolateHostFilter
•RamFilter •SimpleCIDRAffinityFilter •DifferentHostFilter
•SameHostFilter
17
OpenStack主要逻辑模块- 块存储Cinder
• • 块存储管理模块(codenamed “Cinder”) 提供到虚拟机的永久 性块存储卷.类似AWS的EBS块存储服务 多个卷可以被挂载到单一虚拟机实例,同时卷可以在虚拟机 实例间移动,单个卷在同一时刻只能被挂载到一个虚拟机实 例 块存储系统管理块设备到虚拟机的创建,挂载以及卸载.
相关文档
最新文档