如何使用 Sun Blade 6000 模块化系统和 Sun ZFS Storage 7420 设备创建强健的 SAS 网格计算平台

作者:Maureen Chew

您可以通过各种网络配置将 Sun Blade 6000 模块化系统与 ZFS 存储设备组合在一起,构建一种灵活、成本高效的网格计算平台。ZFS 存储设备消除了网格系统中常见的共享文件系统瓶颈,Sun Blade 系统则在易于管理的同时为横向扩展提供了便利。本文介绍这一平台的架构、测试、优化和预期性能等内容。

 

2011 年 8 月

目录:

简介

许多 SAS 解决方案都在向支持云和/或支持网格的部署架构的方向发展,这种架构要求具有能够横向扩展的服务器和高性能的共享文件系统。随着 SAS 网格计算环境的发展,瓶颈往往出现在共享文件系统的 I/O 吞吐量方面。本文介绍一种灵活的架构,它的设计目标是使用成本高效的解决方案满足最苛刻的 SAS 网格计算负载的需求,实践证明这一架构完全能满足设计目标。还提供了两种 SAS 应用程序的性能特征,以对 Oracle Sun Blade 6000 模块化系统和 Oracle Sun ZFS Storage 7420 设备的三种不同网络配置进行比较。

刀片服务器天生适用于 SAS 网格计算部署,因为该环境适合横向扩展服务器架构,其中服务器密度、可管理性和成本效率是运行批处理 SAS 作业的首要 IT 考虑因素。

然而,随着 SAS 网格计算环境的发展,面临的主要挑战之一就是共享文件系统的 I/O 吞吐量。SAS 网格计算需要共享文件系统,而不是像存储区域网络 (SAN) 中那样的基于块的存储。对于小型 SAS 安装,简单的 NFS 文件服务器就可以正常运行,但这些文件服务器通常不能扩展以提供 SAS 网格计算所需的 I/O 性能。

因此,许多拥有大型部署的企业被迫迁移到集群文件系统,这就增加了解决方案架构的成本和复杂性。例如,在典型的集群文件系统中,每个客户端节点(SAS 计算节点)必须安装一个主机总线适配器 (HBA),以便将其连接到共享光纤通道存储。维护集群文件系统并对其进行调优以获得高性能还需要训练有素的存储管理员,这进一步增加了总拥有成本。

SAS 和 Oracle 设计了一种经济高效的架构,该架构提供足够的存储 I/O 吞吐量和刀片服务器处理能力,甚至可以满足最苛刻的 SAS 网格计算需求。该架构基于 Oracle 提供的易于部署和管理的刀片服务器和统一存储平台。

解决方案架构

本解决方案架构利用 Sun Blade 6000 模块化系统Sun ZFS 存储设备来实现高可伸缩性及部署和管理的简单性。如图 1 所示,根据应用程序的需要,可以部署多种不同网络配置。

图 1

图 1. SAS 网格计算解决方案架构

之所以选择 Sun Blade 6000 模块化系统,是因为它卓越的灵活性、最佳性能、占用空间小且易于管理。该系统支持多种计算和 I/O 模块选择,使 SAS 客户能够以或细或粗的粒度同时提升处理能力和 I/O 吞吐量的容量。

SAS 网格计算需要共享文件系统,而 Sun ZFS 存储设备正好适合这一要求,因为它可以在提供 NFS 文件服务器简单性的同时提供复杂集群文件系统的性能。Sun ZFS 存储设备为 NFS 中的所有 SAS 网格计算节点提供了一个公共的共享文件系统。(其他协议,如 CIFS、HTTP、FTP、WebDav 和 iSCSI,均适用并包括在该设备中,无需额外成本。)Sun ZFS 存储设备经过了预先配置,随时可以运行,因此通常只需数分钟即可完成部署。其优秀的存储监视功能还为 SAS 网格计算环境提供了一个重要优势。

