OpenStack是一个云平台管理的项目,它不是一个软件,它是由几个主要的组件组合起来,为公有云、私有云和混合云的建设与管理提供软件的开源项目。现在已经有来自100多个国家的数万名个人和200多家企业参与到OpenStack的开发,如 NASA、华为、谷歌、惠普、Intel、IBM、微软等。这些机构与个人将 OpenStack作为基础设施即服务资源的通用前端。Openstack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。OpenStack系统或其演变版本目前被广泛应用在各行各业,包括自建私有云、公共云、租赁私有云及混合云,用户包括思科、英特尔、IBM、华为、希捷等,OpenStack 支持 KVM、Xen、Lvc、Docker等虚拟机软件或容器。

OpenStack的发展历史

OpenStack是由美国国家航空航天局(NASA)和 Rackspace合作研发,Apache许可的开源项目。项目自2010年成立,发布了该项目的第一个版本Austin,该版本是当时第一个开源的云计算平台项目。此后,OpenStack基本每半年发行一个新版本,截至目前最新版本是第二十四版本Xena,不同于其他软件的版本号采用数字编码,OpenStack 采用一个单词来描述不同的版本,其中单词首字母指明版本的新旧。比如目前的版本Xena就比之前的 Wallaby要新,同时“X”在26个字母中排行第二十四,所以称第二十四版本。各个版本的发行时间表参考网站 https://releases.openstack.org/

OpenStack能做什么

OpenStack的主要目标是管理数据中心的资源,简化资源分配。它管理三部分资源,分别是:

  • 计算资源:OpenStack可以规划并管理大量虚拟机,从而允许企业或服务提供商按需提供计算资源;开发者可以通过API访问计算资源从而创建云应用,管理员与用户则可以通过web访问这些资源;
  • 存储资源:OpenStack可以为云服务或云应用提供所需的对象及块存储资源。因为对性能及价格有需求,很多组织已经不能满足于传统的企业级存储技术,因此OpenStack可以根据用户需要提供可配置的对象存储或块存储功能;
  • 网络资源:如今的数据中心存在大量的配置工作,如服务器、网络设备、存储设备、安全设备均需要配置,而它们还将被划分成更多的虚拟设备或虚拟网络;这会导致 IP 地址的数量、路由配置、安全规则将爆炸式增长;传统的网络管理技术无法真正的可高扩展、高自动化地管理下一代网络;因而OpenStack 提供了插件式、可扩展、API 驱动型的网络及IP管理功能;

OpenStack的典型架构和功能如下图所示:


OpenStack的典型架构和功能映射

表示层:负责与用户交互,主要包含一些图形化界面的web门户网站(用于提供给非开发人员进行界面操作),同时该部分还提供了供开发人员进行二次开发的API接口。该部分还包括一些更高级的特性,例如:负载均衡、控制台代理安全和命名服务。

逻辑层:提供云服务的智能控制功能,如:orchestration(负责任务的工作流管理)、scheduling(任务到资源的调度管理)、policy(配额等服务)、image registry(镜像实例的元数据管理)和logging(事件计费管理)。

资源层:包含计算、网络和存储等物理资源。

OpenStack的核心项目

OpenStack覆盖了网络、虚拟化、操作系统、服务器等各个方面。根据成熟及重要程度的不同,被分解成核心项目、孵化项目,支持项目和相关项目。每个项目都有自己的委员会和项目技术主管,而且每个项目都不是一成不变的,如孵化项目可以根据发展的成熟度和重要性,转变为核心项目。

OpenStack项目间的逻辑关系如下图所示:


OpenStack项目间的逻辑关系

以下列举OpenStack的6个最重要的核心项目。

Keystone:Keystone是OpenStack的认证服务,Keystone为所有的OpenStack组件提供认证和访问策略服务,它依赖自身REST系统进行工作,主要对Swift、Glance、Nova等进行认证与授权,它对动作消息中的来源者进行合法性鉴定。 Keystone采用两种授权方式,一种基于用户名/密码,另一种基于令牌(Token)。除此之外,Keystone提供以下三种服务:

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

Nova:Nova是一套控制器,用于为单个用户或使用群组管理虚拟机实例的整个生命周期,根据用户需求来提供虚拟服务,Nova负责管理整个云的计算资源、网络资源、授权及测度。虽然Nova本身并不提供任何虚拟能力,但是它将使用libvirt API与虚拟机的宿主机进行交互。Nova通过Web服务API来对外提供处理接口。

Glance:Glance负责OpenStack的镜像服务,Glance是一套虚拟机镜像发现、注册、检索系统,它提供虚拟机镜像的存储,查询和检索功能,为nova进行服务,依赖于存储服务和数据库服务。

Swift:Swift为OpenStack提供了一种分布式、持续虚拟对象存储。Swift具有跨节点的存储能力。Swift组件有冗余和失效备援管理功能,也能够处理归档和媒体流,特别是对大数据和大容量的测度非常高效。

Cinder:Cinder是OpenStack的块存储服务组件,它管理所有块存储设备,为VM服务。

Neutorn:Neutorn为OpenStack提供虚拟的网络功能,为每个不同的租户建立独立的网络环境。

