如何使用 Oracle VM 3 配置 x86 服务器集群

作者:Kris Bakke 和 Jeffrey Kiely

使用 Oracle VM 3 配置高可用 Sun x86 服务器集群的分步说明。


2012 年 5 月发布

简介
   关于 Oracle Sun x86 系统
配置和网络拓扑
将 Oracle VM Server for x86 主机系统作为资源发现
为 Oracle VM 配置网络资源
   配置管理网络
   绑定管理网络端口
   创建另一个公共网络
   创建虚拟 MAC 地址
创建 Oracle VM 3 服务器池
   分配存储信息库
总结
另请参见
关于作者

简介

本文介绍使用 Oracle Sun x86 系统配置 Oracle VM 3 集群配置的过程。此集群配置的主要设计目标是实现高可用性 (HA)。这样,如果一台服务器或一个网络端口停止工作,其他组件会自动接管其负载。服务器冗余是虚拟架构所固有的,我们的设计还利用了带绑定端口的多个网络(参见“绑定管理网络端口”一节)。这允许 Oracle VM 服务器池中的虚拟服务器与管理服务器之间存在冗余网络连接,从而在单个网络发生故障时让 Oracle VM Manager 能够不间断地访问服务器。

如果想要下载软件、加入论坛、阅读类似本文的内容之外的其他技术方法精品文章,请成为 OTN 成员。无垃圾邮件!

本文所述硬件和软件基础架构被视为云基础架构,因为它提供以下功能:

  • 按需访问 — 可配置计算资源共享池可以根据需要供运行中的应用程序服务使用。
  • 弹性可伸缩性 — 添加更多服务器、内存、磁盘等,且应用程序无需知道新添资源即可自动利用它。
  • 快速供应 — 管理环境允许快速供应和复制系统资源和虚拟机 (VM) 来宾环境。
  • 高可用性 — 基础架构被配置为支持在组件(如服务器或网络端口)故障时继续正常工作。
  • 可移植性 — VM 未绑定到硬件平台;它们可以实时迁移并且仍然访问自己的存储。

我们的测试配置使用 Oracle Sun Blade 6000 模块化系统内运行的刀片服务器托管 Oracle VM 服务器池。如果使用机架式服务器而不是刀片服务器,Oracle VM 及网络的配置过程基本相同。本文所述过程也适用于 Oracle VM 支持的任何操作系统。

该配置中的所有 Sun x86 系统上均已安装 Oracle VM,我们以此为起点开始我们的配置过程。因此,第一步是让 Oracle VM Manager 发现可用于加入 Oracle VM 服务器池的裸机系统。接下来,我们配置网络资源以创建运行于刀片服务器环境的 Oracle VM 虚拟机集群。本文所述过程的最后一步是创建 Oracle VM 服务器池并分配存储信息库。

本文论及为 Oracle VM 服务器池分配存储信息库,但不详细讨论如何配置存储环境或存储网络。本文也不讨论将在虚拟机上运行的应用程序环境的配置过程。虚拟机软件系统(常称为黄金映像)通常在一个 VM 上建立,然后复制到其他 VM 以便快速部署和轻松维护。如果集群上的所有节点将运行相同的应用程序环境,您还可以将该应用程序环境作为黄金映像的一部分来安装,即通过将该黄金映像复制到所有 VM 上来进行安装。如果各个 VM 将运行不同的应用程序,黄金映像可能只包括您所选操作系统的一个预配置版本。

有关如何配置存储环境、软件基础架构和企业云部署的其他方面的更多信息,可查阅“Oracle 针对企业云基础架构的优化解决方案 — 实施指南 (x86-Linux)”白皮书。

关于 Oracle Sun x86 系统

Oracle Sun x86 系统有机架式和刀片式两种外形规格供您选用,它们均包括集成的 Oracle 软件系统。每种型号一应俱全,附带了虚拟化、操作系统选择、基础架构供应和 Oracle 独特的应用程序到磁盘系统管理环境,所有这些在具有支持合同的服务器上都不另外收费。除了简化云管理之外,Sun x86 系统还提供很大的内存容量和基于 Intel Xeon 处理器 E5-2600 CPU 的可伸缩的性能。这些特性使得 Sun x86 系统极其适合企业云基础架构。

配置和网络拓扑

