OpenStack理论知识详细解析

前言
OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。

OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。

OpenStack云计算平台,帮助服务商和企业内部实现类似于 Amazon EC2 和 S3 的云基础架构服务(Infrastructure as a Service, IaaS)。OpenStack 包含两个主要模块:Nova 和 Swift,前者是 NASA 开发的虚拟服务器部署和业务计算模块;后者是 Rackspace开发的分布式云存储模块,两者可以一起用,也可以分开单独用。OpenStack除了有 Rackspace 和 NASA 的大力支持外,还有包括 Dell、Citrix、 Cisco、 Canonical等重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云平台 Eucalyptus 的态势。

OpenStack概述

1.什么是OpenStack

  • OpenStack 是一个利用虚拟资源池构建和管理私有云和公共云的平台。那些包含 OpenStack平台的各个工具(称作“项目”)负责处理计算、网络、存储、身份和镜像服务等核心云计算服务。还可将十余个可选项目捆绑到一起,创建与众不同的可部署云
  • 在虚拟化环境中,诸如存储、CPU 和 RAM等资源都是从诸多供应商特定的项目中提取出来,然后由虚拟机监控程序进行拆分并按需进行分配。OpenStack使用一组一致的应用编程接口(API),进一步将这些虚拟资源提取为离散池,用于辅助标准云计算工具,供管理员和用户直接交互使用

2.云计算服务模型

  • IaaS(基础架构即服务)
提供底层IT基础设施服务,包括处理能力、存储空间、网络资源等 一般面向对象是IT管理人员
  • PaaS(平台即服务)
1.把安装好开发环境的 系统平台作为一种服务通过互联网提供给用户
2.一般面向对象是开发人员
  • SaaS(软件即服务)
1.直接通过互联网为用户提供软件和应用程序的服务
2.一般面向的对象是普通用户

3.OpenStack的优势

  • OpenStack 在控制性、 兼容性、 可扩展性、 灵活性方面具备有优势, 它可能成为云计算领域的行业标准
1.控制性: 完全开源的平台, 模块化的设计, 提供相应的 API 接口, 方便与第三方技术集成, 从而满足自身业务需求
2.兼容性: OpenStack 兼容其他公有云, 方便用户进行数据迁移
3.可扩展性: Openstack 采用模块化的设计, 支持主流发行版本的 Linux, 可以通过横向扩展, 增加节点、 添加资源
4.灵活性: 用户可以根据自己的需要建立基础设施, 也可以轻松地为自己的群集增加规模
5.Openstack 项目采用 Apache2 许可, 意味着第三方厂家可以重新发布源代码。行业标准: 众多 IT 领军企业都加入到 OpenStack 项目, 意味着 OpenStack 在未来可能形成云计算行业标准

OpenStack重要组件

1.OpenStack认证服务(Keystone)

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

  • Keystone采用两种授权方式,一种基于用户名/密码,另一种基于令牌(Token)
  • 除此之外,Keystone提供以下三种服务:
1.令牌服务:含有授权用户的授权信息
2.目录服务:含有用户合法操作的可用服务列表
3.策略服务:利用Keystone具体指定用户或群组某些访问权限

2.控制台 Dashboard

  • Dashboard(项目名称为 horizon)是一个Web接口,使得云平台管理员以及用户可以管理不同的OpenStack资源以及服务
  • Dashboard通过 Apache的 mod_uwgis搭建,并通过 python模块实现和不同的 OpenStack API进行交互,从而实现管理目的
  • Dashboard是一个用以管理、控制OpenStack服务的Web控制面板,通过它可以实现绝大多数OpenStack的管理任务。如实例、镜像、密匙对,卷等
  • 通过Dashboard,管理员无需记忆繁琐复杂的OpenStack命令。除此之外,用户还可以在控制面板中使用终端或VNC直接访问实例控制台Dashboard可以实现以下管理任务
1.实例管理:创建、删除实例,查看终端日志,远程连接实例,管理卷等
2.访问与安全管理:创建安全组,管理密匙对,设置浮动IP地址等
3.偏好设定:对虚拟硬件模板可以进行不同程度的偏好设定
4.镜像管理:导入、编辑或删除镜像
5.用户管理:创建用户、管理用户、设置配额、查看服务目录等
6.卷管理:管理卷和快照
7.对象存储处理:创建、删除容器和对象

3.计算模块 Nova

