Skip to content Skip to main navigation Skip to footer

Linux:OpenStack详细解读:定义,好处与使用实例

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仪表板实现许多功能。首先,通过云管理员分配给我们的用户名及密码登录到仪表板中。

登录之后,可以看到服务器使用量与每台服务器的当前状态,如图一。

https://dn-linuxcn.qbox.me/data/attachment/album/201111/21/111012fmfyrl9z79fflbyk.png  图一

大家也可以点击查看哪些服务器处于终止状态。请注意,这里的正常运行时间并不会显示每套单独服务器的状态。

用户仪表板左侧的菜单提供的是我们所能执行的仪表板操作选项,所发出的命令通过API传递至终端。系统面板(也就是页面最上方的菜单)提供另一套视图,使得管理员能够监控使用状态、检查云中正在运行的服务并管理用户及项目的配额。

如何在仪表板中启用实例

现在,大家已经初步熟悉了仪表板的总体布局,接下来就该利用自己的云启动一套新的虚拟机系统,也就是镜像实例。一般来说,我们的云管理员应该已经上 传了启动所必需的镜像。如果没有,我将在后文中讨论如何创建自定义镜像。要想启动镜像,首先找到仪表板中的镜像选项,在选定所要启动的镜像类型后点击启用 按钮。图二中显示了可用的几款Ubuntu服务器镜像以及一款Windows镜像。

https://dn-linuxcn.qbox.me/data/attachment/album/201111/21/1110139x2mtmssmcfezoa3.png  图二

如果大家通过点击启动按钮完成镜像启动工作,那么接下来将会看到如图三所示的启动实例窗口。

https://dn-linuxcn.qbox.me/data/attachment/album/201111/21/1110133dqbcq03czs9pq30.png  图三

此窗口包含了为服务器命名、在启动中插入某些用户数据、选择CPU数量、硬盘空间以及RAM数量等功能,设置完成后点击“启动实例”。现在我们已经 拥有了一套虚拟服务器,无论是SSH还是正常使用都没问题,就像普通的服务器一样。但同时我们也省去了大量组装、部署、布线等常规服务器所带来的诸多麻 烦。

如何使用虚拟机实例

所谓实例,是指具备特殊规格内存、硬盘空间以及CPU的虚拟机。在OpenStack Compute的辅助下,我们通过对云的调整及启用,可以让用户实现启动实例、重启实例以及保存快照以备日后再利用等工作。

通过观察用户仪表板中的实例,我们能够清楚地看到自己刚刚所启动的实例。对于每个实例,我们都有数个操作选项,例如终止实例、重新启动、保存快照等 等——这些操作的实现都依靠OpenStack Compute API 1.1的支持。我们也可以打开一个控制台窗口或是查看某个处于仪表板内的实例的日志文件。

为镜像添加安全密钥

安全功能是我们控制发往自己虚拟机访问的必要保障,OpenStack通过两种认证机制管理客户端工具。一种是仪表板自带的用户名及密码机制;另一 种则是“密钥对”,密钥为用户的实例提供安全验证。只有当用户能够同时通过以上两种认证过程时,才能够获得在OpenStack云中访问目标实例的权限。 密钥对(包括公共密钥对与私有密钥对)在我们启用实例时可以作为非常有用的参数。举例来说,要启动一套实例并加以访问,我们必须利用SSH创建一套密钥 对,这样就能够识别通过SSH访问该实例的用户。

OpenStack仪表板让我们能够在密钥对选项中通过点击创建新密钥对管理密钥。在下图当中,大家可以为自己的密钥对命名,然后点击创建密钥按 钮。创建新密钥对的过程包括登记公共密钥及下载私有密钥(一个.pem文件)两部分。由于这一创建工作完全是为我们的使用服务,因此请务必像对待其它 SSH私有密钥一样妥善加以保管。详见图四。

https://dn-linuxcn.qbox.me/data/attachment/album/201111/21/111013jccb559p2oroc9cz.png  图四

0 Comments

There are no comments yet

Leave a comment

Your email address will not be published.