OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人都将OpenStack作为基础设施即服务(简称IaaS)资源的通用前端。OpenStack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。本文希望通过提供必要的指导信息,帮助大家利用OpenStack前端来设置及管理自己的公共云或私有云。
内容详解
OpenStack包括数个由社区维护的项目,具体情况我将在后文中详加阐述。
● OpenStack Compute (Nova)是一套控制器,用于为单个用户或使用群组启动虚拟机实例。它同样能够用于为包含着多个实例的特定项目设置网络。OpenStack Compute在公共云处理方面堪与Amazon EC2相提并论;而在私有云方面也毫不逊色于VMware的产品。在公共云中,这套管理机制将提供预制的镜像或是为用户创建的镜像提供存储机制,这样用户就能够将镜像以虚拟机的形式启动。
● OpenStack 对象存储(Swift)是一套用于在大规模可扩展系统中通过内置冗余及容错机制实现对象存储的系统。这些对象能够通过一个REST API或是像Cyberduck这样可以对接对象存储API的客户端加以恢复。
● OpenStack镜像服务 (Glance)是一套虚拟机镜像查找及检索系统。它能够以三种形式加以配置:利用OpenStack对象存储机制来存储镜像;利用Amazon的简单存储解决方案(简称S3)直接存储信息;或者将S3存储与对象存储结合起来,作为S3访问的连接器。OpenStack镜像服务支持多种虚拟机镜像格式,包括VMware(VMDK)、Amazon镜像(AKI、ARI、AMI)以及VirtualBox所支持的各种磁盘格式。镜像元数据的容器格式包括Amazon的AKI、ARI以及AMI信息,标准OVF格式以及二进制大型数据。
最近根据投票结果纳入“核心”项目集团的新成员是一项代号为“Keystone”的身份服务以及一套基于Django的仪表板接口,后者的代号为“Horizon”。本文中的仪表板示例也来源于这一项目。
初窥门径
尝试探索OpenStack Compute最为合适的起点莫过于devstack.org站点,它为开发人员或是概念验证者们提供了一套脚本化安装方案。来自docs.openstack.org的OpenStack入门教程同样具备一步步详细的指示,帮助我们在Ubuntu 11.10中设定OpenStack Compute、镜像服务以及多合一对象存储的安装。如果大家拥有一台自己的服务器,并打算利用它搞一些概念验证工作,那么 点击此处 可以获取一套专门供裸机使用的StackOps安装系统。有了它,我们可以通过CD或者USB记忆棒完成OpenStack的安装。
各位还可以利用docs.openstack.org上提供的对象存储管理员指南或者OpenStack Compute管理员指南中的安装说明,设置出生产级别的OpenStack对象存储集群或是OpenStack Compute云。
OpenStack的使用
安装结束之后,接下来我们就要看看如何利用部分安全功能,通过仪表板接口或是命令行启动OpenStack Compute实例。我还将展示面向对象存储的、用于通过块存储备份镜像或者视频的接口。
登录到仪表板接口
OpenStack的仪表板是安装在运行着Nova API服务的节点中的。通过这套仪表板,大家应该可以看出Nova API实例的URL与有效仪表板的证书一样,也包括用户名及密码。
只要有了用户名与密码,大家可以利用OpenStack仪表板实现许多功能。首先,通过云管理员分配给我们的用户名及密码登录到仪表板中。
登录之后,可以看到服务器使用量与每台服务器的当前状态,如图一。
图一
大家也可以点击查看哪些服务器处于终止状态。请注意,这里的正常运行时间并不会显示每套单独服务器的状态。
用户仪表板左侧的菜单提供的是我们所能执行的仪表板操作选项,所发出的命令通过API传递至终端。系统面板(也就是页面最上方的菜单)提供另一套视图,使得管理员能够监控使用状态、检查云中正在运行的服务并管理用户及项目的配额。