OpenStack简介

OpenStack简介

目录
  • OpenStack简介
    • 1、云计算模式
    • 2、云计算 虚拟化 openstack之间的关系?
    • 3、OpenStack 中有哪些组件?
    • 4、计算节点负责虚拟机运行
    • 5、网络节点负责对外网络与内网之间的通信
      • 5.1 网络节点仅包含Neutron服务
      • 5.2 网络节点包含三个网络端口
    • 6、存储节点负责对虚拟机的额外存储管理等
      • 6.1 存储节点包含Cinder,Swift等服务
      • 6.2 存储节点包含最少两个网络端口
      • 6.3 nova主要功能包括:
      • 6.4 nova包含以下主要部分:
    • 7、OpenStack由5个重要构成部分:
    • 8、OpenStack计算设施----Nova
    • 9、OpenStack镜像服务器----Glance
    • 10、OpenStack存储设施----Swift
    • 11、OpenStack认证服务(Keystone)
    • 12、OpenStack管理的Web接口----Horizon
    • 13、在openstack创建一台虚拟机需要哪些步骤?

1、云计算模式

  • IaaS:基础设施即服务
  • PaaS:平台即服务
  • SaaS:软件即服务

2、云计算 虚拟化 openstack之间的关系?

  • 云计算是一个服务,openstack和虚拟化是实现这个服务的手段之一;
  • openstack是一个云平台,相当于openstack是一个超市,超市里有产品,而产品并不是超市生产的,openstack是没有资源的,是需要对接资源的,而这些资源指的是虚拟化资源或物理资源。

3、OpenStack 中有哪些组件?

基础管理服务包含Keystone、Glance、Nova、Neutron、Horizon五个服务

  • Keystone:认证管理服务、提供了其余所有组件的认证信息/令牌的管理、创建、修改等等、使用MySQL等数据库存储认证信息
  • Glance:镜像管理服务,提供了对虚拟机部署的时候所能提供镜像的管理、包含镜像的导入、格式以及制作相应的模板
  • Nova:计算管理服务,提供了对计算节点的Nova管理、使用Nova-API进行通信
  • Neutron:网络管理服务、提供了对网络节点的网络拓扑管理,同时提供Neutron在Horizon的管理界面
  • Horizon:控制台服务,提供了以Web形式对所有节点的所有服务的管理,通常把该服务成为Dashboard

扩展管理服务包含Cinder、Swift、Trove、Heat、Centimeter五个服务

  • Cinder:提供管理存储节点的Cinder相关、同时提供Cinder在Horizon中的管理面板
  • Swift:提供管理存储节点Swift相关、同时提供Swift在Horizon中的管理面板
  • Trove:提供管理数据库节点的Trove先关、同时提供Trove在Horizon中的管理面板
  • Heat:提供了基于模板来实现云环境中的资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩、负载均衡等高级特性
  • Centimeter:提供对物理资源以及虚拟资源的监控,并记录这些书库,读数据进行分析,在一定条件下出发现货供应动作

4、计算节点负责虚拟机运行

计算节点包含Nova、Neutron、Telemter三个服务

  • nova:提供虚拟机的创建、运行、迁移、快照等围绕虚拟机的服务、并提供API与控制节点对接由控 制节点下发任务
  • neutron:提供计算节点与网络节点之间的通信
  • 拓展服务:telmeter提供计算节点监控代理,将虚拟机的情况反馈到控制节点,是centimeter的代理 服务

5、网络节点负责对外网络与内网之间的通信

5.1 网络节点仅包含Neutron服务

Neutron:负责管理私有网络与公有网络的通信,以及管理虚拟机网络之间通信/拓扑、管理虚拟机之 上的防火墙等等

5.2 网络节点包含三个网络端口

  • 端口1:用于与控制节点进行通信
  • 端口2:用于除了控制节点之外的计算/存储节点之间的通信
  • 端口3:用于外部的虚拟机与相应的网络之间通信