本文基于 Oracle 针对企业云基础架构的优化解决方案中使用的服务器和存储配置。我们在为 Oracle 针对企业云基础架构的优化解决方案中的硬件和软件基础架构以及实施确定最佳实践时,作为我们工作的一部分曾部署了该测试配置。我们的测试配置包括以下主要组件:

  • 一个 Sun Blade 6000 模块化系统,包括三个 Sun x86 刀片服务器,用于运行 Oracle VM 来宾
  • 一个 Sun x86 机架式服务器,用于运行 Oracle VM Manager
  • 集群配置中的两个 Oracle Sun ZFS 存储设备控制器
  • 两个通过 HA 互连连接的架顶式网络交换机

图 1 显示连接这些组件的网络拓扑。Oracle VM Manager 部署在单一 Sun x86 机架式服务器上,而 Oracle VM 来宾虚拟机运行在 Sun Blade 6000 模块化系统中的三个刀片服务器上。

架顶式交换机简化了网线连接并允许在配置中存在所有服务器与存储系统之间的冗余连接。Sun Blade 6000 模块化系统中的刀片服务器模块通过两个 Sun Blade 6000 以太网 Network Express 模块 (NEM) 连接到网络。这些在图中称为 NEM0 和 NEM1。

与 Sun Blade 6000 服务器模块的基于光纤的物理网络连接使用的是 Quad SFP+ (QSFP+) 网络链路。NEM0 和 NEM1 每个有三个 QSFP+ 端口,结果是每个 NEM 的总带宽为 120 Gb/秒。此网络配置旨在同时提供高性能和高可用性冗余。另外,此网络配置中的可用带宽旨在支持 Sun Blade 6000 机架中最多 10 个服务器模块。由于我们的测试配置在 Sun Blade 6000 机架中只有三个刀片服务器,在我们的测试中,网络吞吐量实际未受挑战。

图 1

图 1. 连接各组件的网络拓扑

将 Oracle VM Server for x86 主机系统作为资源发现

配置 Oracle VM 的第一步是发现运行 Oracle VM Manager 的服务器所在同一网络上的现有主机系统。Oracle VM Manager 有一个发现服务器特性,利用该特性,可以很轻松地将可用服务器加入默认“unassigned”服务器池,然后可以在 Oracle VM Manager 中对其进行管理。这些服务器必须已分配有 Oracle VM Manager 所在网络上的 IP 地址。否则,它们将对 Oracle VM Manager 的发现服务器过程不可见。

登录到 Oracle VM Manager 之后,可见到类似于图 2 的“home”视图。

图 2

图 2. Oracle VM Manager 的 Home 视图

单击左下方的 Hardware 图标(在图 2 中以红色高亮显示)。随即转至图 3 中所示的 Hardware 视图,在这里可以将网络和外部存储添加为资源。使用发现服务器将可用服务器添加为资源,具体来说,右键单击导航树中的 Resources 文件夹并从菜单中选择 Discover Servers

图 3

图 3. Hardware 视图

添加主机系统,如图 4 所示。可以使用 IP 地址范围(如图所示)或一次添加一个。

图 4

图 4. 添加 IP 地址

默认情况下,发现过程将所有新发现的服务器添加到 Unassigned Servers 资源池。如图 5 所示,Unassigned Servers 池现在包含三个服务器:MyServer1、MyServer2 和 MyServer3。它们分别代表 Sun Blade 6000 模块化系统中的三个刀片服务器。新发现的 x86 主机系统将保留在未分配池中,直到您将其分配到某个服务器池。本文在稍后的步骤中将创建一个新的服务器池,同时将分配这些服务器。

图 5

图 5. Unassigned Servers 池

为 Oracle VM 配置网络资源

与先前版本的 Oracle VM 相比,Oracle VM 3 允许对网络进行更细化的控制。现在可以使用 Oracle VM Manager 向 x86 主机系统上的网络设备分配网络角色和子网,无需您登录主机系统来手动配置网络。

大多数数据中心将拥有特定角色的多个子网,例如,所有用户均可以连接到服务器、数据库和应用程序的生产前端(公共网络)、专用存储(存储网络)、专用带外服务器管理(管理网络)等等。

