在 Linux 上使用基于内核的虚拟机虚拟化 IBM DB2 pureScale 特性

了解如何在 IBM System x® 服务器上使用 Linux® 部署 IBM® DB2® pureScale® Feature 时提高投资回报。现代的 System x 服务器具有数量充足的核心和大量内存以及 I/O 功能。通过使用虚拟化技术,您可以在普通的基础架构上部署多个 DB2 pureScale 实例,并实现更高的效率。

Miso Cilimdzic, DB2 性能高级经理, IBM

Miso Cilimdzic 的照片Miso 从 2000 年起就开始在 IBM 工作。多年以来,他参与了各种项目的工作,主要关注 DB2 性能、硬件集成和开发以及工作负载优化系统设计等领域。目前,Miso 负责管理 DB2 Performance Benchmarking 团队。



Peter Kokosielis, DB2 性能和虚拟化, IBM

Peter Kokosielis 的照片Peter 是位于加拿大的 IBM 多伦多实验室的软件工程师。他也是 DB2 性能团队的成员。



Mel Bakhshi, 系统工程师,性能分析师, IBM

作者照片:Mel BakhshiMel 是位于加拿大的 IBM 多伦多实验室的软件工程师。他是 Systems Optimization Competency Center 的一员,专门致力于研究工作负载优化解决方案。在此之前,他在软件服务部工作,主要研究 DB2 和 WebSphere Application Server 性能。



2013 年 5 月 24 日

简介

