动态池
- 动态池技术在 4.2 Dell Unity OE 代码中引入。
- 动态池也称为映射 RAID 和基于数据区的 RAID。
- 从 Unity OE 4.2 到 5.1,动态池仅在全闪存物理硬件上受支持。
- 在 OE 版本5.2 中,添加了对混合系统上的动态池的支持。
- 在运行 OE 4.2 版或更高版本的 Unity 全闪存型号中,在 Unisphere GUI 中创建的所有新池都是动态池,默认情况下,在 Unisphere CLI 和 REST API 中创建的新池是动态池。对于运行 5.2 或更高版本的混合系统,这是在 Unisphere 中创建池时的默认池类型。
- 动态池也称为扩展区池。
- 对于运行 OE 4.2 版及更高版本的全闪存系统以及运行 OE 5.2 及更高版本的混合闪存系统,动态池取代了以前的池技术(称为传统池)。
动态池相较于传统池的优势
- 由于不需要固定备件,因此不会浪费驱动器。
- 系统中的所有驱动器均可添加到池中。这延长了池中驱动器的使用寿命,因为负载分散在额外的驱动器上。
- 重建速度比传统池更快,因为动态池的备用容量分布在多个驱动器上,而不是集中在单个热备份驱动器上。当驱动器发生故障时,有更多驱动器参与重建过程。
- 通常可以根据所需容量扩展池。例如,您可以一次将一个驱动器添加到动态池,从而提高资源调配灵活性并节省成本。
最小驱动器数量
创建动态池时,必须为每个层选择最少数量的驱动器才能创建池。此数字直接取决于为每个层选择的 RAID 类型,如果不满足最小驱动器数量,则会发出警告。
下表显示了 RAID 类型、条带宽度和最小驱动器数量之间的关系。此表仅显示支持的最小条带宽度,以及创建它们所需的最小驱动器数量。
在 OE 5.1 之前,动态池中每 32 个相同类型的驱动器会保留 1 个驱动器的备用空间。
最小驱动器数量包括备用空间分配。
热备份容量设置是 Dell Unity OE 版本 5.1 版本中的新增功能。
热备份容量设置允许用户为池中的每 32 个驱动器保留 1 个驱动器(默认值)或 2 个驱动器的备用空间。此选项在创建池时或在使用新驱动器层扩展池时选择。
系统驱动器:
对于混合系统,动态池中不支持 SAS 和 NL-SAS 系统驱动器(DPE 驱动器 0、1、2 和 3)。系统驱动器仍可放置在传统池中。
动态池体系结构概述:
驱动器合作伙伴关系组 (DPG)
- 已合并到隐藏的 Dynamic Pool 对象中的一组相同驱动器类型。
- 动态池中的每个驱动器只能属于单个驱动器合作伙伴关系组。
- 驱动器永远不会更改驱动器合作伙伴关系组。
- 每个驱动器合作伙伴关系组只能包含一种驱动器类型,但可以在组中混合使用不同大小的特定驱动器类型。
- 驱动器合作伙伴关系组中包含的最大驱动器数为 64。
- 当驱动器合作伙伴关系组已满时,新组必须至少具有 RAID 宽度 + 1 个驱动器备用空间的驱动器数。
- 允许在 DPG 中使用不同大小的相同驱动器类型,但如果 DPG 包含 x 个 400 GB 驱动器且仅 1 个 800 GB 驱动器,则 800 GB 上的一半扩展区将不会被使用,直到存在足够多相同大小的驱动器并满足 RAID 宽度。
- 由于每个驱动器合作伙伴关系组只能包含单个驱动器类型,因此闪存、SAS 和 NL-SAS 驱动器将放入各自的驱动器合作伙伴关系组中。此外,可以将不同速度旋转的驱动器添加到同一个 Dynamic Pool,但出于性能原因,它们将被置于其自己的驱动器合作伙伴关系组中。例如,无论驱动器大小如何,驻留在同一个池中的 10K RPM 和 15K RPM 驱动器都将置于不同的驱动器合作伙伴关系组中,如下图所示。
驱动器盘区
- 驱动器盘区是驱动器的一部分。
- 每种驱动器类型的扩展区大小是固定的;SAS Flash 3 或 SAS Flash 4。
- 每个驱动器的扩展区数量取决于驱动器的类型和大小。
- 创建动态池时,池中的每个驱动器将被划分为驱动器数据区。
- 驱动器盘区可以是:
- RAID 盘区
- 备用空间盘区
备用空间扩展区
- 动态池不需要专用热备份。它使用每个池中保留的 备用空间 ,并且只能用于更换出现故障或出现故障的驱动器。
- 动态池中保留的备用空间扩展区数量直接取决于驱动器大小和池中的驱动器数量。
- 对于动态池中每 32 个相同类型的驱动器,将分配 1 或 2 个驱动器的空间作为备用空间,具体取决于前面所述的 OE 代码。
- 保留的备用空间量始终可确保池中 具有最大可用容量 的驱动器可以替换为池中剩余的备用空间扩展区。
- 重建完成后,必须补充驱动器合作伙伴关系组中的备用空间,因为现在该组中的备用空间不足。
- 如果系统中存在可用驱动器,并且其大小与故障驱动器相同或更大且驱动器类型相同,则动态池将使用该驱动器来替换缺失的备用空间扩展区。更换出现故障的驱动器后,它会在系统中保持空闲状态。
- 如果系统中不存在可用驱动器,则更换故障驱动器后,新驱动器将变为由动态池使用,备用空间扩展区的重新平衡将会发生。
RAID 盘区
- 在动态池中保留备用空间数据区后,将使用剩余的驱动器数据区创建 RAID 数据区。
- RAID 盘区是完成 RAID 类型条带宽度的驱动器盘区。例如,如果选择 RAID 5 作为 RAID 类型,并选择 4+1 作为池的条带宽度,则 RAID 盘区将包含 5 个驱动器盘区 (4+1)。
- RAID 扩展区为存储在 Dynamic Pool 中的用户数据提供 RAID 保护,稍后将用于向 Dynamic Pool 提供可用容量,以创建存储资源。
- 出于保护目的,单个 RAID 数据区不能包含来自单个驱动器的两个驱动器数据区。软件将确保没有 RAID 盘区包含来自同一驱动器的 2 个驱动器盘区(由驱动器盘区池控制)。
- RAID 盘区必须仅包含来自单个驱动器合作伙伴关系组的驱动器盘区。
示例
- 使用 6 个驱动器创建的动态池(假定已选择 RAID 5 (4+1)。
- 在此示例中,已保留多个盘区作为备用空间盘区,并显示前 3 个 RAID 盘区。
- 由于条带宽度为 4+1,此示例中的每个 RAID 数据区包含 5 个驱动器数据区。
- 这 5 个驱动器扩展区是从驱动器合作伙伴关系组中的驱动器中选择的,没有 2 个扩展区是从同一驱动器中选择的。
- 为便于说明,所选驱动器盘区在池内的各个驱动器上按顺序排列。
- 在实际系统中,Dynamic Pool 算法将从驱动器合作伙伴关系组中的不同驱动器中选择驱动器盘区(看似随机)。
条带宽度
- 在 Unisphere 中创建动态池时,用户将选择所需的 RAID 类型,但条带宽度将由系统自动选择。
- 系统选择的条带宽度直接取决于在创建池时选择的驱动器数量。
- 例如,在 Unisphere 中创建池期间选择 RAID 5 并且选择了 8 个驱动器时,系统会自动将条带宽度设置为 4+1。如果 RAID 5 的驱动器数量为 14 或更多,则将选择 12+1。
- 选择更大的条带宽度可为用户提供更多可用容量。如果要强制系统选择特定宽度,请在创建池时仅选择特定数量的驱动器,然后使用剩余驱动器扩展池或使用 Unisphere CLI 或 REST API。
- 在 Unisphere 中,RAID 6 是 NL-SAS 容量层的默认且唯一的选项。如果容量层需要 RAID 1/0 或 5,则可以使用 Unisphere CLI 或 REST API 创建池或使用 NL-SAS 驱动器扩展池。
- 创建池后,将为池层中的所有当前和未来驱动器合作伙伴关系组设置所选的 RAID 类型。为层设置 RAID 类型后,它将在池的整个生命周期内保留,并且以后无法更改。
专用 RAID 组
- 在 Dell Unity 系统上的池中,无论是传统池还是动态池中,都存在一个或多个专用 RAID 组,并在每个组上创建单个专用 LUN。
- 专用 RAID 组用于向专用 LUN 提供空间,后者以 256 MB 切片的形式向用户提供用于存储资源分配的空间。
- 在动态池中,将结合使用 RAID 数据区的组合创建专用 RAID 组。
专用 LUN
- 动态池专用 LUN 是在动态池 RAID 组上创建的
- 每个动态池 RAID 组一个专用 LUN
- 类似于专用 RAID 组中的传统专用 LUN
- 专用 LUN 划分为 256MB 切片
- 与动态池 RAID 组一样,池中的专用 LUN 大小可能会有所不同
传统池与动态池
的体系结构动态池中的系统主动拷贝
- 如果驱动器收到的错误超过 Dell Unity OE 的内部阈值,则系统可能会启动主动复制操作。
- 主动拷贝操作是将数据从变坏的驱动器拷贝到新位置的过程。复制操作完成后,软件应使驱动器故障。
- 如果未绑定驱动器(备用)可用,它将由动态池使用。否则,池将使用池中的备用空间数据区。
- 在此操作期间,系统确保每个 RAID 数据区的目标驱动器尚未包含来自同一 RAID 数据区的数据区。
驱动器故障/重建
- 如果驱动器在主动拷贝完成之前发生故障,则将针对未完成的拷贝数据区执行重建操作。通过在驱动器合作伙伴关系组中重建降级的 RAID 盘区来重建失败的驱动器。
- 重建 RAID 盘区期间,将使用 RAID 盘区内的剩余驱动器盘区将缺失的驱动器盘区重建为备用空间盘区。
- 完成后,备用空间数据区将成为 RAID 数据区的一部分,并且 RAID 数据区不再降级。由于需要重建的各种 RAID 盘区和备用空间盘区分布在驱动器合作伙伴关系组中的多个驱动器上,因此会使用许多驱动器来完成重建操作。
池扩展
扩展传统池时,我们受当前 RAID 宽度的约束,并且必须添加与该 RAID 组大小相同数量的驱动器。
在动态池中,根据当前配置,池的扩展可以最少到单个驱动器。
磨损/寿命结束
- 在 Dell Unity OE 版本 4.2 及更高版本中,在闪存驱动器预计达到 100% 损耗之前的 180、90 和 30 天发送系统警报消息。
- 60 天后,戴尔会通过 Call Home 收到通知,告知驱动器可能达到 100% 损耗,需要更换。这些警报是针对每个单独的驱动器生成的。
- 如果驱动器因磨损情况接近其使用寿命结束,系统可能会启动主动复制操作以更换磨损的驱动器。
- 此主动拷贝不会将驱动器中的驱动器盘区复制到池中的备用空间盘区,而是复制到系统中的可用驱动器(如果可用)。
- 主动拷贝操作完成后,驱动器出现故障,生成警报,启动 Call Home,并且应更换驱动器。
- 不会在驱动器合作伙伴关系组中主动复制到备用空间扩展区,因为这只会增加组中驱动器的磨损,而组中的驱动器可能具有与要更换的驱动器相同的磨损量。如果没有有效的备盘可用,则不会完成主动拷贝操作。
混合闪存系统
在 Dell Unity OE 5.2 及更高版本中,对混合系统的 系统设置 > 存储配置 > 驱动器 页面进行了更改。除了为全闪存系统显示的传统和 Dynamic Pool 信息外,混合系统还会显示 FAST Cache 列。FAST Cache 列显示 FAST Cache 中当前配置的驱动器数量。
其他有用的动态池知识库文章:
KB#000014378 Dell EMC Unity:初始驱动器配置的动态池最佳做法(用户可纠正)
KB#000019530 Dell EMC Unity:创建向导中的 Dynamic Pool 最小驱动器计数(用户可纠正)
KB#000055614 Dell EMC Unity:当动态池中的磁盘发生故障时,阵列性能可能会受到影响(Dell EMC 可纠正)
KB#000010748 Dell EMC Unity:相对于传统池的动态池增强功能/注意事项(用户可纠正)
KB#000010677 Dell EMC Unity:如何检查动态池的重新平衡(Dell EMC 可纠正)
KB#000031834 Dell EMC Unity:动态池用户扩展区的自动复制(用户可纠正)
KB#000019417 Dell EMC Unity:如何执行粗略计算以确定动态存储池中的可用空间。(用户可纠正)
KB#000052749 Dell EMC Unity:映射的 RAID 重建完成后,动态池显示降级状态(用户可纠正)
参考文档:
Dell Unity:动态池 (delltechnologies.com)