6、存储节点负责对虚拟机的额外存储管理等

6.1 存储节点包含Cinder,Swift等服务

  • Cinder:块存储服务,提供相应的块才能出,简单来说,就是虚拟出一块存盘,可以挂载到相应的虚拟机之上,不收文件系统的影响,对虚拟机来说,这个操作像是加了一块硬盘,可以完成对磁盘的任何操作,包括挂载、卸载、格式化,转换文件系统等等操作,大多应用于虚拟机空间不足的情况下的空间扩容等
  • Swift:对象存储服务,提供相应的独享存储、简单来说,就是虚拟出一块磁盘空间,可以在这个空间当中存放文件,也仅仅只能存放文件,不能进行格式化,转换文件系统,大多应用于云磁盘/文件

6.2 存储节点包含最少两个网络端口

  • 端口1:与控制节点进行通信,接受控制节点任务,受控制节点统一调配
  • 端口2:与计算/网络节点进行通信,完成控制节点下发的各类任务

6.3 nova主要功能包括:

  • 实例生命周期管理
  • 计算资源的管理
  • 向外提供REST风格的API

6.4 nova包含以下主要部分:

  • API Server(nova-api)位于表示层。用于接受外部请求
  • 消息队列服务(Rabbit MQ)
  • 运算工作站(nova-comoute)负责虚拟机的创建和分配
  • 网络控制器(nova-network)
  • 卷管理(nova-volume)
  • 调度器(nova-scheduler)调度如何选择哪个主机创建VM

7、OpenStack由5个重要构成部分:

  • Nova - 计算服务
  • Swift - 存储服务
  • Glance - 镜像服务
  • Keystone - 认证服务
  • Horizon - UI服务

8、OpenStack计算设施----Nova

Nova是OpenStack计算的弹性控制器。OpenStack云实例生命期所需的各种动作都将由Nova进行处理和支撑,这就意味着Nova以管理平台的身份登场,负责管理整个云的计算资源、网络、授权及测度。虽然Nova本身并不提供任何虚拟能力,但是它将使用libvirt API与虚拟机的宿主机进行交互。Nova通过Web服务API来对外提供处理接口,而且这些接口与Amazon的Web服务接口是兼容的。

功能及特点:实例生命周期管理、计算资源管理、网络与授权管理、基于REST的API、异步连续通信、支持各种宿主:Xen、XenServer/XCP、KVM、UML、VMware vSphere及Hyper-V。

Nova弹性云包含以下主要部分:API Server(nova-api)、消息队列(rabbit-mq server)、运算工作站(nova-compute)、网络控制器(nova-network)、卷管理(nova-volume)、调度器(nova-scheduler)。

  • API服务器(nova-api)
    API服务器提供了云设施与外界交互的接口,它是外界用户对云实施管理的唯一通道。通过使用web服务来调用各种EC2的API,接着API服务器便通过消息队列把请求送达至云内目标设施进行处理。作为对EC2-api的替代,用户也可以使用OpenStack的原生API,我们把它叫做“OpenStack API”。
  • 消息队列(Rabbit MQ Server)
    OpenStack内部在遵循AMQP(高级消息队列协议)的基础上采用消息队列进行通信。Nova对请求应答进行异步调用,当请求接收后便则立即触发一个回调。由于使用了异步通信,不会有用户的动作被长置于等待状态。例如,启动一个实例或上传一份镜像的过程较为耗时,API调用就将等待返回结果而不影响其它操作,在此异步通信起到了很大作用,使整个系统变得更加高效。
  • 运算工作站(nova-compute)
    运算工作站的主要任务是管理实例的整个生命周期。他们通过消息队列接收请求并执行,从而对实例进行各种操作。在典型实际生产环境下,会架设许多运算工作站,根据调度算法,一个实例可以在可用的任意一台运算工作站上部署。
  • 网络控制器(nova-network)
    网络控制器处理主机的网络配置,例如IP地址分配,配置项目VLAN,设定安全群组以及为计算节点配置网络。
  • 卷工作站(nova-volume)
    卷工作站管理基于LVM的实例卷,它能够为一个实例创建、删除、附加卷,也可以从一个实例中分离卷。卷管理为何如此重要?因为它提供了一种保持实例持续存储的手段,比如当结束一个实例后,根分区如果是非持续化的,那么对其的任何改变都将丢失。可是,如果从一个实例中将卷分离出来,或者为这个实例附加上卷的话,即使实例被关闭,数据仍然保存其中。这些数据可以通过将卷附加到原实例或其他实例的方式而重新访问。
    因此,为了日后访问,重要数据务必要写入卷中。这种应用对于数据服务器实例的存储而言,尤为重要。
  • 调度器(nova-scheduler)
    调度器负责把nova-API调用送达给目标。调度器以名为“nova-schedule”的守护进程方式运行,并根据调度算法从可用资源池中恰当地选择运算服务器。有很多因素都可以影响调度结果,比如负载、内存、子节点的远近、CPU架构等等。强大的是nova调度器采用的是可插入式架构。