Sun ZFS 存储设备中的 DTrace Analytics 提供了下钻到详细 I/O 流量视图的能力,如下面的性能结果部分中的屏幕截图所示。该功能可以提供全面、有价值的关于每节点、每作业等的 I/O 资源的深层次信息。对详细分析的这种实时访问可以帮助 SAS 管理员在负载变化时掌握其 SAS 环境中的使用模式和系统性能情况,因此使他们能够快速识别和解决性能问题。此外,对于 I/O 流量模式的了解也使得能够精确规划未来的存储容量和 I/O 吞吐量需求。

实现网络结构

对于 Sun Blade 6000 模块化系统与 Sun ZFS 存储设备之间的网络连接,有四种选择:

  • 单个千兆以太网 (GbE):为小型 SAS 网格计算环境提供有限带宽。(作为参考,一个 GbE 链接可提供约 100 MB/秒的吞吐量。)
  • 10 GbE:为拥有中等 I/O 流量的 SAS 网格计算环境提供充足的带宽。
  • 四倍 10 GbE:提供最大带宽并使客户能够保持其架构与其他可能基于以太网技术的内部部署的一致性。
  • 四倍数据速率 (QDR) InfiniBand:提供高性能计算和企业数据中心中常用的交换结构通信链路。其特性包括高吞吐量、低延迟、服务质量、故障切换和可伸缩性。

图 2 显示四个以太网端口如何聚合成一个逻辑数据链路。在本例中,名为 ixgbe0ixgbe1ixgbe2ixgbe3 的四个 I/O 设备聚合成一个名为 aggr1 的逻辑接口。

如图 2 上所注释的,当选择某个链路时,Sun ZFS 存储设备管理界面将自动高亮显示构成该链路的所有组件,从而方便管理员了解网络配置。当通过聚合链路发送数据时,Sun ZFS 存储设备与网络交换机协同工作在所有四个以太网链路上传送 I/O 数据包。

图 2

图 2. 网络配置和链路聚合

在 Sun Blade 6000 模块化系统上实现以太网连接是通过使用 Sun Blade 6000 以太网交换式 Network Express 模块 (NEM) 24p 10GbE 来完成的,以提供 10 GbE 非阻塞并发交换网络结构。Sun Blade 6000 以太网交换 NEM 24p 10GbE 已集成在 Sun Blade 6000 机箱中,这使得机箱中的所有服务器刀片都能访问该以太网接口。有关详细信息,请参见 Oracle 技术网上提供的“Sun Blade 6000 I/O 和管理架构”白皮书

InfiniBand 网络结构由 Sun Datacenter InfiniBand Switch 36、10 个 Sun 双端口 4x QDR PCIe 模块(每个 Sun Blade X6270 M2 服务器模块一个)、一个适用于 Sun ZFS Storage 7420 设备的 4x QDR PCIe 卡(双端口至交换机)及相关电缆构成。

测试配置和优化

在测试配置中,Sun Blade 6000 模块化系统部署了以下硬件和软件组件:

Sun ZFS Storage 7420 设备配置如下:

  • 头节点:256 GB RAM、2 个内部磁盘驱动器以及 4 个 477 GB 闪存驱动器,这 4 个闪存驱动器镜像成约 1 TB 的支持闪存的可用读缓存
  • 磁盘架:2 个磁盘架,每个包含 20 个 1.8 TB 的磁盘驱动器 (HDD) (SAS-2 7200 rpm),4 个 18 GB 的闪存驱动器,提供大约 68 GB 的写入缓存。每个磁盘架使用 19 个 HDD(留 1 个备用)创建一个镜像池,其中 4 个闪存驱动器镜像为双子驱动器。这将产生一个有 33 TB 可用空间的池,如图 3 所示。

磁盘镜像是需要额外数据保护的 SAS 环境所期望的配置。本文档稍后介绍的测试结果说明可通过 Sun ZFS Storage 7420 设备上的镜像实现出色的 I/O 吞吐能力,使得镜像成为 SAS 用户的一个可行选择。

图 3

图 3. 存储池配置

从一个 ZFS 镜像池分配了 3 个文件系统:

  • /data
  • /apps
  • /work

