Menu Close

3.2. 考虑存储密度

集群设计的另一个重要方面包括存储密度。通常,集群应该在至少 10 个节点之间存储数据,以确保在复制、回填和恢复时具有合理的性能。如果节点失败,集群中至少有 10 个节点,则只有 10% 的数据必须移到存活的节点。如果节点数量大大减少,则必须将更高的数据百分比移到存活的节点。另外,需要设置 full_rationear_full_ratio 以适应节点故障,以确保集群可以写入数据。因此,务必要考虑存储密度。更高的存储密度不一定是一个不错的想法。

与更高的存储密度相比,另一个因素是纠删代码。当使用纠删代码编写对象并将 node 用作最小 CRUSH 故障域时,集群将需要尽可能多的节点作为数据和编码区块。例如:使用 k=8, m=3 的集群应该至少有 11 个节点,以便每个数据或编码块存储在单独的节点上。

热插拔也是重要的考虑因素。大多数现代服务器都支持驱动器热插拔。但是,一些硬件配置需要删除多个驱动器来替换驱动器。红帽建议避免此类配置,因为它们可在交换失败的磁盘时导致超过所需数量的 OSD。