What You See Is What You Get Element

构建基于云的数据中心涉及的内容

使用 Oracle Solaris 11

作者:Ron Larson 和 Richard Friedman

本文讨论构建云时需要考虑的因素、Oracle Solaris 11 提供的云功能以及 Oracle Solaris 远程实验室的结构(Oracle Solaris 11 云的 Oracle 实现)。这是介绍如何使用 Oracle Solaris 11 构建云的系列文章中的第一篇。


2014 年 3 月发布


右箭头 第 1 部分 — 构建基于云的数据中心涉及的内容
右箭头 第 2 部分 — 保护基于云的数据中心

为何选择云?为何选择 Oracle Solaris 11?

目前来看,云模型显然可以为企业数据中心大幅节省成本。云计算通过共享池化资源,提高了硬件利用率和效率,同时还提供了弹性可扩展性,并可快速部署应用和服务。

想对本文发表评论吗?请将链接发布在 Facebook 的 OTN Garage 页面上。有类似文章要分享?请将其发布在 Facebook 或 Twitter 上,我们来进行讨论。

不那么明显的是,IT 部门可以使用 Oracle Solaris 11 轻松、免费地创建云基础架构。创建云所需的全部技术均已包含在操作系统 (OS) 中,或者可以轻松下载,无需修改即可直接工作。

在本系列文章中,我们将探讨云模型解决的一般业务需求,并介绍如何使用 Oracle Solaris 11 简单、轻松地创建云基础架构。

云的好处 — 解决业务需求

将 IT 中心基础架构整合成云的主要好处是提高效率、节约成本。通过公有或专用网络提供共享计算资源池,用户只需数分钟内即可完成启动运行。与此相反,典型数据中心获取、安装和实施新的专用服务器通常需要数周甚至数月时间。通过虚拟化整合服务器和存储可简化管理,提高资源利用率,简化对安全和合规性标准的遵从。

与传统数据中心相比,动态可扩展网格架构能够自动响应不断变化的需求,使云能成一种非常有吸引力的解决方案。

总体而言,云虚拟化给业务数据中心带来显著好处,包括:

  • 提高效率 — 通过集群和服务器虚拟化实现资源池化,可提供高度资源共享,降低复杂性和运营成本,并通过在较小的数据中心占地面积上平衡负载,提高总硬件利用率。
  • 高可用性 — 通过服务器集群和数据存储镜像实现冗余,可降低由于硬件故障或系统升级造成的中断和停机风险,确保持续运行和高质量的服务。
  • 弹性可扩展性 — 虚拟化允许动态更改要重新分配到其自己的虚拟机的负载。可以根据需要轻松地管理和重新分配专用资源,以隔离 I/O 或 CPU 密集型应用。使用虚拟集群,专用区域集群可以根据预定义的管理策略运行特定的业务应用。
  • 快速部署 — 通过虚拟化数据中心构建块(服务器、存储和网络),可以快速、轻松地部署标准应用环境,大大降低甚至消除安装、配置或修改物理组件的需求。

但首先,我们需要澄清术语云计算 所包含的一些概念和模型。

云即多层数据中心虚拟化

当我们谈到“云”时,实际上是在谈论通过服务器虚拟化 作为一个计算、存储和网络资源共享池管理的服务器集群。这与更传统的数据中心不同,后者由各个独立组件构成,如特定主机、存储设备、网络连接或应用。

通过服务器虚拟化,可以根据需要创建、分配和取消分配虚拟主机、虚拟存储和虚拟网络,从而提高硬件利用率和操作灵活性。

虚拟化是关键。对于用户而言,就像是在互联网上或公司私有云内某处有自己的专用服务器一样。根本不需要知道服务器的物理位置、外观或维护方法。随需随用。在现实中,主机操作系统衍生出共享环境,让多个用户同时感觉拥有自己的功能齐备的专用虚拟计算机。

将此功能提供给全球互联网上的用户,就是公有云。将此功能置于企业网络内部,只对员工以及受信任合作伙伴和客户提供,就是私有云。还可以是结合了公有云和私有云组件的混合云

我们很快就会看到,Oracle Solaris 11 提供了系统管理员虚拟化数据中心中所有物理要素(包括存储、操作系统和网络)所需的技术。一般而言,可以单独或组合使用以下三种基本虚拟化模型(两种基于软件,一种基于硬件)创建提供各种功能和复杂性的云基础架构:

  • 通过 Oracle Solaris 区域实现操作系统虚拟化
  • 虚拟机 (VM)
  • 物理(硬件)域

通过 Oracle Solaris 区域实现操作系统虚拟化

