本文提供有关如何选择驱动器以满足性能和容量要求的指南。
驱动器类型
存储空间直通,Azure 本地和 Windows Server 背后的基础存储虚拟化技术目前适用于四种类型的驱动器:
| 驱动器类型 | Description |
|---|---|
|
PMem 是指永久性内存,这是一种低延迟、高性能存储的新类型。 |
|
NVMe (非易失性内存 Express)是指直接位于 PCIe 总线上的固态硬盘。 常见外形规格为 2.5 英寸 U.2、PCIe Add-In-Card(AIC)和 M.2。 NVMe 提供更高的 IOPS 和 IO 吞吐量,延迟低于我们今天支持的任何其他类型的驱动器,PMem 除外。 |
|
SSD 是指通过传统 SATA 或 SAS 连接的固态硬盘。 |
|
HDD 是指提供大量存储容量的旋转磁硬盘。 |
Note
本文介绍如何使用 NVMe、SSD 和 HDD 选择驱动器配置。 有关 PMem 的详细信息,请参阅 了解和部署永久性内存。
Note
单个服务器配置不支持存储总线层 (SBL) 缓存。 所有平面单一存储类型配置(例如所有 NVMe 或全 SSD)是单一服务器唯一支持的存储类型。
内置缓存
存储空间直通具有内置的服务器端缓存。 它是一个大型的、持久的实时读取和写入缓存。 在具有多种类型的驱动器的部署中,它会自动配置为使用“最快”类型的所有驱动器。 剩余的驱动器用于增加存储容量。
选项 1 - 最大化性能
若要实现对任何数据的随机读取和写入时的可预测且统一的亚毫秒延迟,或实现非常高的 IOPS(我们已 完成超过 1300 万!)或 IO 吞吐量(我们已完成超过 500 GB/秒的读取),应采用“全闪存”解决方案。
有多种方法可以做到这一点。
所有 NVMe。 使用所有 NVMe 可提供不匹配的性能,包括最可预测的低延迟。 如果所有驱动器都是相同的模型,则没有缓存。 还可以混合高耐力和低耐力 NVMe 模型,并将前者配置为缓存后者的写入(需要设置)。
NVMe + SSD。 将 NVMe 与 SSD 一起使用,NVMe 会自动缓存写入 SSD。 这使得写入操作可以在缓存中进行合并,并仅在需要时才下刷到永久存储,从而减少对 SSD 的磨损。 这提供类似于 NVMe 的写入特征,同时直接从同样快速的 SSD 提供读取。
所有 SSD。 与 All-NVMe 一样,如果所有驱动器都是同一模型,则没有缓存。 如果混合了高耐力和低耐力模型,则可以将前者配置为缓存后者的写入(需要设置)。
Note
使用无缓存的全 NVMe 或全 SSD 的优点是,可从每个驱动器获取可用存储容量。 系统没有任何容量被“占用”于缓存,这一点在小规模部署下可能很有吸引力。
选项 2 – 均衡性能和容量
对于具备各种应用程序和工作负载的环境,其中一些有严格的性能要求,而另一些需要较大的存储容量,可以采用 NVMe 或 SSD 缓存较大容量 HDD 的方式混合使用。
NVMe + HDD。 NVMe 驱动器通过缓存加速读取和写入速度。 缓存读取允许 HDD 专注于写入。 写入缓存可吸收突发性写入,并允许写入操作进行合并。这些写入仅在需要时才以人为的序列化方式下刷,从而最大化 HDD 的 IOPS 和 IO 吞吐量。 这提供了类似于 NVMe 的写入特征,以及频繁或最近读取数据时,也提供类似于 NVMe 的读取特征。
SSD + HDD。 与上述类似,SSD 通过缓存两者加速读取和写入。 这为频繁或最近读取的数据提供类似于 SSD 的写入特征和类似 SSD 的读取特征。
还有一个相当异国情调的选项:使用 所有三 种类型的驱动器。
NVMe + SSD + HDD。 在所有三种类型的驱动器中,NVMe 驱动器用于为 SSD 和 HDD 提供缓存。 此选项的吸引力在于,可以在同一群集中的 SSD 和 HDD 上创建并列的卷,而这些卷全部可以通过 NVMe 来加速。 前者与在“全闪存”部署中完全相同,后者与上述“混合”部署完全相同。 从概念上讲,这类似于有两个池,具有基本上独立的容量管理、故障和修复周期等。
Important
建议使用 SSD 层将最敏感的工作负荷放置在全闪存上。
选项 3 – 最大化容量
对于需要大量容量且写入频率低的工作负载,例如存档、备份目标、数据仓库或“冷”存储,应将几个 SSD 组合用于缓存,并结合更多容量更大的 HDD 用于存储。
- SSD + HDD。 SSD 用于缓存读取和写入,以吸收突发性负载并提供类似 SSD 的写入性能,随后会通过优化的下刷操作将数据写入 HDD。
Important
不支持仅使用 HDD 进行配置。 不建议使用高持久性的 SSD 来为低持久性的 SSD 提供缓存。
大小调整注意事项
Cache
每个服务器必须至少有两个缓存驱动器(冗余所需的最低要求)。 建议将容量驱动器数指定为缓存驱动器数的倍数。 例如,如果有 4 个缓存驱动器,则 8 个容量驱动器(1:2 比率)的性能将比 7 或 9 更一致。
缓存应调整大小以适应应用程序和工作负荷的工作集,即它们在任何给定时间主动读取和写入的所有数据。 除此之外,没有缓存大小要求。 对于使用 HDD 的部署,一个公平的起始位置是容量的 10%, 例如,如果每台服务器有 4 x 4 TB HDD = 16 TB 的容量,则每个服务器的 2 x 800 GB SSD = 1.6 TB 的缓存。 对于全闪存部署(尤其是 使用高耐力 SSD)而言,开始容量接近 5% 可能是公平的, 例如,如果每台服务器具有 24 x 1.2 TB SSD = 28.8 TB 的容量,则每个服务器 2 x 750 GB NVMe = 1.5 TB 的缓存。 以后始终可以添加或删除缓存驱动器以进行调整。
General
建议将每台服务器的总存储容量限制为大约 400 TB(TB)。 每个服务器的存储容量越多,在停机或重新启动后重新同步数据所需的时间越长,例如应用软件更新时。 每个存储池的当前最大大小为 4 PB(PB)(4,000 TB)(适用于 Windows Server 2016 的 1 PB)。
后续步骤
有关详细信息,另请参阅: