存储空间 - 性能设计

*Note: This article is a translation of the article "Storage Spaces - Designing for Performance" by Tobias Klima.
*

目录

摘要

使用 Windows Server 2012 存储空间提供如今企业工作负载所需的存储性能,灵活性和规模。本文重点介绍影响存储空间性能的参数,以及如何为特定工作负载优化参数来使存储空间达到最佳性能。

本文适用于以下操作系统:

  • Windows Server 2012 R2
  • Windows 8.1
  • Windows Server 2012
  • Windows 8

本文建议的读者是:

  • 存储管理员
  • 信息技术(IT)专业人员

简介

在评估一种存储解决方案的成本效益和实用性时,性能是很重要的。存储空间是一个存储平台,它的主要目标之一就是高性能。前提是要有底层硬件可用。存在大量的变量会影响性能、 响应能力和复原能力。最值得注意的是,给定工作负载的特点,如 Microsoft SQL Server、 Microsoft Exchange 或虚拟桌面基础结构(VDI),决定了如何以优化配置存储。在某些场景中原始吞吐量(通常以 MB/s),是当具有随机数据传输模式的工作负载中通常用来衡量输入/输出操作(I/Ops)效率的最重要因素。存储空间能够用于各种工作负载的后端存储。本文介绍对于一个给定的工作负载如何配置存储空间以获得最佳性能以及选择哪些硬件。

常见存储术语表,请参阅本文末尾。

储存空间类型

Windows Server 2012 引入了存储空间,这个新的功能可以让 Windows 聚集和虚拟化物理硬盘为逻辑组,即被称做存储池和存储空间(虚拟磁盘)。你可以根据业务需求选择简单(不可复原),镜像或奇偶校验复原类型。下面简短的解释一下每种复原类型是如何工作的。

存储空间的介绍,请参阅这篇博文:http://go.microsoft.com/fwlink/?LinkId=260762

简单存储空间(虚拟磁盘)

使用简单空间事例最容易解释条带化概念。条带化是指跨多个磁盘写入数据以减少访问和响应时间的概念。举一个简单的例子: 想象一下你有四个磁盘和写入这些磁盘的 1 MB 数据。你可以将全部数据写入到单个硬盘并从哪里访问,或者同时向4个硬盘中的每个写入256KB数据,从而使写入时间降低到四分之一。这一般用于顺序工作负载,也可用于随机工作负载。存储空间(虚拟磁盘)条带化可以跨越磁盘越多,性能会更好。但是请注意,这只能适用于你的应用程序有非常多数据。在存储空间(虚拟磁盘)中的条带化可以通过 列数(NumberOfColumns)交错(Interleave) 参数控制,在本文稍后说明。

下图显示了条带化的简单例子。 使用简单空间的示例,你可以看到4个硬盘中每个都分配了 256 KB 数据,合起来就是写入 1M 数据。如图中 A1 到 A4 表示的数据。到这个存储空间(虚拟磁盘)的下一个写入将会分配另外四个 256 KB 块并写入数据,由 B1 到 B4 表示。请注意 256 KB 块并不一定在下图相同的位置上:

简单空间没有恢复磁盘故障的能力,因此仅用于临时数据并且数据可以很容易地重新创建,例如视频渲染中间文件或缓存。从性能的角度看,简单空间提供了读取和写入的最佳总体性能。它们提供多个磁盘的累积性能,这依赖于于有多少磁盘在存储池中。

镜像存储空间(虚拟磁盘)

镜像是指创建数据的两个或多个副本,并将它们存储在不同的地方,所以,如果一个副本丢失了其它仍然是可用的。镜像空间使用这种概念,使其具有复原1或2个磁盘故障的能力,取决于具体配置。

举个例子,两列双路镜像空间。镜像空间是在条带下面添加一个数据拷贝层,这意味着,双路镜像空间会复制每个列的数据到两个硬盘上。