概述

  • Nova是负责提供计算资源的模块,也是OpenStack中的核心模块,其主要功能是负责虚拟机实例的生命周期管理、网络管理、存储卷管理、用户管理以及其他的相关云平台管理功能
  • OpenStack使用计算服务来托管和管理云计算系统。 OpenStack计算服务是基础设施服务(IaaS)系统的主要组成部分,模块主要由Python实现
  • OpenStack计算组件请求 OpenStack Identity服务进行认证,请求 OpenStack Image服务提供磁盘镜像,为OpenStack Dashboard提供用户和管理员接口。磁盘镜像访问限制在项目与用户上;配额以每个项目进行设定,例如,每个项目下可以创建多少实例。OpenStack组件可以在标准硬件上横向大规模扩展,并且下载磁盘镜像启动虚拟机实例

4.网络模块 Neutron

概述
OpenStack早期的网络模块是Nova- Network,而 Neutron则是Nova- Network的更新换代产品,也是目前 OpenStack重要组件之一;以下是几个概念

网络

类似于实际的物理环境中的网络,OpenStack网络用于连接云主机或路由器。除此之外,还包含子网、网关以及DHCP服务等。OpenStack网络分为内部网络和外部网络,内部网络一般用于连接虚拟机,而外部网络一般用于连接宿主机外面的网络

子网

OpenStack中的子网是一个IP地址段,用于定义实际的IP地址范围

端口

端口类似于实际网络中的网络接口,用于连接终端设备或另外一个网络。不同的是,OpenStack中端口连接的一般都是虚拟设备接口,如虚拟机的虚拟网卡或者路由器的虚拟接口等。端口还描述了相关的网络配置,例如可以在端口上配置MAC地址和IP地址

路由器

路由器用于连接 OpenStack的内部网络和外部网络。类似实际路由器功能,支NAT功能,通过绑定浮动IP地址还可以实现地址映射 Neutron分别提供了二层(L2)交换和三层(L3)路由抽象的功能,对应于物理网络环境中的交换机和路由器

5.镜像模块 Glance

概述

  • 镜像服务允许用户发现、注册和获取虚拟机镜像。它提供了一个 RESTAPI,允许查询虚拟机镜像的元数据,并获取一个现存的镜像。可以将虚拟机镜像存放到各种位置,从简单的文件系统到对象存储系统,如OpenStack Swift项目,默认是存储在本地文件系统上的
  • 其实在生产环境中这个模块本身不存储大量的数据,需要挂载后台存储 swift来存放实际的镜像数据
  • 在OpenStack环境中,镜像是用于在计算节点生成虛拟机。脱离了镜像服务,就无法创建虚拟机,所以镜像服务是0penstock的一个核心服务

6.块存储 Cinder

概述

  • 块存储服务(
    Cinder)提供块存储。存储的分配和消耗是由块存储驱动器或者多后端配置的驱动器决定的。还有很多驱动程序可用 :NAS/SAN、 NFS 、 ISCSI、 CEPH等。块存储适合性能敏感性业务场景,例如数据库存储大规模可扩展的文件系统或服务器需要访问到块级的裸设备存储。典型情况下,块服务API和调度器服务运行在控制节点上。取决于使用的驱动卷服务器可以运行在控制节点、计算节点或单独的存储节点之上
  • 块存储服务为OpenStack中的实例提供持久的存储,块存储提供一个基础设施,用于管理卷以及和OpenStack计算服务交互,为实例提供卷、快照、卷类型等功能。站在实例的角度,挂载的每个卷都是一块独立的硬盘。Cinder提供了从创建卷到删除卷整个生命周期的管理。其具体功能是:
  • 提供 REST API接口,使用户能够查询和管理卷、卷快照以及卷类型
  • 协调卷的创建请求,合理优化存储资源的分配
  • 通过驱动架构支持多种后端存储方式,包括LVM、NFS、Ceph和其他诸如EMC、IBM等商业存储产品和方案

7.Swift对象储存

  • 这是对象存储的组件。对于大部分用户来说,swift不是必须的。你只有存储数量到一定级别,而且是非结构化数据才有这样的需求。很多人都问一个相同的问题:是否可以把虚拟机的存储放在swift上。简单回答:不行。你需要搞明白对象存储是干啥,擅长那些地方,那些是不行的。
  • swift是Openstack所有组件了最成熟的,可以在线升级版本,各种版本可以混合在一起,也就是说,1.75版本的swift可以和1.48的在一个群集里.这个是很难得的.

8.Ceilometer

提供用量统计服务,通过它可以方便地实现 OpenStack 计费功能。

猜你喜欢

转载自blog.csdn.net/weixin_50346902/article/details/113096989