目前nova调度器使用了几种基本的调度算法:

  • 随机化:主机随机选择可用节点;
  • 可用化:与随机相似,只是随机选择的范围被指定;
  • 简单化:应用这种方式,主机选择负载最小者来运行实例。负载数据可以从别处获得,如负载均衡服务器。

9、OpenStack镜像服务器----Glance

OpenStack镜像服务器是一套虚拟机镜像发现、注册、检索系统,我们可以将镜像存储到以下任意一种存储中:

  • 本地文件系统(默认)
  • OpenStack对象存储
  • S3直接存储
  • S3对象存储(作为S3访问的中间渠道)
  • HTTP(只读)

功能及特点:提供镜像相关服务
Glance构件:Glance控制器、Glance注册器

10、OpenStack存储设施----Swift

Swift为OpenStack提供一种分布式、持续虚拟对象存储,它类似于Amazon Web Service的S3简单存储服务。Swift具有跨节点百级对象的存储能力。Swift内建冗余和失效备援管理,也能够处理归档和媒体流,特别是对大数据(千兆字节)和大容量(多对象数量)的测度非常高效。
功能及特点:海量对象存储、大文件/大对象存储、数据冗余管理、归档能力(处理大数据集)、为虚拟机和云应用提供数据容器、处理流媒体、对象安全存储、备份与归档、良好的可伸缩性。
Swift组件:Swift代理、Swift对象、Swift容器、Swift账户、Swift RING。

  • Swift代理服务器(Proxy Server)
    用户都是通过Swift-API与代理服务器进行交互,代理服务器正是接收外界请求的门卫,它检测合法的实体位置并路由它们的请求。此外,代理服务器也同时处理实体失效而转移时,故障切换的实体重复路由请求。
  • Swift对象服务器(Object Server)
    对象服务器是一种二进制存储,它负责处理本地存储中的对象数据的存储、检索和删除。对象都是文件系统中存放的典型的二进制文件,具有扩展文件属性的元数据(xattr)。
    注意:xattr格式被Linux中的ext3/4,XFS,Btrfs,JFS和ReiserFS所支持,但是并没有有效测试证明在XFS,JFS,ReiserFS,Reiser4和ZFS下也同样能运行良好。不过,XFS被认为是当前最好的选择。
  • Swift容器服务器
    容器服务器将列出一个容器中的所有对象,默认对象列表将存储为SQLite文件(译者注:也可以修改为MySQL,安装中就是以MySQL为例)。容器服务器也会统计容器中包含的对象数量及容器的存储空间耗费。
  • Swift账户服务器
    账户服务器与容器服务器类似,将列出容器中的对象。
  • Swift Ring(索引环)
    Ring容器记录着Swift中物理存储对象的位置信息,它是真实物理存储位置的实体名的虚拟映射,类似于查找及定位不同集群的实体真实物理位置的索引服务。这里所谓的实体指账户、容器、对象,它们都拥有属于自己的不同的Rings。