通过 Oracle Solaris 区域实现操作系统虚拟化在一个操作系统实例下提供了一个或多个隔离的执行环境。每个环境包含的都似乎是操作系统在它自己的容器中的私有副本,也就是区域。区域提供近乎原生的性能和灵活性,资源占用空间远小于虚拟机或物理域。

区域易于创建,为运行应用提供独立的安全环境。区域中运行的进程与系统的其他部分相隔离。这可以防止一个区域中运行的进程监视或影响其他区域中运行的进程,即使这些进程在自己的区域内拥有 root 凭证。资源分配可以防止一个区域中的进程影响同一台服务器上其他区域中进程的性能。因为区域不会在应用和操作系统之间引入软件层,从而消除了开销,可以提供近乎原生的性能。

虚拟机

虚拟机可以在一个硬件套装上运行多个操作系统。用户创建的每个 VM 运行自己的操作系统,无需与主机系统相同,每个独立的操作系统实例可以独立停止、重新启动和重新引导。活动的 VM 无需中断即可迁移到另一台物理机器。

Oracle Solaris 11 通过 Oracle VM Server for SPARC(以前称 Sun Logical Domains)、Oracle VM Server for x86 和 Oracle VM VirtualBox 支持这种虚拟化模型。

Oracle VM Server 依靠虚拟机管理程序,这个瘦软件层在 VM 之间对服务器 CPU、内存、I/O 和存储资源进行细分和分区。VM 中运行的 CPU 线程实现了原生性能。此模型中的虚拟化开销高于 Oracle Solaris 区域,因为它创建、供应和管理 VM 所需的时间通常较长。

物理域

硬件分区(又称物理域)在运行的操作系统与其资源和电源之间提供物理隔离。因为此模型不使用虚拟机管理程序,所以提供了裸机性能和最大程度的隔离,但资源配置的灵活性远逊于虚拟机或 Oracle Solaris 区域。

顾名思义,硬件分区特性内置到服务器硬件本身中。Oracle 在 Oracle SPARC Enterprise M 系列服务器中提供了这种类型的虚拟化。

云即服务

目前,三种服务模型推动云构建:软件即服务 (SaaS)、基础设施即服务 (IaaS) 和平台即服务 (PaaS)。云的使用方式决定了适合部署的服务模型。

  • SaaS — SaaS 通常指通过互联网在浏览器或专用应用中交付给最终用户的应用。SaaS 提供商数以百计,涵盖各种应用。例如,公有云中的 SaaS 模型:Oracle 云、Salesforce.com 和 Google Apps。
  • IaaS — 使用 IaaS,可以在网络上将完整的计算硬件和软件环境(服务器、存储、网络和操作系统)作为服务提供。例如,Amazon Web Services 提供用于计算服务器的 Elastic Compute Cloud (EC2)、用于数据库的 SimpleDB 以及用于存储的 Simple Storage Service (S3)。
  • PaaS — PaaS 模型将应用开发和部署平台作为服务提供给开发人员,让他们可以快速地为最终用户构建和部署 SaaS 应用。这些平台通常包括数据库和中间件,往往是特定于某种语言或 API。例如,Google AppEngine 基于 Java 和 Python,EngineYard 基于 Ruby on Rails,Force.com 使用 Java 的一种专有变体。

选择适合的虚拟化模型

最佳的虚拟化模型是最符合项目要求的。以下列表将各种环境映射到虚拟化模型,表 1 介绍了其优缺点:

  • 通过 Oracle VM VirtualBox 提供的虚拟机 — 最适合在自己的桌面上或远程虚拟化服务器内工作的开发人员,但显然不是适合构建数据中心的模型
  • 通过 Oracle VM 服务器提供的虚拟机 — 最适合需要在一个基础架构上部署多个操作系统,而应用性能和安全性并非首要考虑因素的开发环境或环境
  • Oracle Solaris 区域 — 最适合要求高效率和高性能、用于任务关键型企业应用的生产环境
表 1.虚拟化模型的优缺点
虚拟化模型 优点 缺点
虚拟机
  • 每个 VM 可以运行不同的操作系统。
  • 设备可以直接分配给 VM。
  • 用户拥有 root 口令访问权限,可授权他们对 VM 进行“裸机”管理。
  • 不如 Oracle Solaris 区域动态灵活
  • 开销多于 Oracle Solaris 区域
Oracle Solaris 区域
  • 开销很低。
  • 创建和管理非常快捷。
  • 极具动态性。
  • 一台服务器上的所有区域运行相同版本的 Oracle Solaris。
  • 虽然用户在其区域内拥有 root 访问权限,但不能执行需要“裸机”访问的命令,如格式化大容量存储。
  • 一台服务器上的所有区域运行相同版本的 Oracle Solaris。

使用 Oracle Solaris 区域创建云的好处