假设写入 512 KB 数据到存储空间(虚拟磁盘)。在这个例子中的第一个条带数据(A1) ,存储空间会写入 256 KB 到第一个列,它们会被重复写入到前两块硬盘中。对于第二列条带数据(A2),存储空间会写入256 KB数据到第二列,它们会被重复写入到接下来两块硬盘中。双路镜像的列到硬盘(column-to-disk)关系是 1:2;三路镜像的关系是1:3。

读取镜像空间速度是很快的,这是因为不仅从条带受益,也还从2份数据副本中受益。请求的数据可以读取任意一组磁盘。如果磁盘 1 和 3 正忙着为另一个请求提供服务,可以从 2 和 4 的磁盘读取所需的数据。

镜像,在快速读取的时候,也提供了复原单个磁盘故障(在一个双路镜像)能力,为此必须为每一位写入的数据完成两个写入操作。一个写入发生时会产生一份原始数据和镜像另一头的第二份数据(如上述例子中的磁盘 2 和 4)。换句话说,一个双路镜像需要 2 TB 的物理存储容量来产生 1 TB 可用容量,因为要存储两份数据副本。在三路镜像中,有两份原始数据备份存储,从而使存储空间(虚拟磁盘)可以复原两个磁盘故障,但也会将可使用的存储容量降低到总物理容量的三分之一。如果一个磁盘出现故障,存储空间(虚拟磁盘)仍然在线,但复原能力已被减少或消失。。当添加一个新物理硬盘或者有热备盘存在时,镜像会从新生成它的复原能力。

奇偶校验存储空间(虚拟磁盘)

奇偶校验使用计算来恢复故障磁盘的数据。在这种类型的存储空间(虚拟磁盘)中有一个列(稍后解释)用来保存奇偶校验位,这可以用来重建故障磁盘数据。存储空间使用轮流奇偶校验方式,这意味着整个条带的奇偶校验位不会保存在单个硬盘上,而是在跨越的不同磁盘上的条带中轮流交替。本质上,奇偶校验空间中的每个磁盘都包含数据和奇偶校验信息。

如在下图中,768 KB条带数据写入到磁盘1到3中(A1,A2,A3),同时相应的奇偶校验位(AP)被放置在磁盘4上。对于接下来的条带数据,存储空间写入数据到磁盘1,2和4上,从而使奇偶校验轮换到磁盘3(BP)上。因为奇偶校验的条带是遍及除一个磁盘外的所有磁盘,所以存储空间(虚拟磁盘)将拥有良好的读取性能同时提供单个硬盘故障的复原能力。用量利用率比镜像空间更高。

有关奇偶校验空间需要说明的是它的写入性能相比简单或镜像存储空间(虚拟磁盘)要低,这是因为必须在写入新数据之前读取和处理现有数据和奇偶校验信息。奇偶校验空间是以下工作负载最佳选择,以读取为主,高顺序性,需要复原能力的工作负载,或大量顺序追加块数据(如批量备份)的写入工作负载。

奇偶��验空间的顺序写入性能可以通过使用专用日志来提高。日志是用来为正在进行中的I/O,聚集写入来提供复原。这个日志保存在与奇偶校验空间相同的硬盘上,除非你指定池中的哪个物理硬盘作为日志磁盘。日志是一个镜像空间,因此�����带有复原。指定日志磁盘有助于提高奇偶校验空间的顺序写入的吞吐量。传入写入操作会被转存到奇偶校验空间的指定磁盘,从而降低了使用奇偶校验空间的磁盘寻道时间。在实验条件下,使用两个固态硬盘(SSD)作为有三个硬盘的奇偶校验空间的专用日志硬盘,可以增加150%的顺序吞吐量。请注意,日志磁盘的吞吐量现在会限制在这个存储池上创建的全部奇偶校验空间的吞吐量,并且你可能需要购买更多空间来提高性能。换句话说,要确保专用日志硬盘的速度非常快,并且根据池中奇偶校验空间的数量按比例的配置日志硬盘数量。