11、OpenStack认证服务(Keystone)

Keystone为所有的OpenStack组件提供认证和访问策略服务,它依赖自身REST(基于Identity API)系统进行工作,主要对(但不限于)Swift、Glance、Nova等进行认证与授权。事实上,授权通过对动作消息来源者请求的合法性进行鉴定。

Keystone采用两种授权方式,一种基于用户名/密码,另一种基于令牌(Token)。除此之外,Keystone提供以下三种服务:

  • 令牌服务:含有授权用户的授权信息
  • 目录服务:含有用户合法操作的可用服务列表
  • 策略服务:利用Keystone具体指定用户或群组某些访问权限

认证服务组件:

  • 服务入口:如Nova、Swift和Glance一样每个OpenStack服务都拥有一个指定的端口和专属的URL,我们称其为入口(endpoints)。
  • 区位:在某个数据中心,一个区位具体指定了一处物理位置。在典型的云架构中,如果不是所有的服务都访问分布式数据中心或服务器的话,则也称其为区位。
  • 用户:Keystone授权使用者。
    • 译者注:代表一个个体,OpenStack以用户的形式来授权服务给它们。用户拥有证书(credentials),且可能分配给一个或多个租户。经过验证后,会为每个单独的租户提供
    • 译者注:代表一个个体,OpenStack以用户的形式来授权服务给它们。用户拥有证书(credentials),且可能分配个一个或多个租户。经过验证后,会为每个单独的租户提供一个特定的令牌。
  • 服务:总体而言,任何通过Keystone进行连接或管理的组件都被称为服务。举个例子,我们可以称Glance为Keystone的服务。
  • 角色:为了维护安全限定,就云内特定用户可执行的操作而言,该用户关联的角色是非常重要的。
    • 译者注:一个角色是应用于某个租户的使用权限集合,以允许某个指定用户访问或使用特定操作。角色是使用权限的逻辑分组,它使得通用的权限可以简单地分组并绑定到与某个指定租户相关的用户。
  • 租间:租间指的是具有全部服务入口并配有特定成员角色的一个项目。
    • 译者注:一个租间映射到一个Nova的“project-id”,在对象存储中,一个租间可以有多个容器。根据不同的安装方式,一个租间可以代表一个客户、帐号、组织或项目。

12、OpenStack管理的Web接口----Horizon

Horizon是一个用以管理、控制OpenStack服务的Web控制面板,它可以管理实例、镜像、创建密匙对,对实例添加卷、操作Swift容器等。除此之外,用户还可以在控制面板中使用终端(console)或VNC直接访问实例。总之,Horizon具有如下一些特点:

  • 实例管理:创建、终止实例,查看终端日志,VNC连接,添加卷等
  • 问与安全管理:创建安全群组,管理密匙对,设置浮动IP等
  • 偏好设定:对虚拟硬件模板可以进行不同偏好设定
  • 镜像管理:编辑或删除镜像
  • 查看服务目录
  • 管理用户、配额及项目用途
  • 用户管理:创建用户等
  • 卷管理:创建卷和快照
  • 对象存储处理:创建、删除容器和对象
  • 为项目下载环境变量

13、在openstack创建一台虚拟机需要哪些步骤?

  1. 在web界面创建Vm任务
  2. 通过MQ转发给Nova-api
  3. Nova-api 接收rest消息
  4. Nova-conductor 进行数据库操作
  5. Nova-schedule 选择合适的主机
  6. Nova-computer 虚拟机生命周期管理
  7. netutron-server 接受rest消息 想keystone鉴权 与数据库交互 提供网络对象API
  8. neutron-dhcp-agent 提供网络功能
  9. cinder-api 接受rest消息
  10. cinder-schedule 选择合适的存储后端
  11. cinder-volume 负责与后端存储对接 创建存储卷
  12. glance-api 接受rest消息
  13. glance-registry 用于与guass DB数据库进行交互 用于存储或获取镜像
  14. image store 存储的接口层

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/32567.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python matplotlib】鼠标右键移动画布