SAS 工作文件系统 (/work) 包含临时运行时文件的 SASWORK 目录。SAS 应用程序对这些文件的使用非常频繁,它们通常部署在每个 SAS 网格节点的本地磁盘上以避免网络和存储 I/O 争用。

对于本测试,SASWORK 目录特意放在 Sun ZFS Storage 7420 设备上,以尝试使 Sun ZFS Storage 7420 设备的 I/O 吞吐量最大化。以下测试结果显示 Sun ZFS Storage 7420 设备可以成为基于 NFS 的存储系统上 SASWORK 目录的实际可行的位置。对于需要对 SAS 大众用户可用的大型易变 SASWORK 目录,这一点尤其有用。

多个网络配置

使用 10 GbE 网络和 InfiniBand 网络结构两种网络配置对负载进行了测试。

每个 10 Sun Blade X6270 M2 服务器模块包含一个 10 GbE 接口和一个 InfiniBand 接口。网络配置的选择是通过简单修改客户端 NFS V3 挂载来更改分配给各种网络接口的不同 Sun ZFS Storage 7420 设备挂载点来完成的。

对于测试的所有网络配置,所有其他变量(应用程序、负载、服务器等)保留不变。

调优和优化

为了优化性能,在每个服务器节点上进行了以下调优修改。

针对 10 GbE 驱动程序对 /kernel/drv/ixgbe.conf 文件进行了以下更改:

default_mtu=9000;
intr_throttling=1;

通过 default_mtu 设置启用了巨型帧。(参见 Sun Dual 10GbE SPF+ PCIe 2.0 Low Profile 适配器用户指南的“配置驱动程序参数”一节中的“在 Solaris 操作系统中配置巨型帧”。)使用值 9000,因为该值与 Sun ZFS Storage 7420 设备上的巨型帧大小匹配。

intr_throttling 设置与禁用中断抑制有关。启用中断抑制后,将对中断进行分组或一起进行批处理。(参见 Oracle Solaris 可调参数参考手册第 2 章“Oracle Solaris 内核可调参数”中的“网络驱动程序参数”一节中的“ixgbe 参数”。)

InfiniBand 的 /kernel/drv/ibd.conf 文件中做了以下更改。(参见手册页面第 7 节:设备和网络接口手册的“设备和网络接口”一节中的 ibd(7d)。)

enable_rc=1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0;

“1”项对应于每个 HBA 卡上的两个 InfiniBan 端口,并指定使用连接模式。InfiniBand 上的 IP (IPoIB) 的连接模式可提供比数据报 IPoIB 更好的性能。

此外,在 /etc/system 中进行了以下 NFS 更改,设置了 NFS 客户端逻辑缓冲区大小和预读操作。(参见 Oracle Solaris 可调参数参考手册的第 3 章“NFS 模块参数”。)

set nfs:nfs3_bsize=131072
set nfs:nfs3_nra=32

为了在 10 GbE 和 InfiniBand 之间切换测试,我们卸载并重新挂载了正确的 NFS 服务器分配。例如,针对 10 GbE,/etc/vfstab 将含有以下项:

s7420-011ge2:/export/sasgeno_data   - /data nfs     -       yes     vers=3,noxattr
s7420-011ge2:/export/sasgeno_swsg   - /apps nfs     -       yes     vers=3,noxattr
s7420-011ge2:/export/sasgeno_work   - /work1 nfs     -       yes     vers=3,noxattr

或者,针对 InfiniBand,它应含有类似以下的项:

s7420-011ib0:/export/sasgeno_data   - /data nfs     -       yes     vers=3,noxattr,proto=tcp
s7420-011ib0:/export/sasgeno_swsg   - /apps nfs     -       yes     vers=3,noxattr,proto=tcp
s7420-011ib0:/export/sasgeno_work   - /work nfs     -       yes     vers=3,noxattr,proto=tcp

测试负载 1:SAS 网格混合分析负载

SAS 网格混合分析负载代表目前在基于网格的 SAS 应用程序中常见的 SAS 处理类型。向网格提交了 130 多个资源密集型作业。每节点的并发作业数可由 SAS 网格管理器进行配置。对于本负载测试,选择了 40 个并发作业。SAS 网格混合分析负载中的许多 I/O 密集型测试涉及多次遍历极大型数据集。