为使事情相对简单,但仍能展示 Oracle VM 3 的一些新的强大特性,本文将介绍配置如下两个子网的过程:

  • 用于 Oracle VM 环境带外管理的管理子网
  • 用于对存储和 Oracle VM 来宾(以及数据库和应用程序)进行一般访问的公共子网

在 Oracle VM Manager 和 Oracle VM Server for x86 的安装过程中配置了单个网络。这个现有网络将用作管理网络,并且上述过程是在这个网络上发现裸机 x86 服务器的。第二步将是创建一个新网络以作为访问存储和 Oracle VM 来宾的公共网络。

为避免网络名称混淆,我们将现有管理网络的名称更改为“Management network”。此更改不是必需的,只是为了帮助减少在后续步骤中网络角色的混淆。请在下面的步骤中调整子网的名称和角色以与您的特定网络环境相符。如果网络中只有一个子网,只需修改现有网络并将所有“使用”分配到该唯一子网。然后跳过稍后的“创建另一个公共网络”一节。

配置管理网络

确保在导航窗格中选择 Resources,然后从管理选项卡中选择 Networks,如图 6 所示。然后从 Networks 选项卡正下方的管理工具栏中单击 Edit 图标。

图 6

图 6. Edit 图标

Edit Network 向导中有一个对话框允许您将网络名称从默认子网地址更改为任何字符串。在本例中,将 Name 域更改为 Management network,如图 7 所示,以便在稍后步骤中轻松识别。

该 GUI 右侧的 Network Use 部分指明子网流量的类型。在我们的测试配置中,只有一个子网。但由于大多数环境有足够的网络端口来支持两个独立网络,我们在撰写本文时指出创建两个网络所需的步骤。因此,我们将在本节详细介绍创建管理网络所需的步骤,在后面一节我们将介绍如何创建另一个公共网络(用于 VM 来宾和存储角色)。

在管理网络中,我们未选中 Storage 和 Virtual Machine 复选框作为 Network Use 角色,因为我们将在后面一节的公共网络中配置此类流量。如前所述,如果您只有一个子网,则需要在此在管理网络中选中 Storage 和 Virtual Machine 选项,然后跳过稍后的“创建另一个公共网络”一节。

图 7

图 7. 更改网络名称并选择网络使用角色

接着向导会逐步完成剩下的四个任务。只需接受所有后续对话框上的默认设置,直至 Finish 按钮变成活动状态。结果应如图 8 所示。

图 8

图 8. 配置好的管理网络

绑定管理网络端口

管理网络对于服务器基础架构的运营至关重要,因此应对它进行配置以实现高可用性。这意味着应绑定管理网络端口,以便在主网络链路发生故障时让备用网络链路接管其工作。

下述绑定过程在主、备用网络端口之间建立一个逻辑连接。除非发生问题,否则主端口保持为唯一活动端口;除非主端口失败,否则备用端口将处于非活动状态。这些绑定端口将让刀片服务器主机系统不间断地支持管理访问,即使其中一个网络端口的物理网络层发生故障。

下述步骤假设基本网络配置已完成。换言之,如果将要使用网络聚合将多个物理端口整合成一个逻辑网络连接,则该配置已经建立。

我们将对这三台服务器分别重复以下步骤以配置网络端口绑定。

首先,从 Unassigned Servers 池选择一个服务器,然后单击 Bonding 选项卡。

图 9

图 9. Bonding 选项卡

在 Oracle VM Manager 初始安装期间,已经有一个分配给 Bond Port(1) 的现有绑定 (bond0)。选择该绑定端口,然后选择 Edit 图标,如图 10 所示。

图 10

图 10. 编辑 Bond Port(1)

随即显示 Edit Port 对话框,如图 11 所示。可以在这里将其他管理网络端口添加到绑定组。注意,屏幕左下角所示绑定类型为 Active Backup。这意味着活动端口将处理整个网络负载,除非它发生故障。如果活动端口发生故障,备用端口将接管整个网络负载。

将备用网络端口从 Available Ports 列表移到 Selected Ports 列表,然后单击 OK 继续。

图 11

图 11. Edit Port 对话框

如图 12 所示,现在有多个端口与该绑定关联。

图 12

图 12. 现在有多个端口与 Bond Port(1) 关联

重复以上步骤为环境中的每个主机系统建立一个绑定/端口组。

创建另一个公共网络