磁盘类型

使用的磁盘类型对于给定的工作负载是很重要的,因为它们之间有着显著的性能和容量的差异。下面的列表简单概述磁盘类型的一般用途和它们的特性:

  • HDD – 2.5寸硬盘: 这些“笔记本电脑”的硬盘运行在不同的RPM(每分钟转数)上,不过通常都比3.5寸“桌面”或“服务器”硬盘的容量和性能要低一些。这是将硬盘使用功耗降低和增加每个服务器物理硬盘数量密度的代价。
  • HDD – 5400 RPM 和 可变 RPM “绿色”硬盘: 这些硬盘运行在 5400 RPM 或可变 RPM 速率一下,并且有着和通常 7200 RPM 硬盘相同的容量,但它们使用低性能来换取低功耗。
  • HDD – 7200 RPM: 这些硬盘通常提供最大的单盘容量和根据工作负载而定的充足性能。它们顺序读写性能相当不错,但随即读写性能只有SSD的一小部分。随机工作负载能快速的让这些磁盘的性能饱和。
  • HDD – 10,000 RPM: 这些硬盘在更高的性能,相对较大的容量和少许更高的价格之间取得平衡。它们的随机读写性能明显优于 7200 磁盘,不过顺序读写性能只是略有改善。
  • HDD – 15,000 RPM: 连续容量/性能的趋势,15000 RPM 硬盘能非常快速的读写数据,即使随机数据也一样。它们取得了非常好的顺序吞吐量,虽然容量比 10000 RPM 硬盘有所减少。这些通常是用于很多I/O负载但是不需要高容量的选择,例如:日志,或者启动硬盘。
  • SSD: 固态硬盘(SSD)是一类自身可以提供非常高随机I/O性能,通常会有15000 RPM 硬盘的20倍以上。串流大块的吞吐量通常不超过 15000 RPM 硬盘的2倍。如果你的工作负载包括随机小数据块的读写,而你的预算允许的话,固态硬盘是一个很好的选择。 在市场上可以买到不同类型的SSD,它们有着不同的性能和寿命的设计:
    • SLC类型: 通常具有比MLC类型更快的写入速度,并且通常可以支撑更多整盘重复写入数和超过硬盘寿命的压力。这些硬盘通常比MLC类型硬盘有更低容量和更贵的价格。
    • MLC类型: 这是一个典型的SSD设计,具有出色的读取性能,良好的写入性能和容量大小。在重写入工作负载中,MLC类型的SSD通常比SLC类型的SSD要磨损的更快。一旦磁盘出现损耗,其性能会显著下降。
    • “增强的”MLC类型: 一些供应商使用 eMLC SSD 代替 SLC 和 MLC 之间的固态硬盘。这种类型的硬盘不能像SLC存储器有很多删除/程序周期,但却大大超过 MLC 类型。它适合于执行大量写入的工作负载,但不是在硬盘某个部分上的连续写入数据。通常这些硬盘的价格高于标准 MLC 并且有指定的供应商实现。

为了确保固态硬盘没有过早磨损 Windows 支持 trim 和 unmap 命令。 存储优化器将Trim命令发送到 SSD 设备以最大化其寿命。此外,如果应用程序支持trim和/或un-map, Windows 将接受那些命令,并传递到它们底层设备。

很多存储系统包含混合媒介类型。这意味着有几个高容量 7200 RPM 硬盘是可用于存储备份或不经常访问的数据。10000 RPM 或 15000 RPM 硬盘可能用于部署数据仓库或者需要较快访问和维护的数据。最后,固态硬盘,可以用在这样系统中,如存储现有数据或对读取延时很敏感的数据,如事务日志或在VDI方式部署中的父VHD文件。这种类型的配置存储空间也可以使用,并且允许用户利用不同硬盘类型的各种特性,从而无需为工作购买高性能的硬盘。系统管理员可以创建不同硬盘类型的存储池或将各种硬盘类型放到单个池中并手动选择那些硬盘用于那个存储空间(虚拟磁盘)。存储空间完全支持这种异构类型的存储部署。

