首页 > 其他分享 >openstack(-)

openstack(-)

时间:2023-03-20 22:01:44浏览次数:45  
标签:存储 网络 Nova API Cinder 组件 openstack

一、OpenStack是一款开源的云操作系统,可以控制整个数据中心的大型计算、存储和网络资源池,从而实现软件定义数据中心。它将资源抽象、重组、重分配,以服务的方式对外提供服务

1)、OpenStack不是云计算,它只是构建云计算的关键组件(内核、骨干、框架、总线)

OpenStack组件

nova:计算服务   cinder:块存储服务    swift:对象存储软件  manila:文件存储服务

neutron:软件定义网络服务   glance:镜像服务   keystone:认证鉴权服务

heat:应用编排服务  horizon:图形化人机界面服务  ceilometer:计量、监控服务

ironic:裸金属服务

2)、其中keystone是和所有的组件相连接的,为其它组件提供认证鉴权和服务目录的 功能个不同组件之间的交互都是通过restapi接口进行通讯。

3)、RESTful API是利用HTTP请求访问或使用数据的应用程序接口(API)的体系结构样式。这些数据可用于GET,PUT,POST和DELETE数据类型,这些数据类型指的是与资源相关的操作读取、更新、创建和删除。使用RESTful风格的接口但从接口上你可能只能定位其资源,但是无法知晓它具体进行了什么操作,需要具体了解其发生了什么操作动作要从其HTTP请求方法类型上进行判断。

4)、OpenStack中公共基础组件MQ和Database。任何服务之间通讯,或组件之间通讯都要用到MQ。Rabbit MQ。

5)、Openstack一般分为控制节点、计算节点、网络节点

在控制节点的服务有:Nova-api、Nova-schduler、Nova-conductor、

Cinder-api、Cinder-schduler、

Neutron-server。

二、Nove

Nova是OpenStack计算的弹性控制器,负责整个OpenStack计算资源的管理和调度。实现虚机实例的生命周期管理。Nova支持大规模、可扩展、按需自助的计算资源。Nova支持管理裸机、虚拟机和容器。负责VM和其他计算资源生命周期的管理,如:创建删除重启、冷热迁移、规格调整、HA等,不负责VM的物理主机自身的管理和全面的系统监控状态。

openstack(-)_Neutron

nove内部各组件

Nova-API:对外提供REST API接口,接受和处理请求;对请求信息进行认证鉴权合法性校验;将请求写入数据库,对资源进行(CUDR)创建更新删除查询等操作。

Nova-scheduler:调度程序 作用是筛选合适的计算节点。 通过过滤和权重(1、默认是内存,可选CPU权重)(2、前面的都一样就随机选)。进行筛选选择合适的计算节点用于创建实例。

 Nova-conductor:导体、指挥完成Nova内部组件的交互和复杂流程(创建、冷热迁移和规格调整等)操作处理,解耦Nova-Computer和数据库的关系,更易扩展,​​更安全,方便升级,性能上更优。​​Nova-Computer需要Nova-Conductor启动后才能启动,其他组件的心跳定时写入。