此负载大量利用 SAS 数据步以及基本 SAS 和 SAS/STAT 中的许多常用过程。此类负载的常见特征包括以下几项:

  • 许多并发 SAS 作业/用户(批处理和交互式)
  • 多次遍历数据
  • 主要采用顺序文件访问
  • 数据以文本、二进制文件或 SAS 数据集格式存储
  • 大范围的数据量(1 MB 至 50 多 GB 输入/输出文件)
  • 混合计算和数据处理负载

本测试模拟大约 30 CPU 小时,代表一个分析用户团队的一个典型工作日。组成这些作业的用户角色包括以下内容:

  • 数据集成任务
  • 高级分析
  • 业务分析师
表 1. 负载详细信息
负载特征 说明
所用 SAS PROCS MIXED、RANK、LOGISTIC、REG、GLM、SORT、SUMMARY、FREQ、MEANS、SQL
输入数据 大约 50 个不同文件,总计约 600 GB;其中 24 个文件在 12 GB 到 50 GB 之间。
输出数据 由于总 I/O 中输入与输出大致各占一半,输出被同时写入 SASWORK 和指定的输出目录

性能结果:SAS 网格混合分析负载

SAS 网格混合分析负载包括 130 多个 SAS 应用程序,它们以预定的时间延迟被提交到网格以代表高使用率的典型时段。所有作业运行时的累积总数为 30 CPU 小时,但以网格的能力,测试在大约 45 分钟内完成。

对于 SAS 网格混合分析负载,使用 InfiniBand 网络结构提供的整体吞吐量最高。如图 4 所示,各种网格结构的峰值吞吐量结果如下:

  • InfiniBand:3.05 GB/秒
  • 四倍 10GbE 链路聚合:2.43 GB/秒
  • 单 10 GbE 接口:2.01 GB/秒
图 4

图 4. SAS 网格混合分析负载的 NFS 网络结构 I/O 性能比较

此性能数据是使用 DTrace Analytics 收集的,它是业界唯一的全面、直观的存储分析环境。下面图 5 和 6 中的屏幕截图是 DTrace Analytics 在 Sun ZFS Storage 7420 设备上与其他数据一起捕获的,目的是为了捕获 SAS 网格混合分析负载的完整 I/O 概要信息。图 5 显示 InfiniBand 配置的 I/O 吞吐量,图 6 显示四倍 10 GbE 测试配置的 I/O 吞吐量。

注意,DTrace Analytics 绘出了按方向(“in”= 写,“out”= 读)划分的吞吐量,以便管理员能够查看读写之间的平衡。I/O 吞吐量沿时间轴绘制,这使管理员能够查看何时发生突发 I/O 操作以及峰值吞吐量是形成一个大尖峰还是逐渐增长。尽管在这两种情况下都形成一个明显的峰值,但对于 InfiniBand 和四倍 10 GbE 配置,我们都看到了持续、良好的吞吐量。

图 5

图 5. InfiniBand 的峰值 I/O 吞吐量(使用 DTrace Analytics 绘制)

图 6

图 6. 四倍 10 GbE 的峰值 I/O 吞吐量(使用 DTrace Analytics 绘制)

DTrace Analytics 还能够按多种其他变量来划分 I/O,如客户端、文件名、数据包大小等等。例如,按客户端的活动划分可以帮助管理员确定特定节点是否有异常行为或者是否计划了具有非平衡 I/O 要求的作业。

测试负载 2:并发 SAS 数据步微基准测试

为了演示高吞吐量和可伸缩的 I/O,除 SAS 网格混合分析负载之外,还使用了并发 SAS 数据步微基准测试。此测试包括运行输出 1000 万个观察值的单个写密集型 SAS 数据步的多个实例。每个观察值为 824 字节(包括 103 个变量),1000 万个观察值产生一个 8.3 GB 的数据集。通过在 10 个节点上针对总计 100 个并发作业同时运行 10 个实例来提高吞吐量。此微基准测试几乎完全执行写入 I/O。

