开启云之旅:OpenStack组件简介

随着越来越多的企业考虑选择不同的私有云平台,组织了解开源的OpenStack与市场上其他流行的云计算软件之间的区别是很重要的。本文我将介绍OpenStack和一些必备的OpenStack组件。

OpenStack生态系统

OpenStack和Amazon EC2非常类似,两大平台都允许用户使用仪表盘或者API部署虚拟机。除OpenStack免费之外,两大产品的重大差别是Amazon EC2是一个公有云服务,而OpenStack允许你构建自己的私有云或者订阅OpenStack公有云厂商的服务。

OpenStack不是一个hypervisor,但能够与一些不同的hypervisor一起使用。用户可以选择在机器或者拥有内置hypervisor的操作系统(比如Linux KVM)上部署hypervisor。使用OpenStack裸金属部署项目Ironic,用户能够将虚拟机推送到裸金属服务器上。

OpenStack包括很多组件,部分组件如下:

Horizon(仪表盘)为OpenStack服务提供基于Web的用户界面。

Nova(计算)包括控制器和计算节点。计算节点使用OpenStack的镜像服务提取虚拟机镜像并在目标服务器上创建虚拟机。针对不同平台比如提供了不同的API,比如XenAPI、VMwareAPI、针对Linux KVM的API、针对Amazon EC2 以及微软 Hyper-V的API。

Neutron(网络)创建虚拟网络以及网络接口,连接众多专用厂商的网络产品。

Swift(对象存储)与Amazon S3类似,它使用REST Web服务检索单个对象,比如一个镜像。

Cinder(块存储)包括磁盘文件,诸如日志等等。与对象存储相比,Cinder只允许替换文件,块存储允许你增加文件内容。

Keystone(身份存储)授权用户以及进程基于Keystone生成的认证令牌访问不同的OpenStack工具。

Glance(镜像服务)生成虚拟机镜像。这恰恰是OpenStack作为云操作系统独到之处:由于镜像可以是各种虚拟机,这意味着不同平台之间有很多不同的版本,但都来自于一个公共源。Glance是你已经上传的虚拟机目录,整个组织都可以使用。

Trove(数据库服务器)为不同的数据库提供支持。

OpenStack组件使用各种版本的MySQL数据库、消息队列服务器以及Python执行任务。OpenStack甚至提供了一个Python 命令行接口。下面列举了一些示例命令帮助你上手。

你可以使用如下命令从公共Linux资源库下载Keystone:

apt-get install keystone python-keystoneclient

然后使用如下命令在Keystone上创建用户:

keystone user-create --name Sam --description "Sam"

输入如下命令,列出使用Nova的虚拟机镜像:

nova image-list

输入“python”命令打开一个Python shell,然后输入类似如下命令:

from keystoneclient.v2_0 import client

然后可以开始创建用户并给用户授权,一次执行一个命令。

不熟悉Python?不必担心,OpenStack允许你选择使用Python CLI或者仪表盘。

作为开源平台的OpenStack

Rackspace以及NASA开发了OpenStack然后将其作为一个开源平台。这当然意味着任何开发人员都可以编写新例程或者修复现有例程,然后使用Github产看源代码变化情况。大多数OpenStack贡献者为大赞助商比如Rackspace工作,另一个主要的赞助商PayPal使用OpenStack运营其平台。

有很多OpenStack项目,很多是专业项目,比如裸金属安装。大多数用户甚至不需要OpenStack源代码,因为可以获取已编译的Python包,可以使用apt-get工具安装OpenStack。

如果你有兴趣了解更多的OpenStack或者测试OpenStack组件,OpenStack还提供了开发版本。

你可以按照我们编写的指南在Ubuntu桌面上安装OpenStack。或者你可以使用Canonical的OpenStack自动驾驶向导部署OpenStack。

本文转自d1net(转载)

上一篇:SAP RETAIL供应商寄售库存跨公司转移后的库存状况


下一篇:Delphi 正则表达式语法(1): 关于大小写与中文