本文由Takaki Nakamura(东北大学网络科学中心)和Hitoshi Kamei(香川大学工程与设计学院)共同撰写,发表于2023年的IEEE Asia-Pacific Conference on Computer Science and Data Engineering (CSDE)。该研究聚焦于擦除编码(Erasure Coding, EC)中的数据持久性评估,提出了一种基于峰值偏移方法(Peak Shift Method)的驱动器故障风险分布策略,旨在降低数据丢失的概率。
随着机器学习等数据分析技术的进步,大规模数据分析的需求日益增长。为了支持这些分析任务,构建一个稳健且可扩展的数据基础设施至关重要。现有的数据保护技术主要包括冗余存储方法,如复制(Replication)和擦除编码(Erasure Coding, EC)。复制通过在数据保护组内的另一驱动器上创建原始数据的副本实现冗余,而擦除编码则通过生成奇偶校验数据并将其存储在组内的另一驱动器上来实现冗余。然而,传统的数据保护方法通常使用同一型号且同时部署的驱动器组成数据保护组,这可能导致驱动器故障风险集中在同一时间段,从而增加数据丢失的风险。
驱动器故障率随时间变化,通常表现为早期故障(Early-life Failures)、恒定故障(Constant Failures)和磨损故障(Wear-out Failures)。传统方法中,若驱动器的故障特性由早期故障或磨损故障主导,多个驱动器在同一时间段内同时发生故障的概率将显著增加,进而增加数据丢失的风险。因此,本文提出了一种新的方法,通过将不同操作时间或不同型号的驱动器组合成数据保护组,分散驱动器故障风险的峰值,从而降低数据丢失的概率。
本文的研究流程主要包括以下几个步骤:
驱动器故障风险建模: 研究基于威布尔分布(Weibull Distribution)对驱动器故障率进行建模。威布尔分布的概率密度函数用于描述驱动器在不同操作时间内的故障概率。通过对多个驱动器型号的故障数据进行拟合,研究得出了不同驱动器的故障率曲线。
峰值偏移方法的提出: 峰值偏移方法的核心思想是通过将不同操作时间或不同型号的驱动器组合成数据保护组,使得驱动器故障风险的峰值不会集中在同一时间段。具体来说,研究提出了三种驱动器配置模式:
数据丢失概率评估模型: 研究开发了一个评估模型,用于计算在不同驱动器配置下的数据丢失概率。该模型考虑了每个驱动器的故障概率随时间变化的情况,并通过将评估周期划分为多个短周期来近似计算长期数据丢失概率。
实验与评估: 研究在简化条件下对提出的方法进行了评估。评估结果显示,通过使用已运行约700天的驱动器,数据丢失概率可以降低一个数量级;若使用已运行约1500天的驱动器,数据丢失概率甚至可以降低两个数量级。
研究的主要结果包括: - 模式1:当数据保护组由两个新驱动器和一个已运行一段时间的驱动器组成时,数据丢失概率可以降低1/2到1/3。 - 模式2:当数据保护组由一个新驱动器和两个已运行相同时间的驱动器组成时,数据丢失概率进一步降低,尤其是对于早期故障主导的驱动器。 - 模式3:当数据保护组由一个新驱动器和两个已运行不同时间的驱动器组成时,数据丢失概率的降低效果更为平滑,尤其是在磨损故障主导的驱动器中。
研究还指出,峰值偏移方法在驱动器故障率具有多个峰值的情况下仍然有效,只要确保数据保护组中的驱动器故障峰值不会集中在同一时间段。
本文提出的峰值偏移方法为大规模数据存储系统中的数据保护提供了新的思路。通过分散驱动器故障风险的峰值,该方法显著降低了数据丢失的概率,尤其是在使用已运行一段时间的驱动器时效果更为显著。该方法不仅具有理论上的创新性,还具有广泛的应用价值,特别是在需要高可靠性和高持久性的大规模数据存储系统中。
未来的研究可以进一步考虑控制器故障和重建过程中的数据读取失败等因素,并探索更复杂配置下的最优组合方案。此外,研究还可以扩展到更多类型的存储系统和更广泛的故障场景。