Oracle Solaris 区域提供了一种真正快速、高效创建云的方式。

Oracle Solaris 区域虚拟化通常称作轻量级虚拟化,因为区域中运行应用的开销最小。全局区域运行 Oracle Solaris 内核、设备驱动程序以及操作系统的其余部分。用户分配到运行应用的非全局区域。这些非全局区域彼此隔离,无法修改或影响共享全局区域,在用户看来,就像是自己的 Oracle Solaris 安装,有自己的文件系统、网络地址等。

因为非全局区域没有虚拟化层,很容易达到高性能。虽然非全局区域运行的操作系统版本与全局区域相同,但可以为原来在 Oracle Solaris 10、Oracle Solaris 9、或 Oracle Solaris 8 容器中运行的应用创建 Oracle Solaris 11“标记”的区域。

Oracle Solaris 区域技术以完全集成到 Oracle Solaris 11 中,可以安全地委托区域管理,更好地与 ZFS 和资源管理产品集成。例如,可以从命令行或通过 Oracle Enterprise Manager Ops Center 的 GUI 轻松创建和管理区域。

如何开始在 Oracle Solaris 11 中创建 Oracle Solaris 区域”一文介绍了创建、安装、引导和自动配置 Oracle Solaris 区域、创建 ZFS 数据集和网络是多么轻松。本文还演示了如何使用 Oracle Solaris 映像包管理系统将应用添加到区域,然后克隆区域,创建具有相同配置的新区域。

Oracle Solaris 远程实验室 — 概述

Oracle Solaris 远程实验室很好地阐释了如何使用 Oracle Solaris 11 构建云来实现业务解决方案。实验室是金牌及以上级别 Oracle PartnerNetwork (OPN) 兼 Oracle Solaris 知识区成员的权益,为这些成员提供基于 Web、运行最新 Oracle Solaris 主要版本的实时环境,可用于测试和验证应用。

Oracle Solaris 远程实验室

图 1.Oracle Solaris 远程实验室

要在实验室中测试和验证应用,开发人员通常要执行以下操作:

  1. 确定安装和测试应用所需的服务器、数据库和客户端配置,然后在实验室中创建相应的 Oracle Solaris 区域。

    :图 1 第 1 步显示“查看虚拟机”。如本文前面所述,Oracle Solaris 区域执行与虚拟机类似的功能,因此,可以视为虚拟机,但区域更轻量、更强大。

  2. 上载安装文件及测试所需的任何数据文件。
  3. 安装应用。
  4. 运行验证测试。
  5. 将测试结果分别下载到本地系统。
  6. 查看结果。

开发人员将重复第 3 步到第 7 步,调优和改进应用以获得最佳性能。

实验室基于 Oracle Solaris 11 核心的云技术。它是一个虚拟实验室,准许用户通过安全的 Web 浏览器远程访问以 Oracle Solaris 区域形式创建的虚拟机。用户立即可以随时随地访问一个运行 Oracle Solaris 11 的安全、隔离的测试环境。用户只需单击一下,就可以轻松创建自己的区域,无需为自己的测试环境获取、构建和供应服务器,大大节省了成本和时间。

这些现成可用的虚拟机在实验室以基于 SPARC 或基于 x86 的 Oracle Solaris 区域形式实现,预装了 Oracle 数据库、Oracle 融合中间件和/或 Oracle Solaris Studio。Oracle Secure Global Desktop 让您可以通过命令行终端会话或全屏 Oracle Solaris 桌面访问用户区域。Oracle Secure Global Desktop 还提供了在用户本地系统与实验室分配给他们的安全存储之间远程文件传输的功能。

我们来快速了解如何将所有这些步骤合起来创建公有云。本系列稍后的文章将介绍其中一些细节。

Oracle Solaris 远程实验室虚拟化

作为开发人员云,实验室依赖于 Oracle Solaris 11 原生的虚拟化技术。通过虚拟化共享资源大大提高了实验室后端计算和存储服务器的总体利用率。计算、数据和网络虚拟化的实验室实现使用 Oracle Solaris 区域、ZFS 文件系统和 Oracle Solaris 11 网络虚拟化技术。

Oracle Solaris 区域

Oracle Solaris 远程实验室实现广泛使用 Oracle Solaris 区域。NFS 服务器和 Oracle Secure Global Desktop 服务器均采用 Oracle Solaris 区域实现。通过克隆现有区域,复制源区域所有属性和供应,即可创建新区域。新区域包括定制源区域时所做的所有更改和配置。区域克隆所需开销极小,远比从头新建一个区域省时,而且用户可以立即访问已经配置好应用软件(如 Oracle 数据库实例或 Oracle 融合中间件)的现成可用区域。