在 Matplotlib 中,鼠标右键移动画布的功能通常是通过设置交互模式来实现的,例如使用 mpl_connect 方法。以下是一个示例代码,展示如何在 Matplotlib 中使用 mpl_connect 方法来实现鼠标右键移动画布的功能: import numpy as np …

ts知识点——基础积累

第一章 快速入门 0、TypeScript简介 TypeScript是JavaScript的超集。它对JS进行了扩展,向JS中引入了类型的概念,并添加了许多新的特性。TS代码需要通过编译器编译为JS,然后再交由JS解析器执行。TS完全兼容JS,换言之,…

wxWidgets学习笔记:wxListCtrl使用详解

使用案例 wxListCtrl中放21个item,每一行放两个item,每个item显示图标和名字,点击某个图标,该图标呈现响应状态并响应对应的事件 以下是使用wxListCtrl实现放置21个item,每一行放两个item,每个item显示图…

非计算机科班如何丝滑转码?

近年来,很多人想要从其他行业跳槽转入计算机领域。非计算机科班如何丝滑转码? 如何规划才能实现转码? 对于非计算机科班的人来说,想要顺利转码成为计算机相关岗位的从业者,需要经过以下几个步骤: 规划转码…

(docker)mysql镜像拉取-创建容器-容器的使用【个人笔记】

【容器的第一次创建】 容器的第一次创建,需要先下载镜像,从 镜像拉取 0、可以搜索镜像的版本 docker search mysql1、先拉取MySQL的镜像,默认拉取最新版,使用下面的命令拉取mysql镜像 docker pull mysql也可以指定mysql的版本…

MySQL 事务原理:事务概述、隔离级别、MVCC

文章目录 一、事务1.1 事务概述1.2 事务控制语句1.3 ACID特性 二、隔离级别2.1 隔离级别的分类2.1.1 读未提交(RU)2.1.2 读已提交(RC)2.1.3 可重复读(RR)2.1.4 串行化 2.2 命令2.3 并发读异常2.3.1 脏读2.3…

Linux 发行版 Debian 12.1 发布

导读在今年 6 月初,Debian 12“bookworm”发布,而日前 Debian 迎来了 12.1 版本,主要修复系统用户创建等多个安全问题。 Debian 是最古老的 GNU / Linux 发行版之一,也是许多其他基于 Linux 的操作系统的基础,包括 Ub…

SOME/IP通信对数据包的大小有要求

SOME/IP通信对数据包的大小有要求,因为SOME/IP是基于UDP协议的,而UDP协议有一个最大传输单元(MTU)的限制,即每个数据包的大小不能超过MTU的值。 不同的网络环境下,MTU的值可能不同,一般在1500字节到9000字节之间。 如果SOME/IP数据包的大小超过了MTU的值,那么就需要进…

C++系列十:其他-1. Lua

系列文章目录 Lua 系列文章目录前言Lua介绍:参考链接: 基本语法:函数、迭代器table、userdata、模块元素、元方法:协程、文件读写面向对象、垃圾回收 前言 我写这个博客的一个问题?(●’◡’●) 居然是 取名太难了。 …

HCIA VLAN配置

目录 一、VLAN(虚拟局域网 ) 二、VLAN配置思路 三、配置命令 1、创建vlan 单个创建: 批量创建: 2、交换机上的各个接口划分到对应的vlan中 单个操作: 批量操作: 3、trunk…

自定义分页工具类

