Oracle VM Server for SPARC 在虚拟化战略中的作用

作者:Matthias Pfützner

概述软硬件虚拟化基础以及 Oracle VM Server for SPARC 在虚拟化战略中的作用。


2012 年 8 月 发布(转载自 eStep 博客

第 8 部分 — 使用 Oracle Enterprise Manager Ops Center 管理虚拟化
第 7 部分 — Oracle Virtual Desktop Infrastructure 在虚拟化战略中的作用
第 6 部分 — Oracle VM VirtualBox — 个人桌面虚拟化
第 5 部分 — 网络虚拟化和网络资源管理
第 4 部分 — 资源管理是虚拟化的必备技术
第 3 部分 — Oracle Solaris 区域和 Linux 容器在虚拟化战略中的作用
第 2 部分 — Oracle VM Server for x86 在虚拟化战略中的作用
第 1 部分 — Oracle VM Server for SPARC 在虚拟化战略中的作用
想要自动接收类似本文的技术文章?请订阅系统社区新闻快讯 — 专门面向系统管理员和开发人员的技术内容。


在本文中,我们将讨论硬件、桌面和操作系统虚拟化。此外,还有各种 Oracle 虚拟技术,其中包括 Oracle VM Server for SPARC。

一些基本知识
硬件虚拟化
操作系统虚拟化
桌面虚拟化
Oracle VM Server for SPARC 功能和优势
总结
另请参见
关于作者

一些基本知识

首先,我们来讨论一下虚拟化 的含义。Wikipedia 是这样描述的:

在计算领域,虚拟化是指为硬件平台、操作系统、存储设备或网络资源等创建虚拟版本,而非实际版本。

按照所涉及的层面,虚拟化可分为以下几类:

  • 硬件
  • 桌面
  • 软件(包括操作系统)
  • 内存
  • 存储
  • 数据
  • 网络

本文不介绍操作系统层面之外的软件虚拟化,但提供了一些软件虚拟化示例:

  • 应用服务器是应用程序虚拟化的一种方式,它将运行应用程序(或一个业务事务、许多此类并行事务)的任务分配给应用程序的多个实例(这些实例可能分散在多个物理服务器上),以达到虚拟化的目的。
  • 甚至,一些原始 Internet 软件协议也允许软件虚拟化,例如,在 DNS(域名系统,Internet 上所有服务器的目录)上定义 MX 记录(Internet 邮件交换的服务器列表,不要与 Microsoft 电子邮件程序 Microsoft Exchange 相混淆),因为如果无法连接主服务器,那么可以使用辅助服务器。
  • Oracle Real Application Clusters (Oracle RAC) 实现也可视为软件虚拟化,因为它允许在多个 Oracle RAC 实例、多个服务器或两者上分配任务。

因此,软件虚拟化技术范围很广。

在深入介绍硬件虚拟化之前,我们先来介绍以下虚拟化概念:

  • 全虚拟化Wikipedia 用整篇文章介绍了这一概念,但就我们的目的而言,你只需要将其视为一种完全抽象基础层,使该层与其接口完全吻合的技术。而编程的对象(例如,操作系统或应用程序)无需了解基础层的不同实现。这样就可以轻松地从一个完全虚拟化的环境迁移到另一个完全虚拟化的环境。
  • 半虚拟化Wikipedia 对此也有说明,在这里,我们只简单地说,半虚拟化与全虚拟化的不同点是它可以直接暴露某些底层元素。不同的半虚拟化实现会以不同方式影响可移植性,因为上面的各层需要了解这些差异。但是,通过直接暴露某些底层元素,可以更好地满足特定需求。因此,半虚拟化有助于体系的上层结构详细了解被虚拟化的技术。通常,这有助于提高虚拟化的效率,因为半虚拟化可消除延迟,而全虚拟化则可能会增加延迟。另一方面,鉴于底层虚拟化技术所涉及的专业知识,以后很难再更改为其他虚拟化技术。

现在,我们来介绍虚拟机管理程序 这一术语的定义。同样,Wikipedia 用整篇文章进行了介绍,但在这里,您只需要了解虚拟机管理程序是抽象底层元素的层,它使虚拟机管理程序的上层程序不能看到下层结构,而只看到虚拟机管理程序暴露的接口。您也可以将虚拟机管理程序称为虚拟机管理器,它可以部署到体系的不同层面。

虚拟机管理程序有几种不同类型:

  • 厚虚拟机管理程序薄虚拟机管理程序。需要对每个虚拟机管理程序进行配置和管理。如果虚拟机管理程序包含可通过接口访问的配置工具,能够进行自我配置,我们称之为厚虚拟机管理程序。反之,如果必须由外部实体来配置和管理,则称之为薄虚拟机管理程序。
  • 1Type 1 虚拟机管理程序 Type 2 虚拟机管理程序。Type 1 虚拟机管理程序直接运行在一些硬件上,Type 2 虚拟机管理程序需要正在运行的操作系统,且它必须在该操作系统内运行。

硬件虚拟化

同样,Wikipedia 提供了具体文章。

Oracle 提供基于 SPARC 和 x86 的系统,以下虚拟化技术可用在这些系统上:

  • 在 Oracle 的 SPARC Enterprise M 系列服务器上:动态系统域
  • 在 Oracle 的 SPARC T 系列服务器上:Oracle VM Server for SPARC(即“逻辑域”)
  • 在 Oracle x86 系统上:Oracle VM Server for x86 和 Oracle VM VirtualBox

Oracle VM Server for SPARC 和 Oracle VM Server for x86 是 Type 1 虚拟机管理程序。Oracle VM VirtualBox 是 Type 2 虚拟机管理程序。

操作系统虚拟化

如果您想从更高的层次上了解操作系统虚拟化,也可以参考 Wikipedia 上的相关文章。

操作系统虚拟化为应用程序提供安全、隔离的运行时环境,可作为专用的 OS 实例,同时还能共享设备、内核等操作系统资源。如果使用操作系统虚拟化,则需要资源管理。

在深入探讨之前,先来看一下可以在不同类型的 Oracle 硬件上运行的不同操作系统:

  • 在 Oracle 的 SPARC Enterprise M 系列服务器上:Oracle Solaris
  • 在 Oracle 的 SPARC T 系列服务器上:Oracle Solaris
  • 在 Oracle x86 系统上:Oracle Solaris、Linux 或 Microsoft Windows

对于 Oracle Solaris 11 而言,其虚拟化技术为 Oracle Solaris 区域(在 Oracle Solaris 10 中称为 Oracle Solaris 容器)。

桌面虚拟化

桌面虚拟化是虚拟化的另一个主要领域。

首先,我们来定义什么是桌面。Wikipedia 提供了两篇相关文章:一篇是关于桌面虚拟化,另一篇是关于桌面环境。在此,我们继续使用这一定义:桌面是在计算机显示器上看到且能够通过键盘和鼠标与之交互的内容。

桌面虚拟化是将“桌面提供程序”从控制显示器、键盘和鼠标的系统中分离出来的技术。

Oracle VM Server for SPARC 功能和优势

Oracle VM Server for SPARC 是 Type 1 薄虚拟机管理程序,用于在 SPARC T 系列服务器上执行硬件虚拟化并使用半虚拟化。因此,Oracle VM for SPARC 提供了在一个系统上运行多个逻辑域的技术。每个域运行各自的操作系统,并独立于其他逻辑域。

就这一点而言,图 1 概括了本文前面讨论的内容。

图 1

图 1. Oracle 虚拟化技术和产品

在图 1 中,我们可以看到名为 Oracle VM Server for x86 的类似产品。此处对 Oracle VM Server for SPARC 的一些一般性解释同样适用于 Oracle VM Server for x86。

回顾 Type 1 薄虚拟机管理程序的定义,显然,我们需要解释一下如何管理和设置逻辑域。作为“薄虚拟机管理程序”的特征之一,我们需要通过外部实体对其进行管理。Oracle VM Server for SPARC 的另一个特征是“Type 1”,这意味着虚拟机管理程序直接运行在硬件上。首先来介绍虚拟机管理程序。

虚拟机管理程序

您可能已经接触过 SPARC T 系列系统,因为该系列从多年前的 Sun Fire T1000 服务器一直延续至今天的 Oracle SPARC T4-4 服务器。虽然它们是用相同的虚拟机管理程序,但您可能从亲眼见到、处理、或体验过。这是因为在 SPARC T 系列系统中,虚拟机管理程序作为系统组成部分,“隐藏”在 OBP (Open Boot PROM) 中,而 OBP 相当于 x86 系统中的 BIOS。因此,与 x86 系统上的大多数虚拟机管理程序相反,在 SPARC T 系列系统上,不需要安装额外的软件。但是,检查 OBP 的版本不失为谨慎之举,因为有些更改和更新可能会增加新的特性。

如果您正在使用 SPARC T 系列系统,但从未将其细分为逻辑域,说明您正运行在一个占用所有硬件的大逻辑域中。这可以作为 SPARC T 系列系统中虚拟机管理程序的成熟度与稳定性的证据。

管理

前面提到过,由于薄虚拟机管理程序本身不具备管理功能,因此需要使用外部实体进行管理。对于 SPARC T 系列系统而言,管理工作可由虚拟机管理程序上的 guest 来完成,因此无需大型外部管理框架即可使用系统(但如有必要,也可以由大型外部框架进行管理)。

在 SPARC T 系列系统中,由于虚拟机管理程序是 OBP 的一部分,所以系统中运行的任何 OS 都运行在虚拟机管理程序上,因此,每个 OS 均是都是虚拟机管理程序上的来宾系统。因此,要创建管理系统,我们只需在已运行的 OS 中启动相关控制后台程序,为“控制域”分配所需的虚拟 CPU,配置虚拟网络和存储设备,然后重新引导。完成这些操作后,就可以利用未使用、不再使用以及闲置的硬件来创建更多逻辑域了。要了解详细过程,请参阅 Oracle VM for SPARC 文档

设备

Oracle VM Server for SPARC 在逻辑边界(例如,一个 CPU 内核中的线程)上执行系统细分或分区,并通过 I/O 服务或通过分配 I/O 设备来分割 I/O 资源。因此,可以具有比物理设备更多的逻辑域,可导致在逻辑域之间共享设备。可与网络接口、启动磁盘或存储 HBA 来进行共享。要管理这些项目,您可创建特定 I/O 域。您还可在冗余的高度可用的设置中创建域。还需要注意,当在不同域之间共享单个物理设备时,域可影响底层单台物理设备的吞吐量。因此,使用 Oracle Solaris 11 中网络虚拟功能等技术可以帮组为特定域定义服务属性的质量。

域的类型

有不同类型的域,对这些不同类型有个大概的了解对了解 Oracle VM Server for SPARC 如何运作非常重要。

  • 控制域:该域运行逻辑域管理器,并允许您创建并管理其他逻辑域并将虚拟资源分配到其他域。每个服务器总是只有一个控制域,名为 primary
  • 服务域:该域向其他域提供虚拟设备服务,例如虚拟网络交换器、虚拟控制台集中器或虚拟磁盘服务器。通过创建一个以上服务域,您可创建 I/O 冗余。需要至少一个服务域;在许多基本设置中,控制域也是服务域。
  • I/O 域:该域对物理 I/O 设备(如网卡)拥有直接所有权和直接访问权限。该域可以是控制域的一部分。
  • 来宾域 :该域由控制域来管理,并使用来自 I/O 域或服务域(或两者兼有)的服务。

图 2 提供 Oracle VM Server for SPARC 的概览。

图 2

图 2. Oracle VM Server for SPARC 架构

考虑事项

从上面的描述我们可以看到,构建虚拟化环境可能变得复杂,而周密的计划可保证所创建架构的长期最佳使用效果。

另外,还有一个重要事项需要谨记。考虑到摩尔定律以及软件需求的增长速度落后于硬件速度的提高,我们很有可能将旧的环境整合到更少但功能更强大的新系统中。基于 Oracle SPARC T4 处理器的系统为这些整合任务提供正确的解决方案。

Oracle VM Server for SPARC 的优势包括:

  • 不需要其他软件。
  • 不需要额外的许可。
  • 虚拟机管理程序不会增加开销。
  • Oracle VM Server for SPARC 得到 Oracle Solaris 的充分支持。
  • 提供物理到虚拟迁移/转换工具。
  • 可实现多 CPU 和多核系统(每个物理系统最多 128 个逻辑域)的细粒度细分。
  • 可以进行冷、温和热(实时)迁移。
  • Oracle VM Server for SPARC 被 Oracle 认定为许可界限/边界。
  • Oracle VM Server for SPARC 与 Oracle Solaris Cluster 相互支持。

总结

Oracle VM Server for SPARC 是 Oracle SPARC T 系列系统上经实践检验、成熟且稳定的虚拟化技术。随着基于 Oracle SPARC T4 处理器的系统的问世,CPU 的“性能”甚至能与基于 x86 的虚拟化环境的性能抗衡。Oracle VM Server for SPARC 经过全面的集成,因此易于部署、管理和使用。

另请参见

Oracle VM Server for SPARC 网站

关于作者

Matthias Pfützner 在 1998 至 2012 年间曾任职于 Sun Microsystems,现在为 AppSense 工作。在为 Sun 和 Oracle 工作的 14 年间,他作为专业服务与售前小组的成员,为 Deutsche Bank、Deutsche Telekom、Vodafone 和 Daimler Chrysler 等客户提供集群、供给、系统管理、虚拟化和云计算等方面的技术支持。作为全球范围内近百位 Sun 与 Oracle 重要领域技术专家中的一员,他帮助定义和促成了这些技术,对全球的 IT 业务产生了重要影响。此外,他还在各种专题会议和客户会议上发表过演讲。

Matthias 感谢 Uwe Strahlendorf 和 Detlef Drewanz 为本文提供宝贵反馈。

修订版 1.0,2012 年 8 月 14 日

要了解所有 Oracle 技术中与系统管理员相关的内容,请在 FacebookTwitter 上关注 OTN Systems。