什么是OpenStack?的更多相关文章

  1. 视频 - 在 VirtualBox 中部署 OpenStack

    大家新年好,CloudMan 今天给大家带来一件新年礼物. 一直以来大家都反馈 OpenStack 学习有两大障碍:1. 实验环境难搭2. 体系复杂,难道大今天我就先帮大家解决环境问题.前两天我抽空在 ...

  2. 启用 Open vSwitch - 每天5分钟玩转 OpenStack(127)

    Linux Bridge 和 Open vSwitch 是目前 OpenStack 中使用最广泛的两种虚机交换机技术. 前面各章节我们已经学习了如何用 Linux Bridge 作为 ML2 mech ...

  3. Openstack Periodic Task

    Openstack Periodic Task 周期性任务在各个模块的manager.py(computer,scheduler,cell,network)中添加. 添加方法:在模块manager类实 ...

  4. 超千个节点OpenStack私有云案例(1):CERN 5000+ 计算节点私有云

    CERN:欧洲核子研究组织 本文根据以下几篇文章整理而来: https://www.openstack.org/summit/tokyo-2015/videos/presentation/unveil ...

  5. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建

    公司在IDC机房有两台很高配置的服务器,计划在上面部署openstack云平台虚拟化环境,用于承载后期开发测试和其他的一些对内业务.以下对openstack的部署过程及其使用做一详细介绍,仅仅依据本人 ...

  6. 添加 Pool Member - 每天5分钟玩转 OpenStack(123)

    我们已经有了 Load Balance Pool "web servers"和 VIP,接下来需要往 Pool 里添加 member 并学习如何使用 cloud image. 先准 ...

  7. 理解 Neutorn LBaaS - 每天5分钟玩转 OpenStack(120)

    Load Balance as a Service(LBaaS)是 Neutron 提供的一项高级网络服务.LBaaS 允许租户在自己的网络中创建和管理 load balancer. load bal ...

  8. 每天5分钟 玩转OpenStack 目录列表

    最近在学习 OpenStack 的相关知识,一直苦于 OpenStack 的体系庞大以及复杂程度,学习没有进度,停滞不前.偶然机会在 51CTO 上发现了一个热点的专题关于 OpenStack 的,题 ...

  9. openstack七大模块概述

    前言 OpenStack主要由七部分组成,分别是Identify, Image, Network, Compute, Block Storage, Object Storage, Dashboard, ...

  10. RedHat 和 Mirantis OpenStack 产品的版本和功能汇总和对比(持续更新)

    Mirantis 和 Red Hat 作为 OpenStack 商业化产品领域的两大领军企业,在行业内有重要的地位.因此,研究其产品版本发布周期和所支持的功能,对制定 OpenStack 产品的版本和 ...

随机推荐

  1. Python之时间日期操作

    常用时间操作的函数汇总, 涵盖 常用的time   datetime 1.计算两个日期相差天数 import datetime str1 = '2021-10-20' str2 = '2021-10- ...

  2. RabbitMQ之安装与使用

    官网:https://www.rabbitmq.com/ 一. RabbitMQ 简介 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入 ...

  3. 数据同步之DataX

    目前业务中需要进行数据同步, 考虑使用datax数据同步方式替换掉现有的同步方式 业务场景: 即将业务中每天生成的日志表中的数据部分字段同步到自己的库中,进行后台数据的查询 起因: 之前"大 ...

  4. python之日常开发常用库

    1. 配置文件解析(configobj) pip install configobj 基本使用: 配置文件 [server] name = zbj port = 9000 [home] # 注释 ar ...

  5. Element-UI 调整

    1.对话框 当打开的对话框页面元素众多,俨然一个iframe页面时,可以做2个优化: 滚动条:对话框去滚动,当对话框内容过多时,把滚动条控制在对话框内部,避免出现页面级的滚动条 标题栏:优化对话框标题 ...

  6. VLC web(http)控制 (2) 状态获取

    VLC 状态通过http://127.0.0.1:8080/requests/status.xml获取.(IP地址自行更换) 内容如下: <root> <fullscreen> ...

  7. SQLServer创建用户后无法登录,报错18456的解决方式

    原因:SQLServer没有设置为混合模式. 解决方法: 服务器本地通过Windows验证,打开SQLServer 右键服务器,选择安全性,选择为混合验证模式,然后重启SQLServer服务即可.

  8. 中电金信:技术实践|Flink多线程实现异构集群的动态负载均衡

    导语:Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算.本文主要从实际案例入手并结合作者的实践经验,向各位读者分享当应用场景中异构集群无法做到负载均衡时,如何通 ...

  9. TeamViewer 的替代品 ZeroTier + NoMachine

    之前不怎么用 TeamViewer,最近用的多了,特别好用,有点上瘾,在哪儿都能连家里的 RTX,太棒了. 然后它就开始作了. 有没有好的替代方案呢?有人推荐向日葵,向日葵显然是以盈利为目的的我不想再 ...

  10. 断言、drf之请求与响应

    目录 一.断言 二.drf之请求 2.1 Request能够解析的前端传入的编码格式 2.2 Request类有哪些属性和方法(学过) 常用参数 Response类的实例化参数 三.drf之响应 3. ...