支持的硬件接口(SAS,SATA,USB)

存储空间支持磁盘使用 SAS 和 SATA,USB 接口。SAS 通常被认为是企业级的,然后 SATA 等同于消费性存储。主要的区别是大多数的 SAS 硬盘有两个连接通道,而SATA只有一个。这允许 SAS 磁盘可以是共享资源,因此用于群集和高可用性环境中并能适应单个链路故障的存储。此外,将SATA硬盘附加到“简单磁盘捆绑”(JBOD)机箱与附加SAS硬盘导致性能下降通常很轻微。SATA SSD 会进一步加剧问题使得 CPU 开销增大几个数量级。存储空间支持 USB 硬盘,但通常不适合高性能的系统配置。我们建议尽可能使用双口的SAS硬盘。

存储空间的缩放

存储空间充分利用底层存储的全部性能。下面的图表显示多达32个硬盘的简单空间的性能测试,简单空间的数据条带跨越全部硬盘并且没有复原:

在 TechEd North America 2012 还有 TechEd Europe 2012,微软展示三个节点的群集系统,由 24 企业级支SSD和存储空间组成。这个配置展示出了每秒 140 万的随机读取和每秒 10.9GB 的顺序吞吐量的性能。有关此系统的更多详细信息可以在本文的部署示例部分找到。

分层(Windows Server 2012 R2中新功能)

存储分层,是在 Windows Server 2012 R2 中的存储空间开始支持事件,通过将频繁访问的数据移动到非常快存储中,同时还维护不经常访问的文件到适中或较慢的存储中。通过文件系统对文件访问频率(热度)进行衡量,并将其传送到分层引擎,它将指示空间将频繁使用的文件移动到基于闪存的存储设备上,同时保留不常使用数据在大容量较慢的存储上。主要的好处是提高成本效率,只将关键的工作负载通过基于闪存存储来加速,同时保留数据在慢速,大容量的设备上(如 7200 RPM 4TB 硬盘)。