Nova-computer:虚拟机生命周期管理和资源管理,是VM生命周期操作的真正执行者(会调用对的后端driver对接不同虚拟化平台创建实例;资源管理模块配合插件机制,完成资源的统计。周期性的将自己的资源用量通过Nova-Conductor告诉DB

控制节点部署:Nova-api、Nova-scheduler、Nova-conductor,多活部署,有三个控制节点(可靠性)。

部署计算节点:Nova-computer。可以有一个或多个。多活部署

openstack有以下三类组件:

1、openstack本身的服务:比如计算nova、块存储cinder等

2、服务内部子组件:比如nova内部的api\compute等

3、openstack所使用的公共组件:DB、MQ

三种访问方式:

1、openstack不同服务的通信,比如nova访问keystone,glance访问swift(基于http的rest api访问)

2、服务内部子组件通信,比如nova内部的api访问compute(基于MQ的rpc调用)

3、访问数据库

三、Cinder

​Cinder为openstack提供持久化块存储服务,可以通过后端驱动对接不同种类的存储(本地存储、fcsan、ipsan)。Cinder不提供存储空间,只提供对卷的管理(如卷的创建、删除、快照、备份等),存储空间由后端对接的存储提供。

openstack(-)_Cinder_02

Cinder内部组件

inder-Client:封装Cinder提供的rest接口,以CLI的方式供用户使用。

Cinder-API:对外提供rest api,对请求进行身份验证和合法性校验,对请求进行解析并记录到数据库,调用后端组件完成CUDR。如:卷的增删改查,快照的增删改查、备份,卷类型的管理挂载卸载等

Cinder-schduler详单、列表:负责收集后端上报的资源容量信息,通过过滤和权重筛选择合适的后端主机。多活部署。

Cinder-volume:,通过不同的驱动来支持不同类型不同型号的后端设备,完成卷和快照的操作。Cinder-volume会定期查询后端底层后端的容量信息,并通知scheduler更新内存中的后端设备信息。多活部署,部署在计算节点,和Nova-Computer部署在一起。

Cinder-Backup:实现将卷的数据备份和恢复的功能

Cinder创建卷流程:

租户或者别的项目到Cinder-API申请创建卷,Cinder-API将请求记录写入到数据库一份,然后调用Cinder-Scheduler创建卷,Scheduler通过过滤、权重选择最优的主机,然后将请求发送给Cinder-volume,由Volume对接后端不同的存储驱动创建卷

SAN(Storage Aera Network )存储区域网络,是一种通过网络方式连接存储设备和应用服务器的存储构架,这个网络专用于主机和存储设备之间的访问。根据数据链路使用的是网线还是光纤分别称IPSAN或者FCSAN。

四、swift

​Swift是一款对象存储软件,将数据以对象的方式,在华为的OpenStack中是用来当做Glance的后端存储的,是非结构化数据。

1、基于rest API服务访问方式通过http承载通讯

2、数据在整个系统中均匀分布高可靠性,资源高效利用

3、支持多种硬件设备,无中央数据库没有单性能瓶颈。

4、数据高可靠性。Account/Container/Object三级存储结构均无需文件系统且均有N(>=3)份拷贝

5、最少是三副本进行数据保存,数据写到硬盘中,并不写到内存中

6、适合存放非结构化数据,如图片、音频等数据

应用场景:

1、在私有云中用于Glance的后端存储为其存储镜像文件

2、由于Swift的扩展能力,适合存储日志文件和数据备份仓库,

openstack(-)_Neutron_03

Proxy server:对外提供基于HTTP的REST接口,采用无状态的REST请求,可以进行横向扩展来负载均衡,对账户、容器、对象进行CRUD等操作。

Account server:提供账户元数据和统计信息,并维护所含容器列表的服务,所有的账号信息被存储在SQlite数据库中。

Container server:提供容器元数据和统计信息,并维护所含对象列表服务,每个容器的信息也存储在SQlite数据库中。

Object server:提供对象元数据和内容服务,每个对象会以文件的形式存储在文件系统中,元数据会作为文件属性来存储,建议扩展属性的XFS文件系统。

Account server、Container server中存放的是结构化数据,存放在mysql中

Object server:存放的是非结构化数据,存放在后端存储中

五、Neutron

​Neutron为openstack内部组件提供网络服务,也为发放出来的实例提供网络。同时可以作为SDN控制器,可以让本地网络无缝迁移到SDN的场景中。

Neutron中各个子组件

Physical network:物理网络。

Provider network:理解为内部网络。 相当于vlan或者flat网络。

Self-server network:自助网络,可以理解隧道(vxlan)网络。

External net:外部网络/公共网络。与internet相连。

SG(security group):安全组是在Neutron port(对应二层网络接口)上的一组策略。规定了VM出口入口流量的规则,默认拒绝所有流量,只有添加了放行规则的流量才允许通过。    默认规则:拒绝所有入口流量,允许所有出口流量。

openstack(-)_Cinder_04

​Neutron Server:对外提供rest API,对请求进行身份验证和合法性校验,并调用Plugin处理请求。(Core api、service api)

Neutron-Plugin:处理Neutron Server的请求,维护网络状态,将请求写入数据库,并调用Agent处理请求。

Neutron-Agent:处理Plugin的请求,调用底层虚拟或物理网络设备实现各种网络功能。

Management Network

提供Openstack组件间的内部通信。该网络内的IP地址只有数据中心内部可达。

Data Network

提供云内部虚拟机之间数据通信。该网络内的IP地址取决于使用的网络插件程序。

External Network

提供VM与外部Internet间的通信。Internet上的任何人都可以访问该网络内的IP地址。

API Network

为租户提供包所有Openstack API。该网络内的IP地址应该被允许Internet上的任何人可达。

​OpenStack生产环境中常用的两种网络类型:

1、linux Bridge+flat网络 工作于二层的网络设备。功能类似与物交换机

2、OVS虚拟交换机+VXLAN  网络

在openstack中叫Floating ip(浮动ip),在服务层:公有云上叫EIP(elastic ip)。这俩是一个东西只是叫法不一样。    Fixed ip:固定ip。VM使用的IP。

标签:存储,网络,Nova,API,Cinder,组件,openstack
From: https://blog.51cto.com/u_14869798/6138644

相关文章

  • Openstack上虚拟机迁移
    1、迁移虚拟机可以进行冷迁移和热迁移#冷迁移关闭电源的虚拟机进行迁移。通过冷迁移,可以选择将关联的磁盘从一个数据存储移动到另一个数据存储。好处:虚拟机不需要位于共享......
  • Openstack移除计算节点
    1、查看所有计算节点sourceadmin-openrcnovaservice-list2、选择要删除的计算节点,删除计算节点ID,并检查节点情况novaservice-deleteIDnovaservice-list3、查看网络neut......
  • Openstack新增节点
    1、新增步骤确认机器信息,包括主机名,ip,mac地址,远控地址信息.登录远控查看机器确认raid和磁盘状态,如果都是统一的大盘做1个raid6,如果有小盘又有大盘,小盘做raid1用作系......
  • Openstack创建大数据盘
    1、使用openstak临时盘(RAW)时,最大仅支持15T;所以此方案,仅能创建15T的数据盘2、创建后,需要通过parted创建分区#创建并格式化/dev/vdb分区parted/dev/vdb......
  • Openstack虚拟机硬盘扩容
    1、扩容流程#确认虚机的宿主机,虚机关机。#登录到宿主机上,cd到虚机的磁盘目录。一般是/data/nova/instances/实例uuid/。#执行扩容命令qemu-imgresizedisk+50G,查看扩......
  • Openstack快照迁移实例
    1、在openstackweb界面制作快照,或者使用命令生成快照。如果对数据一致性要求高,需要关机,使内存数据落盘后再生成快照openstackserverimagecreatemyInstance--namemyIn......
  • 什么是OpenStack?
    最近有人问我,现在这个时代基本上算是一个云计算的时代,传统的网络工程师还有出路吗?有!肯定有!虽然现在是云计算的时代,但是我们发展还远没有预想的那么快。2002年亚马逊(Amazon)提......
  • 开源云平台“Openstack”(一)
    1、Openstack介绍OpenStack是一个开源的云计算管理平台项目,是一系列软件开源项目的组合,为私有云和公有云提供可扩展的弹性的云计算服务,由Rackspace和NASA共同开发的云计算......
  • OpenStack添加iscsi共享存储
    作者:独笔孤行官网:​​ ​​http://anyamaze.com​​公众号:云实战前言OpenStack支持多种类型后端存储,包括NFS、Ceph、GlusterFS、FC、iSCSI等。本次以iscsi存储为例讲解Op......
  • OpenStack添加iscsi共享存储
    作者:独笔孤行官网:​​ ​http://anyamaze.com​​公众号:云实战前言OpenStack支持多种类型后端存储,包括NFS、Ceph、GlusterFS、FC、iSCSI等。本次以iscsi存储为例讲解O......