以上过程重点在于为管理网络建立高可用性。现在准备配置将用于虚拟机 I/O 和存储 I/O 的新的公共网络。这个新网络将允许 Oracle VM Server for x86 主机系统和 Oracle VM Manager 访问在 Oracle VM 来宾上运行的存储以及数据库、应用程序等等。

网络创建任务主要是在主机服务器上配置另一个网络接口/网桥。网络信息由 Oracle VM 管理员提供,如下面的 Oracle VM Manager Create Network 向导屏幕截图中所示。

首先从 Network 选项卡正下方的管理工具栏中单击 Create Network 图标,如图 13 所示。

图 13

图 13. 启动创建网络功能

图 14 显示支持的网络类型。选择 Create a network with bonds/ports only 选项,因为我们需要高可用性。VLAN 不提供高可用性,但可以在混合网络中将其与绑定端口一起使用。VLAN 和混合网络不在本文讨论范围内。有关如何配置 VLAN 的详细信息,请参见 Sun 以太网光纤操作系统 VLAN 管理指南

单击 Next

图 14

图 14. 创建新网络

Name 域中输入新网络的名称,并选中 Virtual MachineStorage 复选框,如图 15 所示。

图 15

图 15. 命名新网络

接下来,选择要在其上创建和配置新网络的主机系统。所有这三个刀片服务器将成为此公共网络的一部分,因此它们都在图 16 中的 Selected Servers 列表中。

图 16

图 16. 选择将配置到网络的主机系统

下一步是标识端口/接口。在图 17 中,端口/接口并未显示接口的 Linux 名称,如 eth1。而是显示为逻辑名称:如 Port(2)。根据与环境的相关性,选择在每个 Oracle VM 3 服务器主机上配置适当的接口。在本例中,使用 Port(2) 作为公共网络。Port(1) 已经定义为管理网络。Port(3) 和 Port(4) 未使用。

图 17

图 17. 选定端口

最后,提供每个主机系统上存储子网和 Oracle VM 来宾的 IP 地址信息。

图 18

图 18. 配置 IP 地址

图 19 显示在每个主机系统上配置之后的公共网络。

图 19

图 19. 配置好的公共网络

创建虚拟 MAC 地址

最后一个网络任务是为 Oracle VM 来宾创建虚拟以太网 (MAC) 地址池。创建每个 Oracle VM 来宾时,将从池中随机分配虚拟以太网地址。

:如稍后一步中将看到的,Oracle VM 管理员可以通过更改随机分配的 MAC 地址为特定 Oracle VM 来宾分配特定的 MAC 地址。

首先,从 GUI 顶部的 Tools 菜单中选择 Vnic Manager,如图 20 所示。

图 20

图 20. 打开 Vnic Manager

在 Virtual Network Interface Card Manager 对话框中的后三个八位位组中输入任意有效十六进制数(前三个八位位组不能更改),然后单击 Generate

图 21

图 21. 指定 MAC 地址

一旦生成 MAC 地址池后,单击 Close。现在 MAC 地址池将可以用于自动分配给创建的任何 Oracle VM 来宾。如果需要,可以稍后生成更多以太网地址。

创建 Oracle VM 3 服务器池

现在我们要创建一个服务器池,以容纳在为 Oracle VM 来宾分配资源时 Oracle VM Manager 可以使用的服务器资源。服务器池需要一组物理服务器以及网络和存储资源。

只有将所有其他资源(如主机系统、网络和存储)添加到 Oracle VM Manager 之后才能创建服务器池。前面已经配置了主机系统和网络组件,因此它们对于 Oracle VM Manager 是已知的。假设之前已经向 Oracle VM Manager 注册了存储系统。

在导航视图窗格中选择 Home 快捷方式将视图更改为 Home。

图 22

图 22. 返回 Home 视图

右键单击 Server Pool 目录并选择 Create Server Pool

图 23

图 23. 打开 Create Server Pool 对话框

在 Create Server Pool 对话框中,输入服务器池名称、可重定位虚拟 IP 地址以及用于服务器池文件系统的 NFS 导出。在图 24 中,已输入名称 MyServerPool 作为服务器池名称。虚拟 IP 地址是始终与当前指定为服务器池主系统的主机系统关联的地址。服务器要到稍后才添加到服务器池。