从代表典型 SAS 数据步代码的意义上来说,微基准测试是真实的。然而从所有作业在受控环境下同时启动的意义上来说,它是虚构的。基准测试的用处在于为一个按可预测模式均匀分布的简单已知负载生成繁琐的性能证明事实。

性能结果:并发 SAS 数据步微基准测试

并发 SAS 数据步微基准测试的目的是为了比较不同网络结构上的 NFS 以演示 I/O 可伸缩性。

图 7 显示当通过单个 10 GbE 接口、四倍 10 GbE 链路聚合接口和 InfiniBand 接口使用 NFS 上的 SASWORK 时完成 100 个相同 SAS 作业的平均时间。

Sun ZFS Storage 7420 设备的四倍 10 GbE 接口性能提高了约 10%。尽管四倍 10 GbE 接口性能平均得到提高,但我们还是看到 InfiniBand 的峰值吞吐量更高,如图 8 所示。

图 7

图 7. 三种不同 NFS 网络结构上的平均作业完成时间

图 8

图 8. 三种不同 NFS 网络结构上的峰值 I/O 吞吐量

DTrace Analytics 提供了对 10 GbE 与 InfiniBand 之间 I/O 性能差异的额外洞察。图 9 显示一个四倍 10 GbE 测试的 I/O 概要,后边跟着在 InfiniBand 上运行的 I/O 概要。尽管 I/O 概要运行时长度相近,但请注意,右侧的 InfiniBand 概要更密集,展示了更高的峰值吞吐量。

图 9

图 9. 四倍 10 GbE 测试与 InfiniBand 测试的 I/O 概要比较

比较网络结构

作为上下文基线,不同网络结构的最大吞吐量性能预期值为以下量级:

  • 1 GbE:约 100 MB/秒
  • 10 GbE:约 1 GB/秒
  • InfiniBand:约 3 至 3.5 GB/秒

许多因素都会影响 InfiniBand 吞吐量,如电缆类型、交换机、主机适配器等等。在测试的配置中,由于所使用的 InfiniBand 网卡的单向限制,3 GB 是一个合理的实际上限估计值。

在理想条件下,可以预计四倍 10 GbE(4 x ~1 GB/秒 = 4GB/秒)链路聚合的性能将比给定配置中的 InfiniBand 配置高约 20%。此微基准测试的结果确实显示四倍 10 GbE 链路聚合的性能更好。但是,差异在 5% 至 10% 量级而非 20%。如下面的 I/O 考虑因素部分中所述,被测配置中的磁盘转轴数似乎是扩展 I/O 吞吐量的主要限制因素。此因素对两种网络结构的性能起到了中和作用。

链路聚合

图 10 确认了 10 GbE 链路聚合的有效性。作为后台,在 10 GbE 链路聚合中,使用管理员指定的策略(如基于 MAC、IP、MAC+IP 等的散列)对连接进行了复用。由于测试配置有 10 个刀片和 4 个潜在的 10 GbE 接口,所以针对均匀分布设计了一条策略。

由于有 10 个节点且网络接口分配基于节点,所以最佳情况将是为链路聚合中的 4 个网络接口中的每一个分配 2 个或 3 个节点。实际分布如下:

  • ixbe0:2 个节点
  • ixbe1:4 个节点
  • ixbe2:2 个节点
  • ixbe3:2 个节点

图 10 显示在 SAS 网格计算环境中的 10 个不同节点的每个节点上运行 10 个作业时,DTrace Analytics 给出的 2 个 I/O 流量视图。

上面的图表显示按分配的实际 NIC 划分的聚合逻辑接口 (aggr1)。(为清楚起见,在屏幕截图上方添加了 NIC 分配情况。)在命名方案(例如,n2/be1)中,n2 表示进出节点 2 的流量,be1 表示 Sun ZFS Storage 7420 设备上的接口 ixgbe1

下面的图显示组成链路聚合的每个 10 GbE NIC 的颜色编码。

