当每个服务器具有相同的驱动器时,Azure 本地群集和 Windows Server 群集效果最佳。
实际上,我们认识到这并不总是可行的。 今天,你可以购买大容量的3 TB硬盘。明年,可能无法找到这样小容量的硬盘了。 因此,预计会存在一定数量的混合搭配,而且我们也支持它。 但是,请记住,更多的对称性总是更好。
存储空间直通是 Azure 本地和 Windows Server 背后的基础存储虚拟化技术。 本文介绍约束,并提供存储空间直通中受支持和不支持的配置的示例。
Constraints
本部分介绍驱动器类型、模型、大小和驱动器数方面的约束。
类型
所有服务器应具有相同 类型的驱动器。
例如,如果一台服务器具有 NVMe ,则它们 都应具有 NVMe。
Number
所有服务器应具有相同类型的驱动器数。
例如,如果一台服务器有六个 SSD,则 它们应该都具有 六个 SSD。
Note
在发生故障或添加或删除驱动器时,驱动器数暂时不同是可以的。
Model
建议尽可能使用同一模型和固件版本的驱动器。 如果无法,请仔细选择尽可能相似的驱动器。 我们不建议将同一类型且性能或耐久特性差异明显的驱动器混合使用(除非一个是缓存驱动器,另一个是容量驱动器),因为存储空间直连均匀分配 IO,并且不会基于型号进行区分。
Note
可以混合和匹配类似的 SATA 和 SAS 驱动器。
Size
建议尽可能使用相同大小的驱动器。 使用不同大小的容量驱动器可能会导致某些不可用的容量,并且使用不同大小的缓存驱动器可能无法提高缓存性能。 有关详细信息,请参阅下一部分。
Warning
服务器之间的容量驱动器大小不同可能会导致容量滞留。
了解:容量不平衡
Storage Spaces Direct 足够稳健,可以处理驱动器和服务器之间的容量不平衡。 即使不平衡非常严重,一切仍然照常运作。 然而,由于多个因素,每个服务器中未提供的容量可能无法使用。
若要查看发生这种情况的原因,请考虑以下简化的插图。 每个彩色框表示镜像数据的一个副本。 例如,标记为 A、A'和 A' 的框是同一数据的三个副本。 若要遵循服务器容错,这些副本 必须 存储在不同的服务器中。
搁浅容量
绘制时,服务器 1(10 TB)和服务器 2(10 TB)已满。 服务器 3 具有更大的驱动器,因此其总容量更大(15 TB)。 但是,若要在服务器 3 上存储更多三向镜像数据,也需要在服务器 1 和服务器 2 上复制,而这两个服务器已经满了。 服务器 3 上的剩余 5 TB 容量无法使用 - 它 被搁置 的容量。
最佳放置
相反,四台服务器分别拥有10 TB、10 TB、10 TB和15 TB容量,并具备三重镜像恢复能力,因此可以通过有效的方式放置副本,以充分利用所有可用容量,如图所示。 只要有可能,Storage Spaces Direct 分配器将寻找并使用最佳放置方式,不留任何剩余容量。
服务器数量、复原能力、容量不平衡的严重性以及其他因素都会影响是否存在滞留容量。 最谨慎的一般规则是假设每个服务器中只能有可用的容量。
了解:缓存不平衡问题
Storage Spaces Direct还可以承受跨驱动器和跨服务器的缓存负载不均衡。 即使不平衡非常严重,一切仍然照常运作。 此外,它始终使用所有可用缓存来充分利用。
使用不同大小的缓存驱动器可能无法统一或可预测的提高缓存性能:只有 IO 来驱动具有较大缓存驱动器 的绑定 ,性能可能会有所提高。 存储空间直通均匀分配 IO 到所有绑定,而不根据缓存与容量的比率进行区分。
Tip
请参阅 了解存储池缓存,了解有关缓存绑定的详细信息。
示例配置
下面是一些受支持和不支持的配置:
支持:服务器之间的型号不同
前两个服务器使用 NVMe 模型“X”,但第三台服务器使用 NVMe 模型“Z”,这非常相似。
| 服务器 1 | 服务器 2 | 服务器 3 |
|---|---|---|
| 2 x NVMe 型号 X (缓存) | 2 x NVMe 型号 X (缓存) | 2 x NVMe 型号 Z (缓存) |
| 10 x SSD 型号 Y (容量) | 10 x SSD 型号 Y (容量) | 10 x SSD 型号 Y (容量) |
这是受支持的。
支持:服务器内的型号不同
每个服务器都使用 HDD 模型“Y”和“Z”的一些不同组合,这些模型非常相似。 每个服务器总共有 10 个 HDD。
| 服务器 1 | 服务器 2 | 服务器 3 |
|---|---|---|
| 2 x SSD 型号 X (缓存) | 2 x SSD 型号 X (缓存) | 2 x SSD 型号 X (缓存) |
| 7 x 硬盘 型号 Y (容量) | 5 块 HDD 型号 Y (容量) | 1 x 硬盘 型号 Y (容量) |
| 3 x HDD 型号 Z(容量) | 5 x 硬盘型号 Z (容量) | 9 x HDD 型号 Z (容量) |
这是受支持的。
支持:服务器之间的大小不同
前两个服务器使用 4 TB HDD,但第三台服务器使用类似的 6 TB HDD。
| 服务器 1 | 服务器 2 | 服务器 3 |
|---|---|---|
| 2 x 800 GB NVMe (缓存) | 2 x 800 GB NVMe (缓存) | 2 x 800 GB NVMe (缓存) |
| 4 x 4 TB HDD (容量) | 4 x 4 TB HDD (容量) | 4 x 6 TB HDD (容量) |
尽管这会导致容量闲置,但还是支持此项。
支持:服务器内的大小不同
每个服务器使用 1.2 TB 和类似的 1.6 TB SSD 的不同组合。 每个服务器总共有 4 个 SSD。
| 服务器 1 | 服务器 2 | 服务器 3 |
|---|---|---|
| 3 x 1.2 TB SSD (缓存) | 2 x 1.2 TB SSD (缓存) | 4 x 1.2 TB SSD (缓存) |
| 1 x 1.6 TB SSD (缓存) | 2 x 1.6 TB SSD (缓存) | - |
| 20 x 4 TB HDD (容量) | 20 x 4 TB HDD (容量) | 20 x 4 TB HDD (容量) |
这是受支持的。
不支持:服务器之间的驱动器类型不同
服务器 1 具有 NVMe,但其他服务器没有。
| 服务器 1 | 服务器 2 | 服务器 3 |
|---|---|---|
| 6 x NVMe (缓存) | - | - |
| - | 6 x SSD (缓存) | 6 x SSD (缓存) |
| 18 x HDD (容量) | 18 x HDD (容量) | 18 x HDD (容量) |
不支持此操作。 每个服务器中的驱动器类型应相同。
不支持:服务器之间每种类型的数量不同
服务器 3 的驱动器数比其他驱动器多。
| 服务器 1 | 服务器 2 | 服务器 3 |
|---|---|---|
| 2 x NVMe (缓存) | 2 x NVMe (缓存) | 4 x NVMe (缓存) |
| 10 x HDD (容量) | 10 x HDD (容量) | 20 x HDD (容量) |
不支持此操作。 每个类型的驱动器数应在每台服务器中相同。
不支持:仅使用 HDD 驱动器
所有服务器仅连接 HDD 驱动器。
| 服务器 1 | 服务器 2 | 服务器 3 |
|---|---|---|
| 18 x HDD (容量) | 18 x HDD (容量) | 18 x HDD (容量) |
不支持此操作。 需要至少添加两个附加到每个服务器的缓存驱动器(NvME 或 SSD)。
Summary
若要回顾,群集中的每个服务器应具有相同类型的驱动器和每种类型的相同数量。 支持根据需要混搭驱动器型号和驱动器大小,但需注意上述注意事项。
| Constraint | State |
|---|---|
| 每台服务器中相同类型的驱动器 | Required |
| 每台服务器中每种类型的数目相同 | Required |
| 每个服务器中的同一驱动器模型 | Recommended |
| 每个服务器中的驱动器大小相同 | Recommended |
后续步骤
有关相关信息,另请参阅: