OpenStack

来自站长百科
跳转至: 导航、​ 搜索

OpenStack是一个开源云计算平台,它不是一个单一的软件,而是由多个相互独立的组件组成的集合。这些组件通常由不同的团队进行开发和维护,但它们共同工作以提供一个完整的云平台解决方案。

OpenStack被设计为一个通用的云平台,可以用来构建和管理公有云和私有云。它提供了一种标准化的方法来部署、管理和自动化数据中心的资源。

概述[ ]

OpenStack是一个开源的云计算管理平台项目,旨在提供可扩展的、弹性的云计算服务,同时支持私有云和公有云部署。它由一系列软件开源项目组成,包括计算(Nova)、网络(Neutron)、存储(Cinder、Swift)、身份认证(Keystone)、图像服务(Glance)等。其目标是提供简单、可大规模扩展、丰富、标准统一的云计算管理平台,以满足各种部署需求。

OpenStack由Rackspace和NASA共同开发,旨在帮助服务提供商和企业实现类似Amazon EC2和S3的云基础架构服务(Infrastructure as a Service)。OpenStack包括两个主要模块:Nova和Swift。Nova是NASA开发的虚拟服务器部署和业务计算模块;Swift是Rackspace开发的分布式云存储模块。这两个模块可以一起使用,也可以单独使用。

作为一个开源项目,OpenStack除了得到Rackspace和NASA的大力支持外,还有包括Dell、Citrix、Cisco和Canonical等重量级公司的贡献和支持。OpenStack的发展速度非常快,有潜力取代业界领先的开源云平台Eucalyptus。

工作流程[ ]

OpenStack的各个服务之间通过统一的REST风格的API进行调用,实现了系统的松耦合设计。这些内部组件协同工作,形成了一个有序的整合体。计算资源的分配、控制调度和网络通信等关键功能都通过AMQP(Advanced Message Queuing Protocol)实现交互。

在OpenStack的架构中,上层用户包括程序员、一般用户以及Horizon界面等模块。这些用户都是通过各个组件提供的API接口与OpenStack进行交云。同时,它们之间也通过AMQP进行相互调用,共同利用底层的虚拟资源,为终端用户和应用程序提供云计算服务。

架构[ ]

Neutron、Nova、Glance和Cinder分别为VM(虚拟机)提供网络、计算、镜像和存储服务,相当于实体机的网卡、CPU与内存、操作系统和硬盘。Cellometer则计量各种资源的使用情况并提供统计信息给其他服务使用。用户可以通过Horizon的UI界面便捷管理虚拟机,Keystone则提供认证服务,给用户不同的访问与管理权限。Swift实现对象存储,对用户可实现云存储,对Cinder可提供卷备份服务,为Glance提供镜像存储服务,提高系统的容灾能力。

核心功能[ ]

1、计算(Compute)- Nova

Nova是一套控制器,它管理虚拟机实例的生命周期,包括创建、启动、关闭、暂停、调整、迁移、重启和销毁等操作,并配置CPU和内存等硬件资源。自Austin版本起成为OpenStack的一部分。

2、对象存储(Object Storage)- Swift

Swift是一个大规模可扩展的对象存储系统,具有内置的冗余和高容错机制,用于存储和检索非结构化数据。它也为Glance提供镜像存储,为Cinder提供卷备份服务。自Austin版本起集成到项目中。

3、镜像服务(Image Service)- Glance

Glance负责虚拟机镜像的发现和检索,支持多种格式如AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD和VMDK。它允许用户上传、删除以及编辑镜像信息。自Bexar版本集成到项目中。

4、身份服务(Identity Service)- Keystone

Keystone为OpenStack的其他服务提供身份验证、服务规则和服务令牌,管理(Domains)、项目(Projects)、用户(Users)、组(Groups)和角色(Roles)。自Essex版本集成到项目中。

5、网络&地址管理(Network)- Neutron

Neutron提供网络虚拟化并支持OpenStack其他服务的联网需求。它允许用户定义网络(Networks)、子网(Subnets)、路由器(Routers),配置DHCP、DNS、负载均衡和L3服务,并支持GRE、VLAN等网络技术。自Folsom版本集成到项目中。

6、块存储(Block Storage)- Cinder

Cinder提供稳定的数据块存储服务给运行中的实例,通过插件驱动架构来创建和管理数据卷,如创建、删除以及在实例上挂载和卸载数据卷。自Folsom版本集成到项目中。

7、UI界面(Dashboard)- Horizon

Horizon是OpenStack服务的Web管理门户,简化了用户对各种服务的操作流程,例如启动实例、分配IP地址、配置访问控制等。自Essex版本集成到项目中。

8、测量(Metering)- Ceilometer

Ceilometer收集OpenStack内部发生的事件,并为计费、监控以及其他服务提供数据支持。自Havana版本集成到项目中。

9、部署编排(Orchestration)- Heat

Heat通过模板定义了一种协同部署方式,实现计算、存储和网络资源的自动化部署,从而简化了云基础设施软件环境的搭建过程。自Havana版本集成到项目中。

10、数据库服务(Database Service)- Trove

Trove提供了一个可扩展和可靠的数据库引擎服务,支持关系型和非关系型数据库,供用户在OpenStack环境中使用。自Icehouse版本集成到项目中。

相关条目[ ]