前言 在日常的开发工作中&#xff0c;会遇到很多不确定的需求场景&#xff0c;无法使用第三方提供的分页组件来实现&#xff0c;那么如何自己实现一个简单的分页工具类呢&#xff1f; 工具类 第一版本&#xff1a; Setter Getter public class PageTool<T> {/*** 当前…

Redis单机,主从,哨兵,集群四大模式

Redis 单机模式 Redis 单机模式是指 Redis 数据库在单个服务器上以独立的、单一的进程运行的模式。在这种模式下&#xff0c;Redis 不涉及数据分片或集群配置&#xff0c;所有的数据和操作都在一个实例中进行。以下是关于 Redis 单机模式的详细介绍&#xff1a; 单一实例&#…

数据分析两件套ClickHouse+Metabase(二)

Metabase篇 Metabase安装部署 任何问题请查看 -> 官方文档 jar包从GitHub下载 -> 地址 同样有个问题, 默认数据源里没有ClickHouse, 不过ClickHouse官方提供了插件包 -> 插件包 在安装metabase目录下新建一个plugins文件夹, 把下载的clickhouse.metabase-driver.ja…

深入理解 Spring 中的 @RequestBody 和 @ResponseBody 注解及其区别

引言 在现代的 Web 开发中&#xff0c;处理 HTTP 请求和响应是不可或缺的任务。Spring Framework 提供了丰富的功能来简化这些任务&#xff0c;并使开发人员能够更专注于业务逻辑。在本文中&#xff0c;我们将深入探讨 Spring 中的 RequestBody 和 ResponseBody 注解&#xff0…

spark 图计算 助力解决 dataframe中的链式依赖

链式依赖说明 name newName a b c d b c 我们需要的结果 即我们可以支持获取到链式转换的 起点 重点 以及链式的中间转换过程顺序数组. 特别说明: 出版只支持 单向 无分叉的图,其他复杂场景暂时未测试. 场景举例: 比如某件商品价格变化,我们需要知…

手机里视频太大怎么压缩?压缩教程分享

现在视频文件的体积越来越大了&#xff0c;动不动就是几个GB起步&#xff0c;如果后期再剪辑处理一下&#xff0c;更是会占据更多的设备空间了&#xff0c;还会导致我们传输受到限制&#xff0c;这时候就需要我们对视频进行压缩处理&#xff0c;下面给大家分享几个简单的方法&a…

0基础学习VR全景平台篇 第83篇:智慧眼-怎么理解分类?

一、功能说明 分类可以理解为&#xff0c;为了方便城市运营工作的管理所实行的行政区划&#xff0c;如XXX乡镇、XXX街道等等。 二、后台编辑界面 1、点击【新增】&#xff0c;填写分类的名称&#xff0c;若有上一级分类&#xff0c;那么还需选择父级分类&#xff0c;建议从最…

Linux如何查看端口占用情况

在Linux系统中&#xff0c;您可以使用多种命令来查看端口占用情况。以下是一些常用的方法&#xff1a; netstat命令&#xff1a; 使用netstat命令可以显示网络连接、路由表、接口统计信息等。要查看端口占用情况&#xff0c;可以使用以下命令&#xff1a; netstat -tuln 这…

自动化测试如何解决chrome自动更新问题

问题 调试好的自动化测试脚本&#xff0c;有时候总是在第一天或过几天就不好使了。产品并未进行功能逻辑&#xff0c;ui修改&#xff0c;一切还和调试自动化脚本的时候保持一致。运行自动化测试脚本时&#xff0c;控制台总是会在driver webdriver.Chrome()这一行报错。 问题…

Vue组件库

Vue组件库 ViteVue3TypescriptTSX 1、项目搭建 1.1、创建项目&#xff08;yarn&#xff09; D:\WebstromProject>yarn create vite yarn create v1.22.19 [1/4] Resolving packages... [2/4] Fetching packages... [3/4] Linking dependencies... [4/4] Building fresh pa…