所使用的散列方案为 L3,它基于节点的 IP 地址并产生几乎完美的平衡负载。如果分配给 ixbe1 的一个节点被分配给了任何其他接口,这将是一个完美的分布。DTrace Analytics 提供了一种简单、方便的方法来显示链路聚合分布和确定其效率。

图 10

图 10. DTrace Analytics 给出的 2 个 I/O 流量视图

网络带宽

如前所述,所声明的最大带宽对于四倍 10 GbE 链路聚合约为 4 GB/秒,对于单个 InfiniBand PCIe 卡则约为 3 GB/秒至 3.5 GB/秒。使用链路聚合接口,可以查看 DTrace Analytics 对纯网络带宽测试的跟踪结果。

对于流“出”Sun ZFS Storage 7420 设备的流量(绿色),从每个刀片运行只读应用程序以确保所有读取是来自该设备的读缓存。对于流“入”Sun ZFS Storage 7420 设备的流量,使用了一个公共域应用程序 netperf 来通过网络接口写入。因此任何磁盘 I/O 都不应产生流经网络接口的流量。

图 11 显示只读和只写测试均可维持 4+ GB/秒,表现了出色的网络性能。这符合我们预期的最大网络吞吐量。

图 11

图 11. 只读和只写测试维持 4+ GB/秒

I/O 考虑因素

记得我们在镜像配置(这是典型的企业部署配置)中有两个磁盘架。每个架子有 24 个驱动器。在我们的测试配置中,保留一个驱动器作为备用,四个驱动器是基于闪存的,用作写入缓存设备。

假设一个 7200 rpm 的驱动器可以写入约 50 MB/秒,则可预期单个架子的基准写入性能大约为 1GB/秒(19 个驱动器 * 50 MB/秒 = 950 MB/秒)。实际情况中,借助 Sun ZFS Storage 7420 设备独特的混合存储特性,我们能够实现 2 到 3 倍于它的峰值吞吐量。

扩展 I/O 性能

尽管有出色的吞吐量(并发 SAS 数据步微基准测试在 10 分钟内总共写入 800 GB)和一致的性能(100 个作业中的每一个的执行时间非常接近),但为 100 个 SAS I/O 作业提供 38 个转轴还是被视为镜像配置中的一个限制因素。

由于存储配置已固定,测试有关转轴数限制吞吐量的理论的唯一办法是打破 ZFS 镜像并将该镜像作为备用池释放出来。尽管建议您永远不要在没有任何冗余的情况下运行存储,我们还是能够通过将一半作业(5 个节点中共 50 个)发送到一个池/镜像并将另一半发送到另一个池,来验证并确认 Sun ZFS Storage 7420 设备的 I/O 可伸缩性。

通过拆分 ZFS 池并有效地使存储配置加倍,性能几乎倍增,如图 12 所示。在 10 个节点上同时运行的 10 个作业中的每一个的平均时间从约 9 分钟降为约 5 分钟。

图 12

图 12. 使用一个磁盘架与两个磁盘架时 InfiniBand 上 100 个 SAS 作业的完成时间的比较

此外,图 13 中的 I/O 概要显示使用两个磁盘架时运行时间大大缩短,吞吐量显著提高,同时等待时间缩短(图形更密集)。

图 13

图 13. 使用一个磁盘架(左)与两个磁盘架(右)时 InfiniBand 上 100 个 SAS 作业的 I/O 概要的比较

使用一个与两个磁盘架时在性能上表现出来的这种巨大差异明确指出存储配置是整体吞吐量的限制因素。为演示这一假设并确认存在过剩的 CPU 能力,只使用两个节点再次运行 100 个并发 SAS 数据步微基准测试。

对于此测试,不是在 10 个节点的每一个上运行 10 个作业,而是在两个节点的每一个上运行 50 个作业。此配置的平均性能时间只比将 100 个作业平均分配在 10 个节点上时稍差。由于两个节点差不多可以跟上存储 I/O,这证明了存在过剩的 CPU 能力,且存储 I/O 很可能是限制因素。这还解释了在 SAS 网格混合分析负载中为什么每个节点只分配 4 个 SAS 网格管理器作业槽。由于数据集非常大,我们同样看到了更高的峰值性能和吞吐量。

