openstack核心组件有哪些,什么是OpenStack?
openstack核心组件有哪些,什么是OpenStack?详细介绍
本文目录一览: 不属于openstack的组件
??
IChen.
关注
OpenStack 的主要组件 原创
2020-12-29 15:13:21
?
IChen. ?
码龄3年
关注
一 .三大核心组件
?
Nova:computer
Neutron:Networking
Swift:Storage
二 .Openstack Computer(Nova)?
1 Nova是云计算环境的主要控制器,主要采用Python语言编写。
2 使用目前成熟的虚拟化技术(KVM、XenServer)来管理和自动化计算资源池的操作。
3 OpenStack只是作为一个平台存在,并不充当计算资源的提供者和资源的消费者。
三 .Openstack object Storage(Swift)
1 Swift是OpenStack的对象存储(object Storage)项目,是一个可扩展并且提供了冗余的存储系统。
2 对象和文件分散存储在同一个集群中的多台服务器的磁盘上,由OpenStack负责数据的复制和一致性。
3 对象存储系统是用于存储大量静态数据的分布式存储系统,没有主节点或者管理节点,便于系统的扩展和数据的冗余和持久化。
4 存储的集群可以通过添加服务器完成横向的扩展。
5 如果集群中服务器或者磁盘出现失败情况,Openstack会复制数据到集群中的其他节点。
openstack.创建实例的工作流程,分析各个组件间是如何协同工作的?
OpenStack创建实例的工作流程涉及多个组件,包括 Nova、Neutron、Glance等。以下是OpenStack创建实例的工作流程以及各个组件的协同工作方式:
1.用户使用Horizon或API创建实例请求。
2.Horizon或API将实例请求发送给Nova API。
3.Nova API将实例请求发送给Nova Scheduler,Nova Scheduler选择一个合适的计算节点创建实例。
4.Nova Scheduler通过RPC调用Nova Compute来创建实例。
5.Nova Compute创建实例并将实例状态更新到Nova数据库。
6.Nova Compute通过RPC调用Neutron来创建实例的网络。
7.Neutron创建实例的网络并将网络状态更新到Neutron数据库。
8.Nova Compute使用Glance API来下载实例镜像。
9.Glance API从镜像仓库中下载实例镜像并将镜像缓存到Glance Image Cache中。
10.Nova Compute使用Qemu/KVM等虚拟化技术来启动实例,并将实例状态更新到Nova数据库。
11.实例启动后,Nova Compute将实例的元数据信息发送给Nova Metadata Service。
12.Nova Metadata Service将实例的元数据信息发送给Nova API。
13.Nova API将实例的元数据信息发送给Horizon或API,用户可以通过Horizon或API访问实例的元数据信息。
在整个过程中,各个组件的协同工作是通过OpenStack中的消息队列系统RabbitMQ来实现的。当一个组件需要与另一个组件通信时,它会将消息发送到RabbitMQ中,另一个组件则会从RabbitMQ中接收消息并进行处理。通过消息队列的方式,各个组件之间可以实现异步通信,从而提高系统的可靠性和稳定性。
总的来说,OpenStack创建实例的工作流程涉及多个组件的协同工作,通过消息队列系统实现各个组件之间的通信和协作,从而实现实例的创建、网络的配置、镜像的下载等操作
Horizon(OpenStack组件Horizon)详细资料大全
Horizon使用的是Django应用程式为用户和管理员提供一个管理OpenStack服务的接口。
基本介绍 中文名 :控制台 外文名 :Horizon 简介,Horizon View 6.0中的RDSH farm,Horizon的RDSH farm,发布Horizon的RDSH桌面, 简介 1、Horizon通常通过Apache中的mod_uwgis搭建。代码分为可重复使用的python模组(和不同的OpenStack API进行互动)和展示模组,在二次开发中可以使用nginx配合uwsgi等方式进行搭建。 2、资料库服务,因为这主要用来存放其他服务的数据,存放自己的数据很少。 3、Horizon个性化定制,提供与各组件的每一个服务公用API通信的功能。 Horizon View 6.0中的RDSH farm Horizon View 6.0可以让管理员使用HorizonRDSH farm发布虚拟桌面。那么Horizon在RDSH farm是如是什么?如何实现的? VMware Horizon 6.0的View 在IT使用HorizonRDSH的方式上带来了一些重大变化。 新功能之一就是Horizon的RDSH farm,员工可以从桌面池中访问它们的Horizon的RDSH桌面。建立一个RDSH farm,然后发布一个桌面。 在Horizon 6.0之前的View版本中,IT可以创建一个终端服务池,聚集多个Horizon的RDSH伺服器,为用户组交付桌面。每个Horizon的RDSH伺服器承载多个用户桌面,所以Horizon的终端服务池始终都是浮动的。 在旧版Horizon的View中,Horizon的RDSH看起来像第二选择,因为它不支持PCoIP,但是在Horizon 6.0之后View版本中,Horizon的RDSH桌面是可以使用PCoIP。 Horizon的RDSH farm Horizon的RDSH farm iew中的一个组成部分,其实是创建一组相同的HorizonRDSH伺服器,将它们视为一个运行桌面和Horizon应用程式的资源池。 在资源池中的Horizon的RDSH伺服器都有着相同的配置,所以Horizon可以相互交替。让Horizon保持一致的最简单的方法就是从同一个模板结合子作业系统自定义来部署所有的Horizon的RDSH伺服器。 在模板中不要安装Horizon的View Agent。正常情况下,来宾自定义会触发Horizon的Agent重新注册connection伺服器,但是,最重要的是模板应该保持注册connection伺服器时的虚拟机名字。 可以使用自定义规范来设定一个RunOnce值,来开启Horizon的Agent静默安装。例如: VMware-viewagent-y.y.y-xxxxxx.exe /s /v"/qn VDM_VC_MANAGED_AGENT=0 VDM_SERVER_NAME=MyView.lab.local" 在VDM_SERVER_NAME后面替换为自己的connection server,一定要确保虚拟机设定为自动登录。然后,使用有许可权的域账户将Horizon的Agent添加到Horizon的View中,或者在Horizon的Agent安装命令行中写入用户名和密码。 一旦Horizon的RDSH伺服器创建完,就可以在Horizon的View中添加场。在标识和设定页面,可以设定一些通用属性套用到一个桌面池上。在场上设定的授权组和一些显示协定可以套用到场中的所有池上。 Horizon还有一些其他属性,比如会话逾时等,Horizon这些主要是套用到应用程式池,应用程式池就是用户从Horizon的View client端启动应用程式而不是一个完整的桌面。 一个用户启动一个应用程式,就会与单个Horizon的RDSH伺服器建立一个会话,由于Horizon的登录脚本、用户配置档案、和组策略对象(GPO)都会在第一个应用程式启动时被处理,所以后续再启动其他应用程式速度会明显加快。Horizon的逾时控制可以自动注销会话。当用户关闭Horizon所有应用程式时,会话将会变为空闲状体。如果当会话是打开状态时用户启动其他Horizon应用程式,只需要打开新的应用程式即可。 另一方面,Horizon在会话注销前用户配置档案不会卸载;在会话关闭前,Horizon主机只使用极少的资源。如果用户注销之前的会话,那么Horizon再启动新的应用程式时,登录脚本,用户配置档案、和GPO将会再次执行。 Horizon空闲会话逾时和Horizon注销下线的会话持续的时间越长,用户在启动Horizon新套用时就会越快。如果时间设定的越短,那么Horizon的RDSH伺服器的负载就会越少,Horizon配置档案就会被快速删除。正确的Horizon平衡取决于环境。在用户学习使用Horizon的RDSH应用程式池的过程中,管理员可能需要做出一些调整。 一旦设定了会话逾时,从Connection Servers已注册的主机列表中选择主机,任意一个主机都可以是唯一的Horizon的RDSH场的成员。 发布Horizon的RDSH桌面 创建Horizon的RDSH桌面池和创建其他桌面池一样,在桌面池类型中选择HorizonRDS桌面池。 因为Horizon的RDSH主机已经都部署完成,而且可以通过Horizon的RDSH场来控制远程显示协定,所以Horizon桌面池的设定相对较少。管理员可以控制flash频宽,也可以使用标签来限制对池中服务。
OpenStack有哪些核心组件?
keystone(身份服务模块),其作用是:认证管理服务、提供了其余所有组件的认证信息/令牌的管理、创建、修改等等。
Nova(计算服务组件),其作用是:计算资源的管理,实例生命周期的管理(虚拟机),对外提供Restful API通信。
Glance(镜像服务组件),其作用是:提供虚拟机镜像的存储,查询和检索功能,为nova进行服务,依赖于存储服务(存储镜像本身)和数据库服务(存储镜像相关的数据)。
Swift(对象存储服务模块)其作用是:提供高可用分布式对象存储服务,特点是无限和扩展没有单点故障。
Cinder(块存储服务模块)其作用:管理所有块存储设备,为虚拟机提供存储服务。
Neutorn(网络服务组件)其作用:为云计算提供虚拟的网络功能,为每个不同的租户建立独立的网路环境。
Ceilometer(监控服务组件)其作用是:为上层的计费、结算或者监控应用提供统一的资源使用数据收集功能。
可以简单看下下面的框架图
OpenStack中的Web UI组件叫
horizon
Horizon 为 Openstack 提供一个 WEB 前端的管理界面 (UI 服务 )通过 Horizone 所提供的 DashBoard 服务 , 管理员可以使用通过 WEB UI 对 Openstack 整体云环境进行管理 , 并可直观看到各种操作结果与运行状态。
拓展资料:
1.Horizon(UI模块)
页面调用api(两种用户云管理员,云用户)
2.keystone(身份服务模块)
1)用户身份认证(Idemity)
user:用户(租户下有很多用户,验证方式用户名密码,API keys等)
kenant:租户(可以访问资源的集合)
role:角色 (一组用户可以访问资源的权限)
2)访问请求控制(Token)
Service(nova,glance,swift等服务需要在keystone上注册)
Endpoint(service暴露出来的访问地址)
Token(访问资源的令牌,具有时效性)
3)注册表服务(Catalog)
openstack服务需要注册到keystone注册表中
4)身份验证引擎(Policy)
决定用户有哪些访问控制权限
易购环境的集成(Key Value Store,MemcachedSQL,PAM,LDAP)
3.Nova(计算服务组件)
openstack核心组件,核心服务包括:实例生命周期的管理(虚拟机),计算资源的管理,对外提供Restful API。
Nova组件主要有三个模块构成(nova-api,nova-scheduler,nova-compute),
nova-api在表示层主要负责处理外部请求,nova-scheduler在逻辑控制层,主要负责选择那个主机创建VM,nova-compute虚拟机创建和资源分配,不提供虚拟化功能,但是支持kvm,LXC,xen等。
三个组件通过rabbit MQ进行消息传递。
4.Glance(镜像服务组件)
主要功能:提供虚拟机镜像的存储,查询和检索功能,为nova进行服务,依赖于存储服务(存储镜像本身)和数据库服务(存储镜像相关的数据)。
5.Swift(对象存储服务模块)
openstack核心组件,主要功能:高可用分布式对象存储服务,特点是无限和扩展没有单点故障。
account-->container-->Object 某个账户下的某个容器的某个对象,可以通过HTTP(S),Object API,S3进行存取。
6.Cinder(块存储服务模块)
主要功能:管理所有块存储设备,为VM服务。
cinder-api处理发送过来的请求,处理结果发送到rabbit MQ,通过消息中间件把所有请求发送到cinder-scheduler,通过调度器决定存储到哪里,并且创建VM,cinder-volume管理存储模块的生命周期
7.Neutorn(网络服务组件)
主要功能:为云计算提供虚拟的网络功能,为每个不同的租户建立独立的网路环境。
三种不同的网络模式(Flat模式 Flat DHCP模式,Vlan模式)
什么是OpenStack?
所谓OpenStack其实就是一个开源计算机管理平台,可控制整个数据中心的大型计算、储存以及网络资源,它支持所有类型的云环境,包括关键组件、可以覆盖网络。虚拟化等系统操作,OpenStack-powered分布技术来实现灵活地配置资源,方便用户在任何时间增加服务器的CPU和内存等资源,并且不需重启服务器。
所谓OpenStack,其实是一种云操作系统,可控制整个数据中心的大型计算、存储和网络资源池,所有这些都通过一个仪表盘进行管理,该仪表盘可让管理员进行控制,同时使用户能够通过Web界面调配资源。
OpenStack逻辑架构介绍了OpenStack原生架构的组件(全局组件、核心组件和外部组件),组件之间通过API(前提是将请求交于keystone进行身份验证,是否有权限进行通讯)进行点到点的通讯。单个项目内部有很多子功能模块,他们通过AMQP消息代理(RabbitMQ)进行交互,服务的状态存储在数据库中。
OpenStack包括若干个称为OpenStack服务的独立组件。所有服务均可通过一个公共身份服务进行身份验证。除了那些需要管理权限的命令,每个服务之间均可通过公共API进行交互。
OpenStack 是一个开源云平台,主要由私有云供应商和提供公共云服务的商业公司使用,这些公共云服务将 OpenStack 作为其基础架构的一部分进行部署。埃科锐的私有云搭建允许企业和应用程序所有者将基础设施作为服务使用,而无需考虑安装服务器、存储和网络的复杂性∞
OpenStack 起源于Rackspace Hosting 和 NASA 的联合项目,它是一个流行的云平台,有超过 740 个组织与开源平台相关联。 它广泛用于提供私有云服务的数据中心。 此外,OpenStack 安装支持基础架构即服务 (IaaS) 模型,例如我们在 Accrets.com 上的 OpenStack IaaS 解决方案提供了一种新的模型∞
openstack.org 网站指出,OpenStack“控制着整个数据中心的大型计算、存储和网络资源池; 所有这些都通过具有通用身份验证机制的 API 进行管理和配置。” OpenStack 还为系统管理员提供了基于 Web 的仪表板、命令行工具和 RESTful API 来管理这些资源。它允许用户通过 Web 界面配置资源。埃科锐国际通过搭建OpenStack云平台对计算、网络、存储和控制服务等进行管理进而加速和优化企业的云之旅∞
?
本文详细介绍了Openstack的网络原理和实现,主要内容包括:Neutron的网络架构及网络模型还有neutron虚拟化的实现和对二三层网桥的理解。
一、Neutron概述
Neutron是一个用Python写的分布式软件项目,用来实现OpenStack中的虚拟网络服务,实现软件定义网络。Neutron北向有自己的REST API,中间有自己的业务逻辑层,有自己的DB和进程之间通讯的消息机制。同时Neutron常见的进程包括Neutron-server和Neutron-agent,分布式部署在不同的操作系统。
OpenStack发展至今,已经经历了20个版本。虽然版本一直在更替,发展的项目也越来越多,但是Neutron作为OpenStack三大核心之一,它的地位是不会动摇的。只不过当初的Neutron也只是Nova项目的一个模块而已,到F版本正式从中剥离,成为一个正式的项目。
从Nova-Network起步,经过Quantum,多年的积累Neutron在网络各个方面都取得了长足的发展。其主要的功能为:
(1)支持多租户隔离
(2)支持多种网络类型同时使用
(3)支持隧道技术(VXLAN、GRE)
(4)支持路由转发、SNAT、DNAT技术
(5)支持Floating IP和安全组
多平面租户私有网络
图中同时有VXLAN和VLAN两种网络,两种网络之间互相隔离。租户A和B各自独占一个网络,并且通过自己的路由器连接到了外部网络。路由器为租户的每个虚拟机提供了Float IP,完成vm和外网之间的互相访问。
二、Neutron架构及网络模型
1、Neutron架构
Neutron-sever可以理解为类似于nova-api那样的一个专门用来接收API调用的组件,负责将不同的api发送到不同Neutron plugin。
Neutron-plugin可以理解为不同网络功能实现的入口,接收server发来的API,向database完成一些注册信息。然后将具体要执行的业务操作和参数通知给对应的agent来执行。
Agent就是plugin在设备上的代理,接受相应的plugin通知的业务操作和参数,并转换为具体的命令行操作。
总得来说,server负责交互接收请求,plugin操作数据库,agent负责具体的网络创建。
2、Neutron架构之Neutron-Server
(1)Neutron-server的本质是一个Python Web Server Gateway Interface(WSGI),是一个Web框架。
(2)Neutron-server接收两种请求:
REST API请求:接收REST API请求,并将REST API分发到对应的Plugin(L3RouterPlugin)。
RPC请求:接收Plugin agent请求,分发到对应的Plugin(NeutronL3agent)。
3、Neutron架构之Neutron-Plugin
Neutron-plugin分为Core-plugin和Service-plugin。
Core-plugin:ML2负责管理二层网络,ML2主要包括Network、Subnet、Port三类核心资源,对三类资源进行操作的REST API是原生支持的。
Service-plugin:实现L3-L7网络,包括Router、Firewall、VPN。
4、Neutron架构之Neutron-Agent
(1)Neutron-agent配置的业务对象是部署在每一个网络节点或者计算节点的网元。
(2)网元区分为PNF和VNF:
PNF:物理网络功能,指传统的路由器、交换机等硬件设备
VNF:虚拟网络功能,通过软件实现的网络功能(二层交换、三层路由等)
(3)Neutron-agent三层架构如下图:
Neutron-agent架构分为三层,北向为Neutron-server提供RPC接口,供Neutron server调用,南向通过CLI协议栈对Neutron VNF进行配置。在中间会进行两种模型的转换,从RPC模型转换为CLI模型。
5、Neutron架构之通信原理
(1)Neutron是OpenStack的核心组件,官网给出Neutron的定义是NaaS。
(2)Naas有两层含义:
对外接口:Neutron为Network等网络资源提供了RESTful API、CLI、GUI等模型。
内部实现:利用Linux原生或者开源的虚拟网络功能,加上硬件网络,构建网络。
Neutron接收到API请求后,交由模块WSGI进行初步的处理,然后这个模块通过Python API调用neutron的Plugin。Plugin做了相应的处理后,通过RPC调用Neutron的Agent组件,agent再通过某种协议对虚拟网络功能进行配置。其中承载RPC通信的是AMQP server,在部署中常用的开源软件就是RabbitMQ
6、Neutron架构之控制节点网络模型
控制节点没有实现具体的网络功能,它对各种虚拟设备做管理配合的工作。
(1)Neutron:Neutron-server核心组件。
(2)API/CLI:Neutron进程通过API/CLI接口接收请求。
(3)OVS Agent:Neutron通过RPC协议与agent通信。
控制节点部署着各种服务和Neutron-server,Neutron-server通过api/cli接口接收请求信息,通过RPC和Agent进行交互。Agent再调用ovs/linuxbridge等网络设备创建网络。
7、Neutron架构之计算节点网络模型
(1)qbr:Linux Bridge网桥
(2)br-int:OVS网桥
(3)br-tun:OVS隧道网桥
(4)VXLAN封装:网络类型的转变
8、Neutron架构之网络节点网络模型
网络节点部署了Router、DHCP Server服务,网桥连接物理网卡。
(1)Router:路由转发
(2)DHCP: 提供DNS、DHCP等服务。
(3)br-ex: 连接物理网口,连接外网
三、Neutron虚拟化实现功能及设备介绍
1、Neutron虚拟化实现功能
Neutron提供的网络虚拟化能力包括:
(1)二层到七层网络的虚拟化:L2(virtual Switch)、L3(virtual Router 和 LB)、L47(virtual Firewall )等
(2)网络连通性:二层网络和三层网络
(3)租户隔离性
(4)网络安全性
(5)网络拓展性
(6)REST API
(7)更高级的服务,包括 LBaaS,FWaaS,VPNaaS 等
2、Neutron虚拟化功能之二层网络
(1)按照用户权限创建网络:
Provider network:管理员创建,映射租户网络到物理网络
Tenant network:租户创建的普通网络
External network:物理网络
(2)按照网络类型:
Flat network:所有租户网络在一个网络中
Local network:只允许在服务器内通信,不通外网
VLAN network:基于物理VLAN实现的虚拟网络
VXLAN network:基于VXLAN实现的虚拟网络
3、Neutron虚拟化实现功能之租户隔离
Neutron是一个支持多租户的系统,所以租户隔离是Neutron必须要支持的特性。
(1)租户隔离三种含义:管理面隔离、数据面的隔离、故障面的隔离。
(2)不同层次租户网络的隔离性
租户与租户之间三层隔离
同一租户不同网络之间二层隔离
同一租户同一网络不同子网二层隔离
(3)计算节点的 br-int 上,Neutron 为每个虚机连接 OVS 的 access port 分配了内部的 VLAN Tag。这种 Tag 限制了网络流量只能在 Tenant Network 之内。
(4)计算节点的 br-tun 上,Neutron 将内部的 VLAN Tag 转化为 VXLAN Tunnel ID,然后转发到网络节点。
(5)网络节点的 br-tun 上,Neutron 将 VXLAN Tunnel ID 转发了一一对应的 内部 VLAN Tag,使得 网络流被不同的服务处理。
(6)网络节点的 br-int 上连接的 DHCP 和 L3 agent 使用 Linux Network Namespace 进行隔离。
4、Neutron虚拟化实现功能之租户网络安全
除了租户隔离以外 Neutron还提供数据网络与外部网络的隔离性。
(1)默认情况下,所有虚拟机通过外网的流量全部走网络节点的L3 agent。在这里,内部的固定IP被转化为外部的浮动IP地址
(1)Neutron还利用Linux iptables特性,实现其Security Group特性,从而保证访问虚机的安全性
(3)Neutron利用网络控制节点上的Network Namespace中的iptables,实现了进出租户网络的网络防火墙,从而保证了进出租户网络的安全性。
5、Neutron虚拟化设备
(1)端口:Port代表虚拟网络交换机上的一个虚拟交换机端口
虚拟机的网卡连接到Port上就会拥有MAC地址和IP地址
(2)虚拟交换机:Neutron默认采用开源的Openvswitch,
同时还支持Linux Bridge
(3)虚拟路由器VR:
路由功能一个VR只属于一个租户,租户可以有多个VR一个VR可以有若干个子网VR之间采用Namespace隔离
四、Neutron网桥及二三层网络理解
1、Neutron-Local-Bridge
仅用于测试;网桥没有与物理网卡相连VM不通外网。
图中创建了两个local network,分别有其对应的qbr网桥。Vm123的虚拟网卡通过tap连接到qbr网桥上。其中2和3属于同一个network可以通信,1属于另一个网络不能和23进行通信。并且qbr网桥不连物理网卡,所以说local网络虚拟机只能同网络通信,不能连通外网。
2、Neutron-Flat-Bridge
Linux Bridge直接与物联网卡相连每个Flat独占一个物理网卡配置文件添加响应mapping
Flat网络是在local网络的基础上实现不同宿主机之间的二层互联,但是每个flat network都会占用一个宿主机的物理接口。其中qbr1对应的flatnetwork 连接 eth1 qbr2,两个网络的虚机在物理二层可以互联。其它跟local network类似。
3、Neutron-VLAN-Bridge
在基于linux bridge的vlan网络中,eht1物理网卡上创建了两个vlan接口,1.1连接到qbr1网桥,1.2连接到了qbr2网桥。在这种情况下vm通过eth1.1或者eth1.2发送到eth1的包会被打上各自的vlan id。此时vm2和vm3属于同一个network所以是互通的,vm与vm2和vm3不通。
4、Neutron-VXLAN-Bridge
这个是以Linux bridge作agent的Vxlan网络:
Vxlan网络比Vxlan网络多了个VXLAN隧道,在Openstack中创建好内部网络和实例后,agent就会在计算节点和网络节点创建一对vxlan vtep.组成隧道的两个端点。
Vxlan连接在eth0网口。在网络节点多了两个组件dhcp 和router,他们分别通过一对veth与qbr网桥连接在一起,多个dhcp和路由之间使用namesapce隔离,当vm产生ping包时,发往linux 网桥qbr1,通过网桥在vxlan12上封装数据包,数据通过eth0网卡出计算节点到网络节点的eth0,在vxlan12解包。到达路由器之后经过nat地址转换,从eth1出去访问外网,由租户网络到运营商网络再到外部网络。
5、Neutron-VLAN-OVS
与Linux bridge不同,openvswitch 不是通过eth1.1 eth1.2这样的vlan接口来隔离不同的vlan,而是通过openvswitch的流表规则来指定如何对进出br-int的数据进行转发,实现不同vlan的隔离。
图中计算节点的所有虚拟机都连接在int网桥上,虚拟机分为两个网络。Int网桥会对到来的数据包根据network的不同打上vlan id号,然后转发到eth网桥,eth网桥直连物理网络。这时候流量就从计算节点到了网络节点。
网络节点的ehx int网桥的功能相似,多了一个ex网桥,这个网桥是管理提前创建好的,和物理网卡相连,ex网桥和int网桥之间通过一对patch-port相连,虚拟机的流量到达int网桥后经过路由到ex网桥。
6、Neutron-VXLAN-OVS
Vxlan的模型和vlan的模型十分相似,从表面上来看,他俩相比只有一个不同,vlan对应的是ethx网桥,而vxlan对应的是tun网桥。
在这里ethx和tun都是ovs网桥,所以说两者的差别不是实现组件的差别而是组件所执行功能的差别,ethx执行的是普通二层交换机的功能,tun执行的是vxlan中的vtep的功能,图中俩tun对应的接口ip就是vxlan的隧道终结点ip。所以说虚机的数据包在到达tun网桥之前是打的是vlan tag,而到达tun之后会发生网络类型的转换,从vlan封装为vxlan然后到达网络节点。而之前的vlan类型的网络,虚机数据包的类型一直都是vlan。
7、物理的二层与虚拟的二层(VLAN模式)
(1)物理的二层指的是:物理网络是二层网络,基于以太网协议的广播方式进行通信。
(2)虚拟的二层指的是:Neutron实现的虚拟网络也是二层网络(openstack的vm机所用的网络必须是大二层),也是基于以太网协议的广播方式进行通信,但毫无疑问的是该虚拟网络是依赖于物理的二层网络。
(3)物理二层+虚拟二层的典型代表:VLAN网络模式。
8、物理的三层与虚拟的二层(GRE模式与VXLAN模式)
(1)物理三层指的是:物理网络是三层网络,基于IP路由的方式进行通信。
(2)虚拟的二层指的是:Neutron实现的虚拟网络仍然是二层网络(openstack的vm机所用的网络必须是大二层),仍然是基于以太网的广播方式进行通信,但毫无疑问的是该虚拟机网络是依赖于物理的三层网络,这点有点类似于VPN的概念,根本原理就是将私网的包封装起来,最终打上隧道的ip地址传输。
(3)物理三层+虚拟二层的典型代表:GRE模式与VXLAN模式。
OpenStack详细资料大全
OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软体和开放原始码项目。
OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。
OpenStack是一个旨在为公共及私有云的建设与管理提供软体的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人都将OpenStack作为基础设施即服务(IaaS)资源的通用前端。OpenStack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。本文希望通过提供必要的指导信息,帮助大家利用OpenStack前端来设定及管理自己的公共云或私有云。
OpenStack云计算平台,帮助服务商和企业内部实现类似于 Amazon EC2 和 S3 的云基础架构服务(Infrastructure as a Service, IaaS)。OpenStack 包含两个主要模组:Nova 和 Swift,前者是 NASA 开发的虚拟伺服器部署和业务计算模组;后者是 Rackspace开发的分散式云存储模组,两者可以一起用,也可以分开单独用。OpenStack除了有 Rackspace 和 NASA 的大力支持外,还有包括 Dell、Citrix、 Cisco、 Canonical等重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云平台 Eucalyptus 的态势。
基本介绍 中文名 :OpenStack云计算管理平台 外文名 :OpenStack 开发者 :NASA,Rackspace 程式语言 :Python 遵循标准 :Open 、AMQP、SQLAlchemy 运用范围,厂商支援,技术资料,项目,核心项目,社区项目,市场趋向,大型用户,内容详解,构建私有云,服务中心,概述,系统构成,服务内容,服务体验,服务价值,成员企业, 运用范围 OpenStack是IaaS(基础设施即服务)组件,让任何人都可以自行建立和提供 云端运算 服务。 此外,OpenStack也用作建立 防火墙 内的“ 私有云 ”(Private Cloud),提供机构或企业内各部门共享资源。 厂商支援 美国国家航空航天局的Nebula运算平台。 美国国家航空航天局的Nebula运算平台。 现时已表示支持OpenStack项目的大型硬体厂商包括:IBM、AMD、Intel和戴尔等。 微软在2010年10月表示支持OpenStack与Windows Server 2008 R2的整合。 2011年2月,思科系统正式加入OpenStack项目,重点研制OpenStack的网路服务。 Ubuntu未来在堆叠方面的云网路化方案。 2012年4月,IBM宣布加入OpenStack项目,并作为主要赞助商。 2012年10月,Viacloud互联云平台加入OpenStack项目,研制OpenStack公有云平台和私有云平台。 IBM在2013年举行的 IBM Pulse大会宣布将基于OpenStack提供私有云服务以及相关套用。 技术资料 以Python程式语言编写 整合Tornado 网页伺服器、Nebula运算平台 使用Twisted软体框架 遵循Open Virtualization Format、AMQP、SQLAlchemy等标准 虚拟机器软体支持包括:KVM、Xen、VirtualBox、QEMU、 LXC 等。 项目 核心项目 OpenStack覆盖了网路、虚拟化、作业系统、伺服器等各个方面。它是一个正在开发中的云计算平台项目,根据成熟及重要程度的不同,被分解成核心项目、孵化项目,以及支持项目和相关项目。每个项目都有自己的委员会和项目技术主管,而且每个项目都不是一成不变的,孵化项目可以根据发展的成熟度和重要性,转变为核心项目。截止到Icehouse版本,下面列出了10个核心项目(即OpenStack服务)。 计算(Compute):Nova。一套控制器,用于为单个用户或使用群组管理虚拟机实例的整个生命周期,根据用户需求来提供虚拟服务。负责虚拟机创建、开机、关机、挂起、暂停、调整、迁移、重启、销毁等操作,配置CPU、记忆体等信息规格。自Austin版本集成到项目中。 对象存储(Object Storage):Swift。一套用于在大规模可扩展系统中通过内置冗余及高容错机制实现对象存储的系统,允许进行存储或者检索档案。可为Glance提供镜像存储,为Cinder提供卷备份服务。自Austin版本集成到项目中 镜像服务(Image Service):Glance。一套虚拟机镜像查找及检索系统,支持多种虚拟机镜像格式(AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD、VMDK),有创建上传镜像、删除镜像、编辑镜像基本信息的功能。自Bexar版本集成到项目中。 身份服务(Identity Service):Keystone。为OpenStack其他服务提供身份验证、服务规则和服务令牌的功能,管理Domains、Projects、Users、Groups、Roles。自Essex版本集成到项目中。 网路&地址管理(Neork):Neutron。提供云计算的网路虚拟化技术,为OpenStack其他服务提供网路连线服务。为用户提供接口,可以定义Neork、Sub、Router,配置DHCP、DNS、负载均衡、L3服务,网路支持GRE、VLAN。外挂程式架构支持许多主流的网路厂家和技术,如OpenvSwitch。自Folsom版本集成到项目中。 块存储 (Block Storage):Cinder。为运行实例提供稳定的数据块存储服务,它的外挂程式驱动架构有利于块设备的创建和管理,如创建卷、删除卷,在实例上挂载和卸载卷。自Folsom版本集成到项目中。 UI 界面 (Dashboard):Horizon。OpenStack中各种服务的Web管理门户,用于简化用户对服务的操作,例如:启动实例、分配IP位址、配置访问控制等。自Essex版本集成到项目中。 测量 (Metering):Ceilometer。像一个漏斗一样,能把OpenStack内部发生的几乎所有的事件都收集起来,然后为计费和监控以及其它服务提供数据支撑。自Havana版本集成到项目中。 部署编排 (Orchestration):Heat。提供了一种通过模板定义的协同部署方式,实现云基础设施软体运行环境(计算、存储和网路资源)的自动化部署。自Havana版本集成到项目中。 资料库服务(Database Service):Trove。为用户在OpenStack的环境提供可扩展和可靠的关系和非关系资料库引擎服务。自Icehouse版本集成到项目中。 社区项目 (14个) 负载均衡:Atlas-LB(Rackspace) 讯息伫列:Burrow(Piston) 云管理工具:Clanavi(Drupal) 自动部署:Crowbar(Dell) 服务部署:Juju(Ubuntu) 关系型资料库:RedDwarf(Rackspace) ... 市场趋向 Rackspace以OpenStack为基础的私有云业务每年营收7亿美元,增长率超过了20%。 OpenStack虽然有些方面还不太成熟,然而它有全球大量的组织支持,大量的开发人员参与,发展迅速。国际上已经有很多使用OpenStack搭建的公有云、私有云、混合云,例如:RackspaceCloud、惠普云、MercadoLibre的IT基础设施云、AT&T的CloudArchitec、戴尔的OpenStack解决方案等等。而在国内OpenStack的热度也在逐渐升温,华胜天成、高德地图、京东、阿里巴巴、百度、中兴、华为等都对OpenStack产生了浓厚的兴趣并参与其中。自2010年创立以来,已发布10个版本。其中Icehouse版本有120个组织、1202名代码贡献者参与,而最新的是Juno版本。OpenStack很可能在未来的基础设施即服务(IaaS)资源管理方面占据领导位置,成为公有云、私有云及混合云管理的“云作业系统”标准 大型用户 美国国家航空航天局 加拿大半官方机构CANARIE网路的DAIR(Digital Aelerator for Innovation and Research)项目,向大学与中小型企业提供研究和开发云端运算环境;DAIR用户可以按需要快速建立网路拓扑。 惠普云(使用Ubuntu Linux) MercadoLibre的IT基础设施云,现时以OpenStack管理超过6000 台虚拟机器。 AT&T的“Cloud Architect”,将在美国的达拉斯、圣地亚哥和新泽西州对外提供云端服务。 内容详解 创建虚拟机(VM)需要各种服务的互动和配合工作。下图展示了OpenStack典型环境架构,各个服务之间的互动和职能。 OpenStack典型环境架构 OpenStack因Open而开放,因组件而灵活,因包容而博大。有计算、网路、对象存储、块存储、身份、镜像服务、门户、测量、部署编排、资料库服务等等组件,有的组件可以根据需要选择安装,组网结构也很灵活、多样。实现了支持接入多种主流虚拟机软体:KVM、LXC、QEMU、Hyper-V、VMware、XenServer,也可以自行开发外挂程式接入其他的虚拟化软体。 OpenStack Compute (Nova)是一套控制器,用于为单个用户或使用群组启动虚拟机实例。它同样能够用于为包含着多个实例的特定项目设定网路。OpenStack Compute在公共云处理方面堪与Amazon EC2相提并论;而在私有云方面也毫不逊色于VMware的产品。在公共云中,这套管理机制将提供预制的镜像或是为用户创建的镜像提供存储机制,这样用户就能够将镜像以虚拟机的形式启动。 OpenStack 对象存储(Swift)是一套用于在大规模可扩展系统中通过内置冗余及容错机制实现对象存储的系统。这些对象能够通过一个REST API或是像Cyberduck这样可以对接对象存储API的客户端加以恢复。 OpenStack镜像服务 (Glance)是一套虚拟机镜像查找及检索系统。它能够以三种形式加以配置:利用OpenStack对象存储机制来存储镜像;利用Amazon的简单存储解决方案(简称S3)直接存储信息;或者将S3存储与对象存储结合起来,作为S3访问的连线器。OpenStack镜像服务支持多种虚拟机镜像格式,包括VMware(VMDK)、Amazon镜像(AKI、ARI、AMI)以及VirtualBox所支持的各种磁碟格式。镜像元数据的容器格式包括Amazon的AKI、ARI以及AMI信息,标准OVF格式以及二进制大型数据。 OpenStack的开发周期是每年固定发布两个新版本,并且每一个新版软体发布时,开发者与项目技术领导者已经在规划下一个版本的细节。这些开发者来自全球70多个组织,超过1600人。他们采用高级的工具与开发方式,进行代码查看、持续的集成、测试与开发架构,让版本在快速成长的同时也能确保稳定性。 构建私有云 第一步是设定正确的硬体和网路环境。尽管OpenStack允许在一个单一的平面网路上部署一切,从安全的角度来看并不安全。取决于你所使用的管理程式以及虚拟网路接口,它会允许guest虚拟机嗅探管理流量。建议至少使用两个网路:一个用来管理流量,一个用来进行虚拟机之间的对话。这意味着所有的云计算结点中你需要两个网卡(一个运行实例)和网路管理者。这些应该运行在不同的IP范围中。计算结点和实例的网路也需要支持VLAN标记,因为这是在“项目”之间隔绝流量所使用的机制。一个项目等价于你的亚马逊EC2账户,除了你不能按照你所希望的数目创建和分配之外。每一个项目都有自己的管理员和用户,在既定项目中的所有实例可以彼此通信。通过指派每一个项目自己的VLAN以及内部和外部的IP位址池来执行。 一旦硬体和网路设定好,下一步就是确定在哪里部署所有的OpenStack组件。标准部署应有一个控制器和一系列计算结点。控制器运行讯息伺服器,资料库和其他的组件来编排云,同时计算结点运行实例。但是你也可以分解控制器为地理的部分,从而改善性能,像把MySQL放在不同的物理盒中。对于安全而言,最关键的是确保每一部分都安装在安全的主机上,你只需要将其附加在网路上,让云运转即可。 只有两部分需要暴露给外面的世界(即使那只是你的企业网路):API伺服器/Web 控制台(如果开启)和网路管理者。这些伺服器需要过硬,你甚至可以使用第三方网路接口来隔离后端管理用户连线产生的流量。 如果你遵循默认安装说明书,可能这些部分并不如他们应该的那样安全。下面是一些具体的改变: * MySQL伺服器使用指定的用户账户,不是根MySQL管理账户。这个账户和密码将会暴露在每一个云结点上,即使使用基于证书的认证,因此所有结点需要访问这个资料库伺服器。 * MySQL配置档案中,限制访问伺服器,OpenStack用户账户为唯一授权IP位址。 * 移除任何不需要的OS组件并确保你所设定的伺服器只支持通过SSH的基于密钥的登入。 * 默认MySQL和RabbitMQ(讯息伺服器)流量不加密。如果你隔离了管理网路和坚固的主机,这就不应该是一个很糟糕的风险。如果你的云网路易于嗅探(例如,它和其他伺服器共享网路),你需要加密流量。你可以使用OpenSSL来进行MySQL 和RabbitMQ处理。(我个人还没进行测试,因此配置可能有点难。) 下一步,记住如果支持Web管理控制台,默认不适用SSL。 服务中心 中国OpenStack服务中心 概述 2013年6月18日在南京召开了“中国云计算产业促进大会暨中国OpenStack服务中心发布会”,华胜天成在会上正式宣布推出中国首家OpenStack服务中心。OpenStack是全球开发者共同参与的一个开源项目,旨在实现“云作业系统”,即一个具有部署和管理公有云、私有云以及混合云基础架构能力的平台。 1、建设并运营中国第一也可能是唯一的Openstack支持中心。 2、为Openstack的研究者,开发者和使用者提供丰富的线上及现场专业支持服务和咨询服务,消除客户使用开源软体的后顾之忧。 3、提高国内云计算从业人员数量和素质,普及开源软体精神与技术。 4、打破云计算建设的垄断,大大降低云计算平台建设与运营成本,推动并保障国内云计算平台建设蓬勃发展。 系统构成 800电话支持中心(100坐席) Web线上支持平台(100坐席) 服务电子销售平台 知识库 CRM系统 专业咨询团队(10人) 专业现场技术支持团队(50人) 专业客户化开发团队(100人) 专业运维管理团队(300人) 全球实验室级支持团队(2个国际顶级核心代码实验室) 服务内容 提供完善的L1,L2以及L3实验室级别线上与现场服务 24*7电话咨询/支持服务,Web线上咨询服务/支持服务 版本发布与升级服务 测试服务 现场安装,升级/调优服务 定制开发服务 培训服务 知识库共享服务 运维服务 电子交易 服务体验 1、客户可以24小时通过电话或网路在支持中心获得帮助,包括云技术咨询,资料索取,购买服务包。 2、收费服务包分为级别(例) 基本服务包(5*8 电话支持服务) 标准服务包(7*24电话支持服务+现场服务) 高级服务包(7*24*6平台修复保证) 3、专业服务选项(例) 系统集成服务 专人值守服务 系统调优服务 系统迁移服务 巡检服务 运维管理服务 应急回响服务 培训服务 服务价值 1、对开源云计算的用户和潜在用户 提供了一个获得知识,指导和技术支持的渠道,解决了套用开源云技术找不到技术后盾的尴尬局面。 提供了一个高水平的技术团队对用户进行安装,配置,开发,最佳化,运维服务,使云计算平台可以正确的被部署和使用,真正产生效益。 2、对于Openstack产业链 促进Openstack在中国的落地生根,开花结果。解决了Openstack雾里看花的尴尬。 3、对于支持中心本身 获得大量的客户信息和项目机会,获得高利润的服务业务。聚合大量业内技术资源,形成技术资源池,并通过聚合效应使产业链共同成长。 4、对社会 大大促进云建设步伐,降低IT运营成本,提高业务敏捷度,节能减排,促进产业升级。 成员企业 华胜天成 Intel Canonical Rackspace 中国开源云联盟
简述OpenStack的各核心项目及相应用途?
OpenStack覆盖了网络、虚拟化、操作系统、服务器等各个方面。它是一个正在开发中的云计算平台项目,根据成熟及重要程度的不同,被分解成核心项目、孵化项目,以及支持项目和相关项目。每个项目都有自己的委员会和项目技术主管,而且每个项目都不是一成不变的,孵化项目可以根据发展的成熟度和重要性,转变为核心项目。截止到Icehouse版本,下面列出了10个核心项目(即OpenStack服务)。
计算(Compute):Nova。一套控制器,用于为单个用户或使用群组管理虚拟机实例的整个生命周期,根据用户需求来提供虚拟服务。负责虚拟机创建、开机、关机、挂起、暂停、调整、迁移、重启、销毁等操作,配置CPU、内存等信息规格。自Austin版本集成到项目中。
对象存储(Object Storage):Swift。一套用于在大规模可扩展系统中通过内置冗余及高容错机制实现对象存储的系统,允许进行存储或者检索文件。可为Glance提供镜像存储,为Cinder提供卷备份服务。自Austin版本集成到项目中
镜像服务(Image Service):Glance。一套虚拟机镜像查找及检索系统,支持多种虚拟机镜像格式(AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD、VMDK),有创建上传镜像、删除镜像、编辑镜像基本信息的功能。自Bexar版本集成到项目中。
身份服务(Identity Service):Keystone。为OpenStack其他服务提供身份验证、服务规则和服务令牌的功能,管理Domains、Projects、Users、Groups、Roles。自Essex版本集成到项目中。
网络&地址管理(Network):Neutron。提供云计算的网络虚拟化技术,为OpenStack其他服务提供网络连接服务。为用户提供接口,可以定义Network、Subnet、Router,配置DHCP、DNS、负载均衡、L3服务,网络支持GRE、VLAN。插件架构支持许多主流的网络厂家和技术,如OpenvSwitch。自Folsom版本集成到项目中。
块存储 (Block Storage):Cinder。为运行实例提供稳定的数据块存储服务,它的插件驱动架构有利于块设备的创建和管理,如创建卷、删除卷,在实例上挂载和卸载卷。自Folsom版本集成到项目中。
UI 界面 (Dashboard):Horizon。OpenStack中各种服务的Web管理门户,用于简化用户对服务的操作,例如:启动实例、分配IP地址、配置访问控制等。自Essex版本集成到项目中。
测量 (Metering):Ceilometer。像一个漏斗一样,能把OpenStack内部发生的几乎所有的事件都收集起来,然后为计费和监控以及其它服务提供数据支撑。自Havana版本集成到项目中。
部署编排 (Orchestration):Heat [2] 。提供了一种通过模板定义的协同部署方式,实现云基础设施软件运行环境(计算、存储和网络资源)的自动化部署。自Havana版本集成到项目中。
数据库服务(Database Service):Trove。为用户在OpenStack的环境提供可扩展和可靠的关系和非关系数据库引擎服务。自Icehouse版本集成到项目中。
天翼云openstack采用几层架构
天翼云openstack采用三层架构。
1、分层(以架构为单位),三层,全局组件,辅助组件,核心组件。
2、以单个核心组件/服务进行分层,API,子功能模块,其他。
按照不同的功能和通用性划分不同项目,拆分子系统。
按照不同的功能划分不同服务,并且服务之间相互隔离,只通过API作为统一交互入口相互对接。
按照功能和通过性划分不同服务,将一个整理功能,拆分为各个子服务/子功能。方便管理、排障。
辅助组件:Ironic、Trove、Hert、Sahara(提供了一些必要的管理与服务):
Ironic:裸金属(裸机),把资源调用过后给它创建一个操作系统,这样就组成了一个可以使用的操作系统,使用的一个节点和虚拟机,管理和控制基础硬件资源。
Trove:数据库/管理数据库的服务,可以管理关系型和非关系型数据库,数据库存储信息和数据,存储OpenStack最为核心的实例数据,存储各组件的数据,各组件的调用数据和使用情况以及各种日志。
Hert、Sahara:做数据的分析编排和处理,精细化的管理和编排更为合理的使用利用数据。