实现虚拟化的">主要原因是为了充分利用基础架构以及提高投资回报 (ROI)。在使用虚拟化技术时,您可以共享系统资源,从而提高利用率、密度和数据中心经济。如今,IBM System x 服务器在 2U 机架空间上可以配置 16 个核心,在 4U 机架空间上可配置 40 个核心。这意味着一个由 3 至 4 个服务器组成的典型集群可以在 6U 机架空间上提供 40-160 个核心。
通过允许多个 pureScale 集群在同一硬件资源集中同时操作,虚拟化 IBM DB2 pureScale 实例可提供一个独立但统一的环境以供测试、QA 和产品数据库系统所用。KVM 是一个作为内核模块实现的 Linux 虚拟机管理程序,可提供多个客户机虚拟机 (VMs) 来并发访问 Intel 处理器的硬件虚拟化特性。KVM 使用 QEMU(用户空间模拟器)实现 I/O 硬件模拟。KVM 也可以通过 libvirt API 和基于 UI 的工具进行管理。KVM 了解 Intel CPU 的非统一内存架构 (NUMA) 特征,并为远程直接内存访问 (RDMA) 主机通道适配器 (HCA) 提供客户机虚拟机支持。
虚拟化 RDMA 设备
目前,您可使用 KVM 创建 Ethernet 设备、交换机和网络。然而,目前还不具备在虚拟机管理程序上创建虚拟的 RDMA 设备的功能。您可以使用 PCI 透传 来解决这项限制。在 System x 服务器上,KVM 虚拟机管理程序支持使用 Intel Virtualization Technology for Directed I/O (VT-d) 将主系统上的 PCI 设备附加到虚拟化客户机上。PCI 透传允许这些客户机虚拟机独占访问 PCI 设备来执行一系列任务。KVM 还使这些 PCI 设备看起来好像是通过物理方式附加到客户机操作系统 (OS) 且属于客户机操作系统 (OS)。通过使用 PCI 透传,客户机虚拟机可成为用于 DB2 pureScale 实例的具有 RDMA 能力的适配器的所有者。
虚拟化的 DB2 pureScale 实例的模板解决方案
接下来,您将发现一个模板解决方案,该解决方案将带您了解在虚拟化环境中使用 KVM 来配置和部署 IBM DB2 pureScale 特性所需的步骤。该模板为您提供了一组使用不同 IBM System x 服务器的可行配置,并解释了虚拟机的克隆以快速部署其他 DB2 pureScale 实例。我们介绍了具有 pureScale 特性的 DB2 10.1 的配置和性能,该特性使用 KVM 虚拟机管理程序在 Red Hat Enterprise Linux 6.2 主机的 Red Hat Enterprise Linux 6.2 客户机虚拟机上运行。按照以下步骤在 KVM 虚拟机管理程序上部署虚拟化的 DB2 pureScale 实例。
选择 客户机选项:硬件和软件 计划 和配置存储区域网络 (SAN) 配置 KVM 组件 创建 和克隆 KVM 客户机 部署 DB2 pureScale 实例
步骤 1. 选择客户机选项:硬件和软件
表 1 中提供的信息显示了在三个不同 System x 服务器上使用 KVM 来虚拟化 DB2 pureScale 特性的可行客户机选项。System x3850 X5 服务器已用于 样例配置,但为您提供了选项,包括 System x3650 M4 和 System x3690 X5 配置。注意:给定服务器的客户机虚拟机数量是所需 PCI-E 插槽数量和 Fibre Channel 路径数量的函数。对于生产客户机,通常需要配置多个冗余的 Fibre Channel 路径,但对于测试和开发系统,一个单一的 Fibre Channel 路径就足够了。
表 1. System x 服务器上的 DB2 pureScale 虚拟化:客户机选项
System x 服务器 KVM 客户机(Fibre Channel 多路径*) KVM 客户机(Fibre Channel 单一路径) KVM 客户机(至少 1 个 Fibre Channel 多路径) PCI-E 插槽的最大数 x3650 M4
(2-socket)> 3** [0] 4** [0] 3 [1] 6 x3690 X5
(2-socket) 2 [1] 2 [1] 2 [1] 5 x3850 X5
(4-socket) 3 [1] 4 [1] 4 [1] 7
* 使用双端口 Fibre Channel
** 使用 10Gb Ethernet Mezzanine 选项
[ ] 表示剩余的 PCI 插槽
客户机虚拟机选项的数量将成为决定您拥有 DB2 pureScale 实例数量的一个因素。通过使用设备透传技术,并考虑到带有 4 个套接字的 x3850 服务器上总共有 7 个 PCI-E Gen2 插槽,您可以创建 3 个 KVM 客户机,其中每个物理服务器都拥有这种配置:
为 InfiniBand 配置 3 个 PCI-E Gen2 插槽 */RDMA over Converged Ethernet (RoCE) 为双端口 Fibre Channel 配置 3 个 PCI-E Gen2 插槽(每个虚拟机两个端口) 一个 PCI-E Gen2 插槽 - 可成为双端口 10Gb Ethernet
DB2 pureScale 实例的位置和布局决定虚拟化实例的数量。例如,使用 4 个 x3850 X5 4 套接字服务器,您可以拥有多达 12 个 KVM 客户机虚拟机。如 表 2 所示,已部署的 pureScale 实例数量由分配给每个客户机虚拟机的设备数量以及它们是配置在一个客户机虚拟机还是自己专用的客户机虚拟机内所决定。
表 2. x3850 上的 DB2 pureScale 实例的最大数量
并置成员/CF(2 成员/2 CF) 专用虚拟机的成员/CF(2 成员/2 CF) 综合专用/并置(2 成员/2 CF) 并置成员/CF(4 成员/2 CF) 专用虚拟机的成员/CF(4 成员/2 CF) DB2 pureScale 实例的最大数量 6 3 5 3 2
参阅 DB2 虚拟化支持 页面,查看支持哪些虚拟化环境。DB2 pureScale KVM 客户机选项至少满足以下要求:
Red Hat Enterprise Linux 6.2 GPFS 文件系统的 PCI 透传技术 RDMA 互连
步骤 2. 计划和配置 SAN
DB2 pureScale 实例的存储布局需要某些先决条件和计划。存储系统、SAN 交换机和主机之间的连接需在配置磁盘前进行配置。为简单起见,我们建议通过创建专用的 mdisks 池来分离存储,这样的话,每个存储实例都将会有自己的逻辑单元编号 (LUNs)。一旦在 Linux 上使用多路径驱动器创建磁盘,主机就可以看到所有可用磁盘。Fibre Channel 设备一旦分配给客户机,KVM 客户机就能看到这些磁盘。为了布局存储,您必须先决定所需的 DB2 pureScale 实例的数量。根据实例数量配置共享存储磁盘和 tiebreaker 磁盘。
步骤 3. 配置 KVM 组件
硬件先决条件
硬件应具有 Intel 虚拟化 (VT-x) 和 VT-d 能力。Intel Xeon X7560 类处理器或更高级别的处理器比较合适。须在 BIOS 设置中启用虚拟化指令支持。PCI 设备分配在支持 Intel VT-d 的硬件平台上可用。浏览 Enabling Intel VT-x Extensions in BIOS Web 页面获取更多信息。
主系统
安装具有 KVM 特性的 Linux 操作系统。以下是系统先决条件:
内核引导参数中的 intel_iommu=on 参数可在 /etc/grub.conf 文件中找到。 每个客户机虚拟机需至少有一个 InfiniBand* 或 10 Gb Ethernet (RDMA over Converged Ethernet) 适配器以及一个 Fibre Channe 端口可用。InfiniBand 和 Fibre Channel 适配器必须位于各自的 IRQ 上,而且不能供系统的其他设备共享。注意,KVM 无法启动带有与另一个设备共享 IRQ 的 PCI 透传设备的客户机。查看 lspci -v 输出,看看您计划传递给 KVM 客户机的设备是否共享一个 IRQ。
公共桥接
如果 KVM 客户机需要访问外部网络并与外部 DB2 客户机通信,那么必须使用公共网络桥接。继续进行之前,确保您拥有所需的 RPM 包,如 bridge-utils、iproute 和 tunctl。推荐使用双端口 10 Gb Ethernet 适配器作为该类外部流量的共享界面,因为所有虚拟机将共享这个桥接而且您将需要足够的带宽。