实现虚拟化的主要原因是为了充分利用基础架构以及提高投资回报 (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 实例。

  1. 选择 客户机选项:硬件和软件
  2. 计划 和配置存储区域网络 (SAN)
  3. 配置 KVM 组件
  4. 创建 和克隆 KVM 客户机
  5. 部署 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 实例的最大数量63532

参阅 DB2 虚拟化支持 页面,查看支持哪些虚拟化环境。DB2 pureScale KVM 客户机选项至少满足以下要求:

  • Red Hat Enterprise Linux 6.2
  • GPFS 文件系统的 PCI 透传技术
  • RDMA 互连

步骤 2. 计划和配置 SAN

DB2 pureScale 实例的存储布局需要某些先决条件和计划。存储系统、SAN 交换机和主机之间的连接需在配置磁盘前进行配置。如需了解详细信息,请参阅 DB2 pureScale Feature 信息中心。为简单起见,我们建议通过创建专用的 mdisks 池来分离存储,这样的话,每个存储实例都将会有自己的逻辑单元编号 (LUNs)。一旦在 Linux 上使用多路径驱动器创建磁盘,主机就可以看到所有可用磁盘。Fibre Channel 设备一旦分配给客户机,KVM 客户机就能看到这些磁盘。为了布局存储,您必须先决定所需的 DB2 pureScale 实例的数量。根据实例数量配置共享存储磁盘和 tiebreaker 磁盘。如需了解有关 DB2 pureScale 磁盘配置的详细信息,请参阅 DB2 pureScale 信息中心

步骤 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 客户机通信,那么必须使用公共网络桥接。如需了解更多信息,请参阅 在主机上建立一个网络桥接 Web 页面。继续进行之前,确保您拥有所需的 RPM 包,如 bridge-utils、iproute 和 tunctl。推荐使用双端口 10 Gb Ethernet 适配器作为该类外部流量的共享界面,因为所有虚拟机将共享这个桥接而且您将需要足够的带宽。

步骤 4. 创建和克隆 KVM 客户机

在开始创建和克隆 KVM 客户机前,确认您拥有主机操作系统和设备硬件的最新更新是很重要的。参阅 DB2 信息中心 了解支持级别的列表。通过以下步骤来创建和克隆客户机虚拟机。

  1. 创建客户机虚拟机

    当把 KVM 特性安装到主机操作系统时,使用 #/etc/init.d/libvirtd status 命令确保 KVM 正在运行。

    如果需要启动 KVM,那么发出 #/etc/init.d/libvirtd start 命令。

    创建一个客户机虚拟机的最直观的方法是通过使用图形化虚拟机管理器程序。为了准备这类安装,应将 Red Hat 安装媒介以 .iso 文件格式放置在主机上的某处。如需了解更多详细信息,请参阅 使用虚拟机管理器创建客户机 Web 页面。继续完成以下高级步骤:

    1. 单击 Create a new virtual machine,编辑虚拟机名称(例如,db2mVM1),并选择 Local install media。然后单击 Forward 继续。
    2. 浏览 Red Hat 安装媒介 .iso 文件,然后选择操作系统类型为 Linux,并选择正确的版本。单击 Forward 继续。
    3. 为该虚拟机选择 CPU 和内存数量。单击 Forward 继续。
    4. 创建一个 基于文件的磁盘 来存储操作系统 root 映像。建议最小值为 10GB。如果需要在虚拟机不运行的情况下更改文件系统上的某个文件,这将使从虚拟机外部挂载基于文件的设备变得更简单。如果将来需要自动化一些克隆过程,这也具有灵活性。您应通过只创建一个分区来使分区尽可能保持简单。单击 Forward 继续。
    5. 选择 Advanced options 设置并将虚拟化网络从 Default 更改为 Specify shared device name。出现一个桥接名称的输入字段。在这里指定公共桥接(例如,pubBr0)。单击 Finish。将出现一个控制台,您就像在一个普通裸机系统上一样完成 Red Hat 安装过程。

    记住步骤 4 中创建的磁盘映像文件和虚拟机管理器生成的 XML 文件的位置。该位置通常位于 /etc/libvirt/qemu。您将需要这些文件来克隆其他虚拟机映像。您现在应该有一个已安装操作系统的客户机虚拟机。主机也能看到该客户机虚拟机。您可以使用 virsh 命令行界面工具来管理客户机和虚拟机管理程序。如需了解更多详细信息,请参阅 使用 virsh 管理客户机 Web 页面。

  2. 确认 DB2 pureScale 特性的先决条件

    您需要设置和配置至少两个网络:Ethernet 和高速通信网。按照 DB2 pureScale Linux 先决条件信息中心页面的说明,高速通信网必须是一个 InfiniBand* 网络或一个 10GB 的 Ethernet 网络。重要的是,要注意配置必须在创建虚拟机后完成。如需了解更多详细信息,请参阅 配置 Ethernet 和高速通信网 Web 页面。为了在 DB2 pureScale 环境下使用客户机虚拟机,应用于物理主机的相同需求和先决条件必须就绪。要确认先决条件,请参阅 DB2 pureScale Feature 需求 Web 页面。示例包括将最大锁定内存设置为无限大、rsh/ssh 建立、禁用 SELinux 等。所有令人满意的检查表都应让客户机映像做好克隆准备,这就使复制同一映像变得容易。

  3. 克隆基于实例拓扑结构的客户机虚拟机

    克隆客户机虚拟机可使用不同的方法完成。要了解克隆虚拟机映像的详细信息,请参阅供应商的最佳实践。下面列出的步骤用于克隆客户机虚拟。

    1. 确保为一个 pureScale 部署配置正确的源虚拟机。该部署应具有正确的操作系统层、正确的 rpm 安装包和正确的设置来满足所有的 pureScale 先决条件。
    2. 如果源虚拟机具有 PIC 透传设备,那么在进行克隆前应先删除。
    3. 制作虚拟机的操作系统 root 磁盘的副本(这应该是一个磁盘文件。如果不确定文件的位置,使用客户机上的命令 virsh edit 并找到 source file= 标记)。例如,<source file='/home/dir/vm.img'/>。为该文件重命名一个新的映像名,例如 clone.img
    4. 制作第一个虚拟机的 XML 文件的副本,并为新客户机重命名该文件。在这个 XML 文件中进行必要的更改。下面列出了主要更改。
      • 映像名:<name>newname</name>
      • 新映像文件的位置:<source file='/home/dir/vm.img'/>
      • 桥接接口的 MAC 地址:<mac address='61:11:11:11:fe:9a'/>
    5. 将新磁盘映像和 XML 文件放在正确的位置,使用命令 virsh define 为新虚拟机构造克隆。
    6. 使用客户机的控制台来应用任何后安装设置(如:任何网络设置)。
    7. 为克隆的虚拟机客户机添加所需的 PCI 透传设备。该方法将在下文介绍。

    重复上述步骤来克隆所需的虚拟机客户机。一旦创建好所有的虚拟机客户机,就为每个客户机定义所需的 PCI 设备。注意,每个客户机都将需要至少一个 InfiniBand* 或 RoCE 适配器以及一个 Fibre Channel 适配器或端口。

  4. 把硬件设备分配给所有客户机虚拟机

    识别想传递给客户机的设备 PCI 地址,在客户机 XML 配置文件上为其添加适当的条目并从主系统中分离该设备。该操作可以通过虚拟机管理器或命令行界面来实现。本例中我们使用命令行界面。

    1. 在主机上识别该设备。注意左侧的 pci-device 数量。
      # lspci | grep Mellanox
      04:00.0 InfiniBand: Mellanox Technologies MT26428......
    2. 使用 virsh nodedev-list --tree 确认在上述设备节点列表上存在相同的 pci 数量。希望在与地址 04:00.0 对应的输出中找到 pci_0000_04_00_0。
    3. 通过使用 # virsh nodedev-dumpxml pci_0000_04_00_0 查看 XML 文件内容来显示设备的 PCI 属性。我们对总线、插槽和函数值特别感兴趣。在下一步骤中,这些值需转换成十六进制来生成正确的 XML。
      # printf %x 4  	= 	4
      # printf %x 0 	= 	0
      # printf %x 0 	=	0

      所使用的值是:

      bus='0x4'
      slot='0x0'
      function='0x0'
    4. 编辑客户机虚拟机的 XML 配置文件并添加以下命令来建立 VT-d PCI 透传。
      # virsh edit db2mVM1
      <hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
      <address domain='0x0000' bus='0x4' slot='0x0' function='0x0'/>
      </source>
      </hostdev>
    5. 从主系统中分离 PCI 设备。
      • 解决 symlink:
        #readlink 	/sys/bus/pci/devices/0000\:04\:00.0/driver
        ../../../../bus/pci/dri	vers/mlx4_core
      • 从主机中分离该设备:
        #virsh nodedev-dettach pci_0000_04_00_0
      • 检查该设备是否成为一个 pci 存根:
        #readlink /sys/bus/pci/devices/0000\:04\:00.0/driver
        ../../../../bus/pci/drivers/pci-stub

    对 Fibre Channel 设备重复上述步骤。注意,在分配 Fibre Channel 设备时,您只能分配一个适配器端口,不像在 InfiniBand* 或 RoCE 上,您可以给设备分配两个端口。如需了解更多详细信息,请参阅 使用 virsh 将 PCI 设备添加到虚拟化客户机 Web 页面。

    反转 PCI 透传流程很简单。下面列出了推荐的方法。

    1. 发出命令 virsh edit <domain name>,并复制添加的 XML 进而附加到主机 PCI 设备上,同时保存在新的文本文件中的某个地方。如果将来想把设备再次附加在客户机时,这是非常有用的。
    2. 在 virsh 编辑器上,删除与主机设备附件一致的 XML 并保存 XML 文件。
    3. 发出命令 virsh nodedev-reattach <pci address> 把设备重新分配给主机。
  5. 启动客户机虚拟机

    设备分配完成后,使用 virsh start db2mVM1 命令来启动虚拟机。

    如果您成功了,就会出现虚拟机已启动的消息。使用 virsh list 命令来显示哪个虚拟机目前正在运行。

    如果您在列表上可以看到您的虚拟机,但不能 ping 或访问该虚拟机,则很可能是需要设置其网络。要实现这一点,可通过虚拟机管理器访问虚拟机的控制台并进行所需网络更改。

步骤 5. 部署 DB2 pureScale 实例

DB2 pureScale 实例的布局由需要具有所需先决条件的虚拟机客户机的数量所决定。您可以根据 InfiniBand* 和 RDMA 通过 Ethernet 网络创建多个实例。这些实例由成员和耦合设施 (CF) 组成。对于分配给客户机虚拟机的 PCI-E 设备,每个客户机至少应有一个 InfiniBand* 或 RoCE 适配器以及一个 Fibre Channel 适配器或端口。注意,所有客户机都必须能够访问共享存储器。如需了解创建实例的详细信息,请参阅 DB2 pureScale 特性 Web 页面。


样例配置

根据上述解决方案模块信息,我们的示例使用 3 个 System x3850 服务器,每个服务器有 4 个套接字,每个套接字有 8 个核心。每个物理服务器有 7 个 PCI 插槽。有了这 3 个服务器,我们就可以用它们的专用光纤通道和具有 RDMA 能力的适配器来创建 12 个 KVM 客户机。如 图 1 所示,我们用 12 个 KVM 客户机创建 4 个 DB2 pureScale 实例。其中两个实例基于 InfiniBand*,另外两个基于 RoCE。每个实例由两个成员和一个 CF 组成。

图 1. 高级基础架构
该基础架构显示了 12 个 KVM 客户机

硬件和软件

根据 图 1 所示的布局,用于配置 4 个 DB2 pureScale 实例的硬件如 表 3 所示。如需了解这些组件最新的支持版本,请参阅 DB2 信息中心

表 3. 硬件配置
硬件类型组件
4 个套接字/32 个核心的 IBM System x3850 X5 服务器和 Intel Xeon X7560 处理器 - 7 个 PCI-E Gen2 插槽
vendor_id:GenuineIntel
模块名称:Intel(R) Xeon(R) CPU X7560 @ 2.27GHz
cpu MHz:1064.000
缓存大小:24576 KB
cpu 核心:8
标志:fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopologynonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 x2apic popcnt lahf_lm ida epb dts tpr_shadow vnmi flexpriority ept vpid
- 2 个 ConnectX VPI PCIe 2.0 5GT/s - InfiniBand* QDR / 10Gb Ethernet
- 2 个 ConnectX EN 10GbE、PCIe 2.0 5GT/s
- 2 个基于 ISP2532 的 8Gb PCI Express HBA Fibre Channel
- 2 个集成的 1Gb Ethernet 端口
Mellanox IS5030 QDR InfiniBand* 交换机36 个端口
IBM 系统存储器 SAN40B-440 个端口
IBM (BNT) 10Gb Ethernet - G8124 – RoCE24 个端口
IBM Storwize® V7000- 18 个 300GB 10K RPM 2.5" SAS HDD
- 6 个 300GB 2.5" SAS SSD (eML)

根据 DB2 为 x86 和 x64 架构所支持的虚拟化环境,使用 图 4 所示的软件等级。

表 4. 最低软件配置
软件版本*
Red Hat Enterprise Linux 6.2 — 主机和客户机
  • 2.6.32-220.4.2.el6.x86_64 内核
  • 对于 InfiniBand* 支持,安装 Infiniband 支持包
  • 对于 RoCE,除了 InfiniBand 包,还需 Red Hat 的高性能网络包
KVM 虚拟机管理程序qemu-kvm-0.12.1.2-2.209.el6_2.4.x86_64
带 pureScale 特性的 IBM DB210.1, FP1
Mellanox 固件2.9.1200

共享存储

为了通过各种存储级别的虚拟机隔离磁盘使用,创建 图 2图 3 分别所示的 Mdisks 和池。通常,磁盘布局及其大小取决于数据库的大小和日志活动等因素。

图 2. 每个池的 Mdisks
该图显示了每个池的容量

为简单起见,我们只使用一个共享磁盘来包含实例、数据库和日志数据,该磁盘全部位于 SSD 驱动器上。对于生产型数据库,布局可能所有不同。如需了解推荐的存储配置,请参阅 IBM DB2 pureScale Feature 信息中心

图 3. 分配给 Mdisks 的容量
该屏幕显示了名称、状态、功能、存储池和 UID

分配给虚拟机客户机的虚拟 CPU

为了实现性能优化和工作负载隔离,最好的做法是把虚拟机的整组虚拟 CPU (VCPUs) 固定在一组主机 CPU 上,这些主机位于相同的 NUMA 域或是一个 CPU 套接字中。lscpu 命令将报告哪些主机 CPU 属于哪个 NUMA 或 CPU 套接字域。如 图 4 所示,我们已将 VCPU 分配给客户机。在主机上运行的进程允许在任何 CPU 上运行;但是,VCPU 总是被安排在一个特定的主机 CPU 上。调整虚拟机的大小和数量,以便 VCPU 的总数与主机所提供的物理 CPU 数量相等。作为最佳实践,我们分配的 VCPU 数量不多于主机 CPU,因为过度使用 CPU 资源会损害性能。我们也确保每个虚拟机的 VCPU 不分配在同一个主机 NUMA 域。

图 4. 图 4. 分配给虚拟机的虚拟 CPU
该图显示了分配到虚拟 CPU 的虚拟机

性能度量

虚拟化对性能有一定影响。为了了解虚拟化对 DB2 pureScale 实例的影响,我们使用物理的和虚拟化的环境实例来度量 OLTP 类型的工作负载的吞吐量。

对于裸机服务器,我们使用 3 个物理服务器创建一个 DB2 pureScale 实例,其中两个服务器指定为成员,另一个指定为 CF。考虑到每个服务器有 4 个套接字,每个套接字有 8 个核心,我们禁用了 3 个套接字以使相同 NUMA 节点上的主机 CPU 数为 16,并把每个物理服务器的内存降为 64GB。这样就能在物理的和虚拟化的环境中保持相似的特征。

TPC-E 基准测试模拟了经纪公司的 OLTP 工作负载。我们为 DB2 pureScale 环境在内部使用了相似的基准测试。远程客户端驱动工作负载来模拟 OLTP 类工作负载。工作负载是读和写分别为 70 和 30 的混合模式。每次运行会产生多个线程和客户机数量来模拟真实应用程序访问 DB2 pureScale 数据库。在成功运行的最后,基准测试会产生一些报告,包括每次运行的每秒事务量。一旦裸机服务器的度量数据收集完成,我们就根据上文介绍的 样例配置 配置 4 个虚拟化实例。这 4 个虚拟化的 DB2 pureScale 实例的 CPU 核心、内存和 CPU 标志与物理服务器相同。

图 5所示,两个同时运行的虚拟化实例的每秒聚合事务展示了一个虚拟化实例的吞吐量提高了 1.8 倍。根据吞吐量度量,使用 PCI 透传的虚拟化 DB2 pureScale 实例比裸机实例的吞吐量少 22%。一些关键的 Linux 性能特征(如 CPU 利用率和磁盘响应时间)反映了 22% 的性能损失。这类权衡是典型的基于过去经验的虚拟化系统。

图 5. 虚拟化实例的聚合吞吐量
每秒事务的吞吐量

结束语

DB2 pureScale 虚拟化提供了灵活的方法来将多个 DB2 pureScale 应用程序整合在同一个物理硬件上,并使您最大限度地利用该硬件。正如大多数工作负载一样,是否进行虚拟化的决策取决于性能优化和灵活性以及使用率和成本之间的权衡。有了 DB2 pureScale,每个操作系统仅允许一个实例,这样就能增加灵活值。通过选择在 Red Hat Enterprise Linux KVM 上虚拟化 DB2 pureScale,您将得到操作系统隔离、CF 隔离、GPFS 和磁盘隔离的额外好处,但这在使用其他多租户方法的 DB2 pureScale 中是不可能实现的。虚拟化为您的 System x 服务器带来了改进的基础架构 ROI,并且本文展示了如何在 System x 服务器上虚拟化 IBM DB2 pureScale 的解决方案模板和详细步骤。


注意

* InfiniBand 是在实验室环境中进行测试,直至本文撰写之时还未支持生产。

参考资料

学习

获得产品和技术

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management, Linux
ArticleID=931243
ArticleTitle=在 Linux 上使用基于内核的虚拟机虚拟化 IBM DB2 pureScale 特性
publish-date=05242013