Infrastructure as a Service (IaaS) 云平台种类繁多,例如像Nebula 和 Eucalyptus 这样为人熟知的解决方案。而此领域的一个新来者已展示了其不俗的增长,不仅包括用户数量的增长,还包括支持公司的数量的大量增长。在本文中,我们将了解这个开源平台 OpenStack,发现它是否真的是一种开源云操作系统。
云和公共 Infrastructure as a Service (IaaS) 背后的理念并不算很新。实际上,AmazonElastic Compute Cloud (Amazon EC2) 到今年已经有六岁了。有所改变的是,现在已经主要将 IaaS 作为一种私有云计算,以满足具有敏感数据的企业计算。私有云计算将 IaaS 的理念应用到私有基础架构。虽然这么做缺少公共云(现收现付服务)的经济优势,但它充分利用了云计算的核心原理,使企业数据中心内有了可伸缩和弹性的基础架构。
Swift(或 OpenStack ObjectStorage)项目可通过配置了普通硬盘的标准服务器提供可伸缩的冗余存储集群。Swift 并不代表一个文件系统,它实现的是一个更为传统的对象存储系统,可用于主要是静态数据(一种关键的使用模型是静态 VM 映像)的长期存储。Swift 不具备集中式控制器,它能改善整体的可伸缩性。它在内部管理跨集群的复制(无需独立磁盘冗余阵列)来提高可靠性。
Glance(或 OpenStack ImageService)为 Nova 能够使用(此选项存储在 Swift 内)的虚拟磁盘映像提供了一个存储库。Glance 提供了一个 API 来注册磁盘映像,此外还提供了通过一个简单的 Representational State Transfer (REST) 界面的发现和交付。Glance很大程度上对虚拟磁盘映像格式不可知,支持各种标准,包括 VDI (VirtualBox)、VHD (Microsoft® Hyper-V®)、QCOW2 (QEMU/KVM)、VMDK/OVF(VMware) 以及原始格式。Glance 还提供了磁盘映像校验和、版本控制(和其他元数据)以及虚拟磁盘验证和审计/调试日志。
阅读过我之前文章的读者都知道我是一个 VM 映像迷,热衷于基于 Linux 软件的简化使用。VM 允许您轻松地创建一个新实例来尝试或演示软件。此 VM 是一个自包含的 Linux 实例(有时称作虚拟设备),可以用必要的软件预安装并预配置以供使用。以这种方式配置的软件可极大地简化其使用,让您得以试验那些否则很难掌握或掌握起来很耗时的软件。参阅参考资料 获取满足您特定的硬件和基础操作系统需求的安装选项。
对于本次展示,我决定使用最新的 Ubuntu 发布版 (12.04) 和 OpenStack Essex 发布版。Essex 的 ISO 版本可以使用 uksysadmin 安装程序进行安装(参见参考资料)。在 Ubuntu Precise 上成功安装了 OpenStack Essex 后,使用一个外部的 Web 浏览器能够登录 OpenStack 仪表盘。图 3 显示了具有两种容器格式的来宾(Guest) VM 映像的 System Panel Images 选项卡界面。
The authenticity of host '172.16.1.1 (172.16.1.1)' can't be established.
RSA key fingerprint is df:0e:d0:32:f8:6d:74:49:ea:60:99:82:f1:07:5d:3b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.1.1' (RSA) to the list of known hosts.
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-virtual x86_64)
* Documentation: https://help.ubuntu.com/
System information disabled due to load higher than 1.0
0 packages can be updated.
0 updates are security updates.
Get cloud support with Ubuntu Advantage Cloud Guest
http://www.ubuntu.com/business/services/cloud
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
ubuntu@demo1:~[ DISCUZ_CODE_3 ]nbsp;
ubuntu@demo1:~$ hostname
demo1
ubuntu@demo1:~$ ps
PID TTY TIME CMD
835 pts/0 00:00:06 bash
948 pts/0 00:00:00 ps
ubuntu@demo1:~$
复制代码
所有这些层都运行后,可能很难想象所发生的事情。图 5 展示了整个堆栈,希望能帮助解释清楚。在这个演示中,运行 Mac OS X 的 Mac 提供了基础平台。VirtualBox 运行于 Mac OS X 之上,提供了 OpenStack 的执行平台(运行于 Ubuntu Linux 上)。注意,VirtualBox 是一个类型-2 的虚拟化管理程序。在 OpenStack Linux 层,QEMU 被用作一个来宾系统管理程序,从硬件角度来看,这很理想,但缺乏真正的产品设置所需的性能。