作者:Glynn Foster 和 David Comay
2014 年 4 月发布(2014 年 6 月、2014 年 7 月和 2015 年 6 月更新)
|
Oracle Solaris 11 自带一个完整的 OpenStack 发行版,即面向 Oracle Solaris 的 OpenStack。OpenStack 是一个流行的开源云计算平台,其集中的 Web 式门户为管理和共享数据中心中的计算、网络和存储等资源提供了综合的自助式环境。OpenStack 已集成到 Oracle Solaris 的所有核心技术基础中,因此您可以在数分钟内建立一个企业级的私有云基础架构。
结合使用 OpenStack 和 Oracle Solaris 具有以下好处:
Oracle Solaris 11 包含 OpenStack Juno 发行版(Oracle Solaris 11.2 SRU 10.5 或 Oracle Solaris 11.3)。已使用 OpenStack Havana 发行版部署 OpenStack 云环境的管理员可以依照“从 Havana 到 Juno:OpenStack 升级程序”中的说明来更新此设置。
Oracle Solaris 11 中提供了以下 OpenStack 服务:
图 1.Oracle Solaris 与 OpenStack 之间的集成点
除 Oracle Solaris 本身的要求外,Oracle Solaris 11 上的 OpenStack 并无任何特别系统要求。不过,为了支持稍多一些 Nova 实例,可能需要额外的 CPU、内存和磁盘空间。有关一般系统要求的信息,请参见“Oracle Solaris 11 系统要求”。
在 Oracle Solaris 上开始使用 OpenStack 的简单方法是下载并安装 Oracle Solaris 11 OpenStack 统一存档,这样大约 10 分钟内即可轻松开始使用 OpenStack。所有基本 OpenStack 服务均已预先安装和配置,因此在单个系统上安装 OpenStack 非常简单。可以从 Oracle 技术网下载统一存档。
安装并进行少量定制之后,即可创建 VM(又称 Nova 实例),为其分配块存储,将其连接到虚拟网络,然后通过易于使用的 Web 浏览器界面管理。
统一存档预加载了两个 Glance 映像,一个适用于非全局区域,另一个适用于内核区域(solaris-kz
标记区域)。此外,通过使用新的 archiveadm
(1M) 命令,可以从运行 Oracle Solaris 11 的全局区域、非全局区域和内核区域新建存档,然后将其上载到 Glance 信息库供 OpenStack 使用。
为了使用统一存档法安装,必须有合适的目标。这个目标通常是一个可以通过 Automated Installer 安装统一存档的裸机系统,也可以是内核区域。虽然理论上统一存档可以安装在非全局区域中,但 Oracle Solaris 中的 Nova 计算虚拟化不支持嵌套的非全局区域。
这两种安装方法的详细说明包括在与存档相关的 README
文件中。有关更多详细信息,请参见该文件,但简单地说,可以用多种方法部署统一存档:
archiveadm
(1M) 从统一存档生成)的裸机安装zonecfg
(1M) 和 zoneadm
(1M) 命令直接安装到内核区域建议使用 Automated Installer (AI) 服务器在裸机上安装 OpenStack 统一存档。完成此操作后,您需要为适当的安装服务创建或修改清单,在其中包含以下片段,而不是典型的 IPS software
声明:
<software type="ARCHIVE"> <source> <file uri="/net/aiserver/archives/sol-11_3-openstack-sparc.uar"/> </source> <software_data action="install"> <name>*</name> </software_data> </software>
保存清单后,您需要将其与现有 AI 服务相关联。以下示例将其与现有的 default-sparc
AI 别名服务相关联:
# installadm list -m Service Name Manifest Name Type Status Criteria ------------ ------------- ---- ------ -------- default-sparc orig_default derived default none solaris11_3-sparc orig_default derived default none # installadm create-manifest -n default-sparc \ -m os_manifest -f openstack_manifest.xml -d Created Manifest: 'os_manifest' # installadm list -m Service Name Manifest Name Type Status Criteria ------------ ------------- ---- ------ -------- default-sparc os_manifest xml default none orig_default derived inactive none solaris11_3-sparc orig_default derived default none
更新 AI 清单之后,您可以通过网络来启动系统(在本例中,使用 SPARC 系统),如下所示:
{0} ok boot net - install Boot device: /pci@300/pci@1/pci@0/pci@1/network@0 File and args: - install 100 Mbps full duplex Link up <time unavailable> wanboot info: WAN boot messages->console <time unavailable> wanboot info: configuring /pci@300/pci@1/pci@0/pci@1/network@0 1000 Mbps full duplex Link up <time unavailable> wanboot progress: wanbootfs: Read 368 of 368 kB (100%) <time unavailable> wanboot info: wanbootfs: Download complete Tue Jun 16 08:47:08 wanboot progress: miniroot: Read 265784 of 265784 kB (100%) Tue Jun 16 08:47:08 wanboot info: miniroot: Download complete SunOS Release 5.11 Version 11.3 64-bit Copyright (c) 1983, 2015, Oracle and/or its affiliates. All rights reserved. Remounting root read/write Probing for device nodes ... Preparing network image for use Downloading solaris.zlib curl arguments --insecure for http://solaris:5555//export/auto_install/solaris11_3-sparc/solaris.zlib % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 229M 100 229M 0 0 110M 0 0:00:02 0:00:02 --:--:-- 110M Downloading solarismisc.zlib curl arguments --insecure for http://solaris:5555//export/auto_install/solaris11_3-sparc/solarismisc.zlib % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 22.5M 100 22.5M 0 0 102M 0 --:--:-- --:--:-- --:--:-- 103M Downloading .image_info curl arguments --insecure for http://solaris:5555//export/auto_install/solaris11_3-sparc/.image_info % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 85 100 85 0 0 6525 0 --:--:-- --:--:-- --:--:-- 8500 Done mounting image Configuring devices. Hostname: solaris Service discovery phase initiated Service name to look up: default-sparc Service discovery over multicast DNS failed Service default-sparc located at solaris:5555 will be used Service discovery finished successfully Process of obtaining install manifest initiated Using the install manifest obtained via service discovery solaris console login: Automated Installation started The progress of the Automated Installation will be output to the console Detailed logging is in the logfile at /system/volatile/install_log Press RETURN to get a login prompt at any time. 08:57:13 Install Log: /system/volatile/install_log 08:57:13 Using XML Manifest: /system/volatile/ai.xml 08:57:14 Using profile specification: /system/volatile/profile 08:57:14 Using service list file: /var/run/service_list 08:57:14 Starting installation. 08:57:14 0% Preparing for Installation 08:57:14 100% manifest-parser completed. 08:57:14 100% None 08:57:14 0% Preparing for Installation 08:57:14 1% Preparing for Installation 08:57:15 2% Preparing for Installation 08:57:15 3% Preparing for Installation 08:57:15 4% Preparing for Installation 08:57:15 5% archive-1 completed. 08:57:15 6% install-env-configuration completed. 08:57:21 9% target-discovery completed. 08:57:23 Pre-validating manifest targets before actual target selection 08:57:23 Selected Disk(s) : c0t5000CCA05692B8CCd0 08:57:23 Pre-validation of manifest targets completed 08:57:23 Validating combined manifest and archive origin targets 08:57:23 Selected Disk(s) : c0t5000CCA05692B8CCd0 08:57:23 9% target-selection completed. 08:57:23 10% ai-configuration completed. 08:57:23 10% var-share-dataset completed. 08:57:34 10% target-instantiation completed. 08:57:34 10% Beginning archive transfer 08:57:34 Commencing transfer of stream: 8334d198-2812-4e37-85a5-8ae335103f81-0.zfs to rpool 08:57:53 15% Transferring contents 08:57:55 16% Transferring contents 08:57:57 19% Transferring contents 08:57:59 22% Transferring contents 08:58:01 24% Transferring contents 08:58:03 28% Transferring contents 08:58:07 33% Transferring contents 08:58:09 35% Transferring contents 08:58:11 37% Transferring contents 08:58:14 40% Transferring contents 08:58:16 41% Transferring contents 08:58:18 47% Transferring contents 08:58:22 51% Transferring contents 08:58:24 54% Transferring contents 08:58:26 55% Transferring contents 08:58:28 60% Transferring contents 08:58:30 62% Transferring contents 08:58:36 65% Transferring contents 08:58:38 68% Transferring contents 08:58:41 69% Transferring contents 08:58:43 74% Transferring contents 08:58:47 78% Transferring contents 08:58:49 80% Transferring contents 08:58:51 82% Transferring contents 08:58:53 86% Transferring contents 08:59:07 Completed transfer of stream: '8334d198-2812-4e37-85a5-8ae335103f81-0.zfs' from http://10.10.10.111/sol-11_3-24-openstack-sparc.uar 08:59:09 Archive transfer completed 08:59:11 90% generated-transfer-778-1 completed. 08:59:11 90% apply-pkg-variant completed. 08:59:11 90% update-dump-adm completed. 08:59:11 90% setup-swap completed. 08:59:12 91% device-config completed. 08:59:14 91% apply-sysconfig completed. 08:59:14 91% transfer-zpool-cache completed. 08:59:15 97% boot-archive completed. 08:59:16 Setting boot devices in firmware 08:59:16 Setting openprom boot-device 08:59:17 98% boot-configuration completed. 08:59:17 98% transfer-ai-files completed. 08:59:17 98% cleanup-archive-install completed. 08:59:18 100% create-snapshot completed. 08:59:18 100% None 08:59:18 Automated Installation succeeded. 08:59:18 You may wish to reboot the system at this time. Automated Installation finished successfully The system can be rebooted now Please refer to the /system/volatile/install_log file for details After reboot it will be located at /var/log/install/install_log
安装完成后,您可以继续重新启动系统,并使用系统配置工具解决一些基本系统配置问题(假设您没有将系统配置文件关联为 AI 服务器配置的一部分)。有关 Automated Installer 的详细信息,请参见“安装 Oracle Solaris 11 系统”。
要将 OpenStack 统一存档安装到 Oracle Solaris 内核区域中,请使用现有的 zonecfg
(1M) 和 zoneadm
(1M) 命令。以下示例使用 SYSsolaris-kz
模板创建了一个 Oracle Solaris 内核区域,并分配了 8 个虚拟 CPU,内存上限设置为 12 GB。
# zonecfg -z openstack_zone Use 'create' to begin configuring a new zone. zonecfg:openstack_zone> create -t SYSsolaris-kz zonecfg:openstack_zone> select virtual-cpu zonecfg:openstack_zone:virtual-cpu> set ncpus=8 zonecfg:openstack_zone:virtual-cpu> end zonecfg:openstack_zone> select capped-memory zonecfg:openstack_zone:capped-memory> set physical=12g zonecfg:openstack_zone:capped-memory> end zonecfg:openstack_zone> verify zonecfg:openstack_zone> exit
成功创建区域配置之后,可以通过存档来安装内核区域。以下示例为该内核区域使用了一个 50 GB 的磁盘,确保有足够的空间来为 VM 实例创建卷。但是在本例中,您只能创建非全局区域作为 VM 计算环境。
# zoneadm -z openstack_zone install -a ./sol-11_3-openstack-sparc.uar \ -x install-size=50g
安装完成之后,启动内核区域并登录控制台:
# zoneadm -z openstack_zone boot # zlogin -C openstack_zone
与 Automated Installer 安装一样,系统会提示您使用系统配置工具进行进一步的系统配置。
当 OpenStack 安装完成之后,您可以登录 OpenStack Horizon 的基于 Web 的仪表盘,开始评估云环境并供应您的第一个 VM。
要登录到 Horizon,请将浏览器指向 http://mysystem/horizon
,其中 mysystem
是运行 Apache Web 服务下的 Horizon 服务的系统的名称。云管理员帐户已经过预配置,您可以使用 admin
帐户登录,密码为 secrete
。
图 2:OpenStack Horizon 仪表盘登录屏幕
当您使用云管理员身份登录时,您会注意到左侧的主导航菜单、左侧导航栏的当前选择定义的页面内容以及右上角的帐户凭证。在左侧导航菜单中,您可以看到三个主视图:Project、Admin 和 Identity。
您可以通过 Admin 视图查看云中所用 Nova 实例和 Cinder 卷的整体视图。您还可以通过它查看和编辑定义 VM 特征的 Flavor 定义,如为 VM 分配的虚拟 CPU 数、内存数量和磁盘空间。在 Oracle Solaris 上,还可以在这里定义底层 Oracle Solaris 区域标记,如非全局区域的 solaris
和内核区域的 solaris-kz
。最后,从系统供应的角度来看,您还可以通过此视图创建云用户所用的虚拟网络和路由器。
云管理员可以查看和编辑的其他主要元素涉及项目(也称租户)和用户。项目提供了一种组织和隔离虚拟计算资源所有权和用户的机制,用户是在云中使用这些资源的个人或服务。
图 3.显示管理窗格的 OpenStack Horizon 仪表盘
Project 视图详细呈现某用户当前正在使用的项目。默认情况下,admin
用户是 demo
项目的一部分(如屏幕右上角的帐户凭证所示)。单击该视图将提供云用户可在此项目下以用户身份执行的一组选项。当使用 Oracle Solaris 11 OpenStack 统一存档时,Compute 菜单的 Images 子菜单显示 Glance 服务已预填充两个映像:一个针对基于非全局区域的实例,另一个针对基于内核区域的实例。
在 Access & Security 子菜单下,用户可以将自己的个人 SSH 公钥上载至 Nova 服务。此公钥将自动放置在新实例 root 用户的 authorized_keys
文件中,允许用户远程登录到该实例。
图 4.通过 Glance 在映像和快照中可用的 Oracle Solaris 11.2 非全局区域
要创建新实例,云用户(admin
用户或任何多租户用户)只需单击 Instances 子菜单。单击右侧的 Launch Instance 将弹出一个对话框,云用户可在其中指定映像类型(默认情况下,选项为非全局区域或内核区域)、新实例名称以及实例的风格。后者应与映像类型中指定的区域类型匹配,且所选大小应反映目标负载的要求。
在对话框的 Access & Security 选项卡下,可以选择在即将新建的实例中安装哪个上载的 SSH 密钥对;在 Network 选项卡下,可以选择实例应连接的网络。最后,单击 Launch 将导致创建、安装和启动实例。新实例能够使用所需时间取决于多种因素,包括映像大小、所选风格定义中提供的资源以及 OpenStack 放置新实例根文件系统的位置。
在 Instances 子菜单屏幕中,可以单击实例名查看一般信息,也可以查看实例的控制台日志。重载此特定页可以查看已发生的更新。
注意,单击 Volumes 子菜单即可查看已创建的 Cinder 卷。通常,每个实例将分配至少一个卷,并显示在此处。在多节点配置中,此卷可能远程通过 iSCSI 或光纤通道等协议与该实例连接。为非全局区域组成的实例分配的卷必须位于云中的其他节点上。
单击 Network 菜单的 Network Topology 子菜单,您可以查看云网络的虚拟表示,包括所有子网段、虚拟路由器和活动实例。
现在,您已经在单节点环境中安装了 OpenStack,接下的常见步骤是创建一个多节点环境。尽管单节点配置非常适合用于评估 OpenStack,但它们不适用于以可扩展性和可靠性为关键目标的生产环境。
OpenStack 服务可以拆分到定义一个逻辑分组的多个物理节点上。每个云通常包含一个 Horizon 仪表盘、一个 Glance 映像存储库和一个 Keystone 身份服务。但是,一个云可以包含任意数量的计算和存储实例,当您希望利用不同供应商的不同虚拟机管理程序功能或数据中心中的不同后端存储设备时,这一点尤其有用。
典型的初始架构包括一个控制器节点、一个计算节点和一个存储节点。控制器节点托管大多数共享 OpenStack 服务,这些服务提供 OpenStack 的 API 端点、调度服务和其他共享功能。计算节点托管自助用户创建的 VM 实例。存储节点托管云的永久存储和临时存储。
图 5:跨三个物理节点的典型 OpenStack 初始架构
管理员需要了解关于 OpenStack 的更多信息以及不同的服务如何通过协同作业来实现这一目标。有关 OpenStack 的更多信息,请参阅“在 Oracle Solaris 11 中安装和配置 OpenStack”。
另请参见以下资源:
Glynn Foster 是 Oracle Solaris 的首席产品经理。他负责多个技术领域,包括 OpenStack、Oracle Solaris 映像包管理系统、安装和配置管理。
David Comay 是首席高级软件工程师,自 1996 年起开始在 Sun 和 Oracle 从事网络领域工作,专攻路由协议和 IPv6。他是最初两个 Oracle Solaris 8 更新版本和 Oracle Solaris 9 的操作系统/网络技术主管。后来,他转入资源管理领域,成为最初 Oracle Solaris 区域项目团队的成员。从其初始项目集成起,他一直领导该团队,直到 Oracle Solaris 10 结束以及几个后续 Oracle Solaris 10 更新版本。推动 Oracle Solaris 现代化改造计划并成为 OpenSolaris 二进制版本及 Oracle Solaris 11 技术主管之后,David 现在是最初关注 OpenStack 与 Oracle Solaris 的集成的 Oracle Solaris 云战略的架构师。
修订版 1.0,2014 年 4 月 28 日 |
修订版 1.1,2014 年 6 月 20 日 |
修订版 2.0,2014 年 7 月 30 日 |
修订版 3.0,2015 年 6 月 30 日 |