Oracle Solaris 11 ZFS 文件系统

ZFS 是用于 Oracle Solaris 11 和 Oracle Solaris 11 远程实验室的默认文件系统。ZFS 凭借自我修复功能、透明加密和快照特性,简化了 PB 级存储的部署和管理。ZFS 引入了虚拟存储池的概念,将文件系统与物理存储分离,就像虚拟内存从物理内存抽象出地址空间,这样可以更高效地使用存储设备。详情将在后文中讨论。

Oracle Solaris 远程实验室前端

基于 Web 的门户网站提供了实验室的主要入口。用户从任何 Web 浏览器登录仪表盘来管理虚拟机(以 Oracle Solaris 区域形式)、打开终端会话或全屏 Oracle Solaris 桌面,启动文件传输。

创建、重启和删除区域

用户在仪表盘上最多可以创建 5 个虚拟机(区域),这些虚拟机可以是 x86 或 SPARC 机器,也可以是两者的组合。用户使用仪表盘可以在几秒钟内重新启动并可安全地删除区域。

每个区域有 4 GB RAM 和 10 GB 磁盘空间,用户可以选择从 Oracle Solaris 11 映像库创建区域,映像库预装了供应的数据库或中间件软件。

创建新区域的请求添加到前端的工作队列中。区域的供应在后端完成,其中一个服务器启动和创建区域,只需几分钟即可供使用。

工作队列是一个 MySQL 数据库,提供了实验室内的主要通信通道。它充当一个队列系统,记录对后端供应服务的所有请求。后端服务器中的 Java 代理定期轮询数据库,查找它们可以执行的未完成作业请求。

用户访问

要访问区域,用户可以从仪表盘打开终端会话或 Oracle Solaris 11 全屏桌面。该实现采用 Oracle Secure Global Desktop,它使用远程显示协议(自适应互联网协议,即 AIP)提供从各种系统和移动设备到桌面应用的安全远程访问。Oracle Secure Global Desktop 即使在高延迟的 WAN 链路上也能提供出色的性能。

用户在实验室注册时,会创建一个 Oracle Secure Global Desktop 服务器区域并分配给该用户。这个服务器区域占用了唯一的、还分配了用户区域的 VLAN,VLAN 连接到实验室前端中的 Oracle Secure Global Desktop 网关。该网关将用户网络流量指引到正确的用户 VLAN 和区域。

传输文件和数据

NFS 服务器通过共享目录 /data 在实验室实现永久数据存储,该目录挂载在每个用户区域中出现的专用 NFS 服务器区域中。在用户区域之间共享数据只需将文件复制到 /data 和复制该目录中的文件。

用户本地计算机和实验室区域之间的文件传输由利用为用户创建的专用 NFS 服务器的文件上载和下载机制处理。上载机制允许将文件从用户本地系统或设备传输到共享 /data 目录,让该用户的区域都可访问这些文件。类似地,将待传输文件放在 /data 目录中并从仪表盘启动文件下载,即可下载到用户本地机器。

安全性

开发人员云要求每个用户的数据、应用和网络保持私密性。由于虚拟化都是关于资源共享,因此提供高级别的安全性很重要。同时,应始终保护整个系统的完整性,防止入侵者攻击。

实验室不仅隔离前端和后端服务器,还利用了虚拟化技术,从而实现了高度安全。在实验室设计中,主要考虑了数据、计算资源和网络安全。后文将介绍每个问题都是如何处理的。

Oracle Solaris 远程实验室开发人员云管理

实验室之类的开发人员云管理包括用户帐户管理、软件包管理、资源审计和操作监视。整个用户体验由脚本提供,从处理用户登录/注销到创建和删除虚拟机以及更新安装的软件均由脚本完成。后文将介绍如何使用标准 Oracle Solaris 11 组件实现所有这些特性。

总结

在本文中,我们介绍了构建云服务时使用的一些 Oracle Solaris 11 基本虚拟化组件。我们还介绍了 Oracle Solaris 远程实验室这个云示例,它为用户提供受控的虚拟环境来测试和验证应用。

在下一篇文章中,我们将介绍 Oracle Solaris 11 如何为 Oracle Solaris 远程实验室提供数据安全性。

另请参见

关于作者

Ron Larson 从事计算行业工作长达 45 年,在计算机和软件系统设计、原型开发和实施方面拥有丰富经验。目前他是 Oracle Solaris 远程实验室项目的项目经理。

Richard Friedman 是一位自由技术撰稿人,在高性能计算、软件应用开发和编程语言方面拥有 30 多年的从业经验。

修订版 1.0,2014 年 3 月 17 日

关注我们:
博客 | Facebook | Twitter | YouTube