要了解更多有关存储分层,以及大小建议,请参阅下面的 TechEd 内容:

  1. 在 Windows Server 2012 R2 中部署分层存储空间的最佳实践(http://channel9.msdn.com/Events/TechEd/NorthAmerica/2014/DCIM-B346
  2. 使用 Windows Server 2012 R2 提供卓越的IOPS/$ (http://channel9.msdn.com/events/TechEd/NorthAmerica/2014/DCIM-B311)

块大小和交错

在任何工作负载中很重要的两个参数是块大小和交错(即条带大小)。块大小是用来计量(通常使用KB)存储子系统每秒可以处理多少I/O。许多数据库风格的应用程序如 Microsoft SQL Server 和 Microsoft Exchange使用相对较小的块(8KB - 32KB),但其他应用程序可能会使用较大的数据块。顺序工作负载从较大的块大小中大大获益。通常来说,IOPS和吞吐量与块大小成反比:即较小的块大小产量高 IOPS 与低吞吐量,而较大的块大小产生高吞吐量和低 IOPS。

存储空间通过条带化将数据保存到多个物理硬盘。在创建存储空间(虚拟磁盘)时可以调整的参数之一是决定这个条带应该有多大。默认设置是 256 KB。这意味着存储空间将分别向存储空间(虚拟磁盘)中的每个列保存 256 KB 数据。例如,如果你有八个磁盘的存储池,并且想要写入 4 MB 的数据,每个磁盘将接收两个 256 KB 条带 (4 MB / 256 KB(条带)/ 8 列 = 每个列 2 x 256 KB 条带)。

为了最大化性能,确保所使用的存储空间(虚拟磁盘)的交错值至少与工作负载 I/O 一样大。如果 I/O 的大小超过了交错大小就会被分割成多个条带,即一个写入会变成多个写入,从而降低性能。

列和未完成的I/O

列数指定条带数据可以跨越多少物理硬盘,并且也会对性能产生影响,无论条带和块大小。存储空间默认会智能将列数缩放到8,但是你可以使用 Windows PowerShell 来调整这个参数。

下面的列子说明列的数量是如何影响性能的。假设你在有12个硬盘的存储池中创建一个简单(不可复原)的存储空间(虚拟磁盘),并且每个硬盘都有 150 MB/s 的顺序吞吐量。创建一列的简单空间,产生最大吞吐量是 150 MB/s (创建过程中会引发意外的概念 — 见下一节)。使用两列会增加到差不多300 MB/s,继续提高列数会线性增长(例如,4列时会接近 600 MB/s 吞吐量)。存储空间(虚拟磁盘)分配更多列,条带跨越的磁盘就越多并且性能更高。

如果您选择有很多列数的存储空间(虚拟磁盘)并且你打算在将来扩展存储空间(虚拟磁盘)的容量,你应添加至少添加存储空间(虚拟磁盘)的列数的磁盘(在简单或奇偶校验空间情况下),或列的副本数据的份数(在镜像空间情况下)。例如,当部署一个4列双路镜像空间是,你应该有8个硬盘的可用容量(4列×2个数据副本),并使用8个硬盘为一组的方式扩展存储池。

下表提供真实的不同列数的2个简单空间的性能数值的比较。两种情景中,存储池包含四个SSD,每个存储空间(虚拟磁盘)都会收到 1 MB I/O 的顺序读取,类似读大量的 1 MB 文件。

磁盘

总容量(TB)

吞吐量(MB/s)

平均等待时间(毫秒)

4

1.45

2

902.45

8

4

1.45

4

1622.50

4

数据显示了增加列数可以显著提高顺序工作负载的性能,但却牺牲了扩展容量时的灵活性(你应该添加一组与列数×数据副本数相同数量的磁盘)。随机工作负载不会显著提升性能,而是显示出更多的跨越不同列数的平均性能。

另一个因素是,空间的列数与未完成的I/O或从存储空间(虚拟磁盘)中读取或写入的数据有直接关系。较大的列数有利于产生使多个磁盘饱和的负载的应用程序,但会引入不必要的限制在扩展容量时需要少许严格的实施。

下面的示例描述了这种权衡:一个标准硬盘使用顺序方式饱和的写入大量1MB文件或块数据。要使由4个硬盘组成的简单空间饱和使用一样工作负载,就必须提供约32个这种未完成的I/O负载。如果较少的数据是未完成的,则没有充份利用全部磁盘。如果使用这个存储空间(虚拟磁盘)的应用程序绝不会在同一时间超过16个未完成的I/O ,那么创建存储空间(虚拟磁盘)并手动指定分配2个磁盘用于此工作负载,并保留剩下的2个硬盘用于容量扩展或给其他应用程序使用(使用手动分配存储空间(虚拟磁盘))这还有一个优点,就是管理员可以添加2个磁盘来扩展存储空间(虚拟磁盘)而不是4个。

要调整存储空间使用的列数,你必须使用 Windows PowerShell。 欲了解更多信息,请参见:http://go.microsoft.com/fwlink/p/?LinkId=260763

扩展性能注意事项

在最大化存储空间性能时,要考虑那些方面。为了最大化获取存储子系统的性能,重要的是确保物理硬盘是没有瓶颈的,还有连续工作的基础设施,如线缆,HBA,PCI槽,CPU,或 MPIO,如下所诉:

  • 线缆和SAS协议: SFF-8088 SAS 线缆设计是用于传输多大 2.4 GB/s 的数据,使用4条6Gbps SAS 通道实现(SAS Protocol 2.0)。在实际环境中,它们通常能达到的峰值速度在 2.2 GB/s 左右。因此,如果一个配置实用很多或非常快的硬盘,那么部署多个线缆是非常重要的,不仅仅是为了增加冗余,也是为了更高的吞吐量。例如:7200 RPM 硬盘的顺序工作负载可以达到每个硬盘 150 MB/s 。在一个填满了24个托盘的JBOD上启动并运行这个工作负载,则意味着会有 3.6 GB/s 的潜在吞吐量。要到达这一数字至少需要2条线缆。
  • **HBA卡:**主机总线适配器(HBA)是通过SAS线缆连通JBOD和计算机。大多数HBA卡都能处理 3+ GB/s 的数据,因此大于单个线缆带宽。与此同时,大多数HBA卡至少有2个端口,这意味着2个线缆的线理速度超过单个HBA卡的顺序工作负载的处理能力。对于高性能系统中通常最佳方法是让每个HBA卡使用一个线缆,如果使用MPIO则第二个接口用于路径冗余。
  • **CPU:**部署硬盘主机的CPU使用率很少关注。如果部署的是SSD,则服务器节点的CPU可能成为瓶颈。在部署了24个高性能SSD的系统中随机读取能超过100万IOPS,代价是消耗了大量CPU资源。这下面两种配置可以消除CPU瓶颈:
    • 使用更强大的CPU或更多核心数的服务器。
    • 使用多节点集群
  • MPIO: 多路径 I/O (MPIO)是 Windows Server 2012 的功能,允许多个线缆(路径)连接到同一组 SAS 磁盘 上,来提供路径的冗余和负载平衡。使用MPIO,能够提供在线缆,HBA卡或JBOD SAS模块故障情况下的冗余。 同时,负载平衡可通过利用多个SAS线缆的能力来优化性能。
  • 电源保护模式: 存储空间允许管理员启用"电源保护的模式",它假定磁盘缓存有电池或其他可恢复电源故障的东西。这种模式可以提高随机工作负载的性能,因为刷新到磁盘上的元数据被禁用,并且磁盘会控制它自身缓存的刷新。请注意,在没有电池支持的高速缓存或电源故障复原装置情况下启用电源保护模式会使你的数据有丢失或损坏的风险。

最佳实践

在所有系统,每种部署都有几个重要注意事项。这里是存储空间的最佳实践的简短列表。

  • 设置你的交错大小至少与从存储空间(虚拟磁盘)中读取和写入数据的常见I/O大小相同。如果你不确定,请使用默认交错大小 256 KB。
  • 除非你的工作负载有非常具体的需求并且不太可能会增长,则你可以使用空间创建时默认选择的列数。
  • 当在同一个存储池中多种硬盘类型时,可以通过手动方式选择磁盘来创建虚拟磁盘(-PhysicalDisksToUse 参数),或将不同类型的磁盘放到独立的存储池中。或者,使用存储分层(Windows Server 2012 R2)。
  • 不要使用简单空间,除非应用程序提供复原能力或不需要的。
  • 不要将奇偶校验空间用于主要工作负载是随机的情况。奇偶校验空间为高顺序、追加方式的工作负载而优化,如归档。
  • 当为奇偶校验空间使用专用日志磁盘时,将其部署在SSD上。

部署示例

独立 SQL Server 配置

下面的例子描述如何在一个独立的Microsoft SQL Server实例中部署的存储空间。

服务器和存储连接

要构建一个可迅速恢复的系统最要的是服务器到存储之间的路径存在冗余。下图描述了独立服务器如何连接两个JBOD的方式,该系统是能抵御路径、HBA、硬盘、 I/O模块的故障的。如果需要复原 JBOD 故障,则至少需要部署3台JBOD,并且在创建空间时,使用Powershell并指定“IsEnclosureAware”开关。

存储空间设置

一个使用SQL数据库活动的典型工作负载是属于随机类型,并且使用相对较小的块大小(8KB – 32KB)。根据使用哪种类型的数据库应用程序,读/写比例会有很大的不同。由于这些特点,最明智的方法是利用高速硬盘(10000 PRM 或更快)并且让存储空间(虚拟磁盘)的条带大小相对较小,用来容纳数据库的读写块。下图说明了箱体意识功能如何工作的逻辑视图。两份相同的副本数据绝不会放在同一个 JBOD 中。

全部的48个磁盘都可以聚集到一个存储池中。活动的数据库表和索引被存储到双路镜像空间中,并手动分配12个10000 RPM 硬盘和以下参数:

数据库表 - 存储配置(双路镜像空间)

列数

6

数据副本数

2

复原设置

镜像

设置类型

固定

交错

64KB

使用的物理硬盘

每个JBOD上的 6 个 10,000 RPM 硬盘

这将获得更快的访问数据时间和总容量有 7.2 TB的数据库表。

日志在SQL部署中是很重要的,并且要求相对较低(快)的读/写延时来确保数据的平稳运行。SQL日志被放置在存储池的镜像空间中,空间由每个JBOD上的 15000 RPM硬盘组成.参数和之前的基本相同:

数据库日志 - 存储配置(镜像空间)

列数

4

数据副本数

2

复原设置

镜像

设置类型

固定

交错

64KB

使用的物理硬盘

每个JBOD上的 4 个 15,000 RPM 硬盘

最后,我们需要数据库备份的空间。 这里的备份磁盘通常不需要很高的访问速度。备份通常是较大快和每日连续的操作。 然而,容量是很重要的。1 TB的 7200 RPM 硬盘是一个很好容量选择,可以使用以下参赛配置:

数据库备份 - 存储配置(镜像空间)

列数

8

数据副本数

2

复原设置

镜像

设置类型

固定

交错

256 KB

使用的物理硬盘

每个JBOD上的 8 个 7200 RPM 硬盘

该配置方案产生约 7.2 TB 总数据库容量,约 584 GB 日志容量,和约 8 TB 备份容量,同时还高度关注组件故障的复原能力。每个存储空间(虚拟磁盘)可以忍受单个磁盘故障,还有适配器,线缆或JBOD的故障也是。如果不需要这种程度复原能力,则可以改变配置来提供更多的性能或容量。

高性能集群部分

这个集群部署环境设计用于提供高性能和低价格。超过140万的随机读取 IOPS 和 10.9GB/s 的顺序吞吐量已经通过下面硬件的存储空间证实了。

下面的链接是 TechEd 大会上演讲介深度绍存储空间的录像。 性能演示可以在演讲"Windows Server 2012 存储解决方案:为所有人的存储能力” 的 23:51处: http://video.ch9.ms/teched/2012/na/WSV327.wmv

服务器和存储连接:

结论

正如本文所示,存储空间有能力实现百万IOPS,同时使用不同的存储解决方案配置来满足多种工作负载类型。此外,当放弃一些灵活性搜和,顺序性能几乎增加了一倍的例子。 存储空间有参数可以用来为所需的工作负载进行微调,从而到达为各种程序优化性能,所以允许对特定业务需求自定义。使用硬件商品使得存储空间部署灵活,易于扩展和经济高效。

微软自发布了一个Word文档,概述了用于实现前文 1百万 IOPS 的各种组件和设置。这是非常值得一读的,特别是它涉及到 Iometer 设置。

术语表

以下是本文中使用的术语列表:

术语

定义:

列(Columns)与存储空间(虚拟磁盘)数据条带(stripe)写入到哪些底层物理硬盘有关联。通常,列数等于存储空间的物理磁盘(对于简单空间)或磁盘数一半(对于镜像空间)。列数可以比物理磁盘的数量少,但绝不会比它高。

交错

交错(Interleave)表示写入到每个条带(stripe)的单个列的数据大小。

块大小

大小是用来衡量以KB或MB的读取或写入请求的大小。这是工作负载的最重要参数之一。

未完成的I/O

也被称为"队列深度",未完成 I/O用来衡量磁盘、 空间或其他设备的读取或写入请求排队的数量。