选中 Activate Cluster 复选框,如图 24 所示,指示该服务器池是集群的一部分。同时选择 Network File System 而不是 Physical Disk,因为我们将使用 Sun ZFS 存储设备上的共享存储。

图 24

图 24. Create Server Pool 对话框

单击 Location 图标,如图 25 所示,选择服务器池文件系统。这允许您标识 NFS 挂载以用于虚拟机集群。

图 25

图 25. Location 图标

随即出现一个对话框,显示先前已经在 Oracle VM Manager 中注册的共享存储资源。选择用于服务器池文件系统的 NFS 挂载。

图 26

图 26. 选择 NFS 挂载

单击 OK 创建服务器池。服务器池尚未有服务器主机系统或存储信息库与它关联。

图 27

图 27. 创建服务器池

下一步是将主机系统添加到新创建的服务器池。只需右键单击服务器池名称并选择 Add/Remove Servers

图 28

图 28. 在 Server Pool 对话框中打开 Add/Remove Server

选择要放入服务器池中的主机系统,如图 29 所示。

图 29

图 29. 选定服务器

服务器主机系统将从 unassigned 文件夹中移出,现在将显示在导航树中的服务器池名称下,如图 30 所示。

图 30

图 30. 选定服务器已添加到服务器池

服务器池基本配置完成,现在只需一个存储信息库。

分配存储信息库

创建服务器池过程的最后一步是分配一个 NFS 挂载,它将作为中央存储信息库保存所有 Oracle VM 来宾文件、模板和整个服务器池的其他资源。

选择 Repositories 选项卡,然后单击管理窗格工具栏上的 Create Repository 图标(在该选项卡正下方)。

图 31

图 31. Create Repositories 图标

输入存储信息库的名称,对 Repository Location 选择 Network File Server,然后单击放大镜图标显示 Select Network File System 对话框。

图 32

图 32. Create Repository 对话框

使用 Select Network File System 对话框选择先前创建的 NFS 导出以用作存储信息库。完成后单击 OK

图 33

图 33. 选择 NFS 导出

添加一个可选的描述,然后单击 OK 完成存储信息库的创建。

图 34

图 34. 创建存储信息库

至此已创建存储信息库,但尚未将其分配给任何服务器池。创建服务器池的最后一步是向需要访问中央存储的特定主机系统分配新创建的存储信息库。

为进行此分配,选择新创建的存储信息库,然后从 Repositories 选项卡正下方的工具栏单击 Present-Unpresent Selected Repository 图标(绿色向上/向下箭头)。

图 35

图 35. Present-Unpresent Selected Repository 图标

选择将能够访问该信息库的所有服务器主机系统,然后单击 OK

图 36

图 36. 选择可访问该信息库的服务器

现在,只要在 Repositories 选项卡中选择该存储信息库,该存储信息库就将显示这些主机系统。注意,主机系统可以访问多个存储信息库,因此如果需要其他存储信息库,可以对其他存储信息库重复以上步骤。

图 37

图 37. 已配置集群

Oracle VM 集群现在可以用于要创建的 Oracle VM 来宾映像。

总结

通过执行本文所述步骤,将完成配置高可用性企业云基础架构的核心任务。剩下的步骤包括如何配置存储环境和安装其他软件组件,如 Oracle Database。“Oracle 针对企业云基础架构的优化解决方案 — 实施指南 (x86-Linux)”白皮书对这些步骤及其他进行了描述。

另请参见

有关最新 Sun x86 系统的其他信息,可在 Sun x86 系统网站上找到。

关于作者

Kris Bakke 在 Oracle 和 Sun Microsystems(在 Sun 被 Oracle 收购之前)一共任职了 16 年。他目前的职责包括开发 Oracle 针对企业云基础架构的优化解决方案,此方案提供支持云的集成硬件和软件基础架构。他之前拥有产品营销和管理以及数据库备份、虚拟化、数据保护、云计算和视频监控解决方案开发方面的经验。

Jeff Kiely 是 Oracle Sun x86 系统组的高级技术产品经理,曾参与最近两代的 x86 服务器研发。他之前曾在 Fujitsu America 任职 x86 系统硬件工程师和支持工程师达 7 年之多。

修订版 1.0,2012 年 5 月 3 日

通过 FacebookTwitterOracle 博客关注我们。