从这一系列测试我们可以得出结论,附加的磁盘架会创建更平衡的配置,进一步提升 I/O 吞吐能力。

总结

Oracle Sun Blade 6000 模块化系统与 Oracle Sun Blade X6270 M2 服务器模块、Oracle Sun ZFS Storage 7420 设备以及 Oracle Solaris 10 操作系统的组合,为 SAS 网格计算应用程序提供了理想的环境。它提供了强健的企业级可靠性,以及可伸缩的 I/O 和计算性能。

对 SAS 网格计算而言,实验室中测试的 SAS 负载提供了一场非常紧张的测试,同时对架构的计算和 I/O 方面施加了强大的压力。结果显示如下:

  • 刀片提供了出色的性能。在大约 45 分钟内,SAS 网格混合分析负载中完成了 30 个计算时。
  • 两个磁盘架之间的镜像池能够提供超过 3 GB/秒的 I/O 吞吐量。
  • 连接高性能网络的存储可以使用多种网络结构主干来实现,从而实现了要求共享文件系统的 SAS 网格计算应用程序的灵活性。使用 Sun ZFS Storage 7420 设备提供的单个 PCIe、双端口的 InfiniBand 连接的测试执行起来大约等于一个四倍 10 GbE 链路聚合,尽管预期四倍 10 GbE 的执行效率可能高 20% 至 25%。
  • 该配置展示了可伸缩的 I/O。有效倍增存储配置差不多可以成倍提高并发 SAS 数据步测试的性能。100 个并发作业的平均作业完成时间几乎减半(从约 9 分钟降至约 5 分钟)。

从测试期间对系统资源利用率的查看表明,从 CPU 和网络的角度看容量上有所富裕。仅使用网络的吞吐量测试显示了过剩的容量,并显示链路聚合能够提供大约 4 GB/秒的吞吐量。

I/O 可伸缩性的演示既清晰又简单。当存储资源加倍时,并发 SAS 数据步微基准测试的性能几乎呈线性提升。

选择适当的存储配置是企业特定的,所有因素(如网格节点计算资源总数、并发用户数、I/O 利用率和试探,以及应用程序本身的概要信息)都要进行考虑。要明确回答哪种存储配置适合您的环境是非常困难的,因为业务需求是动态的,负载是不可预测的。

在配置方面,Sun ZFS Storage 7420 设备提供了极大的灵活性,这让您可以一开始选择中等配置,然后根据需要再扩展存储系统。

为平衡 CPU 性能与存储 I/O 性能,额外的磁盘架将非常有帮助。在许多情况下,这将意味着富裕的存储容量,但额外的磁盘转轴将提供更大的 I/O 吞吐量。从我们对测试数据的检查来看,5 个或 6 个磁盘架(或 10 至 12 个,如果为提高可用性而镜像的话)将提供一个更平衡的配置。

每个部署都有其独特性。尽管存储是整体系统配置的较复杂组件之一,但一个宽松的存储配置还可以为克服大小和容量规划的不确定性提供最佳“保障”。

如果计算节点内存和存储 I/O 吞吐量均采用宽松配置,这将提供一种保障机制来支持配置从容应对使用模式中的高峰。由于采用超大尺寸,这些组件一般不影响 SAS 或 Sun ZFS 存储设备的软件许可成本,这种规避风险的做法仍然是经济高效的。

该解决方案架构基于 NFS 的事实还提供了极大的 IT 灵活性,并减轻了管理负担。设计巧妙的架构可以在后台支持重大更改,无需或很少需要停机。例如,将客户端移动到另一个网络接口可能就像重新映射 NFS 服务器 IP 地址和主机名及重新挂载文件系统一样简单。

在配置、规模和成本折衷之间取得恰好的平衡需要多方面的知识背景。本文所讨论的性能特性旨在为帮助您更轻松地为规模和配置实践制定适当的标准提供洞察。

资源

以下是本文前面所引用的资源:

有关 Oracle 和 SAS 的详细信息,请访问 oracle.com/sas

修订版 1.1,2011 年 9 月 7 日