基于硬件故障分配数据的制作方法_3

文档序号:9553229阅读:来源:国知局
统执行图8中所示的过程800和其变化,包括可以利 用放置引擎来确定应在哪里存储数据片段的系统。在过程800中,数据存储系统可以检测 系统内的故障802。例如,如果在多存储装置单元内存在存储装置故障,那么可以将信号发 送到数据存储系统和计算机资源服务提供者员工通知他们故障。可以基于内建到多存储装 置单元内的存储装置中的自我监控分析和报告技术(SMART)检测故障。此外,如果在数据 存储系统中存在更严重故障(诸如数据存储机柜内的电源故障或通风故障、或数据中心设 施内的灾难性电源故障),那么可以发送信号。
[0046] 在确定检测到的故障的严重性和影响之后,数据存储系统或计算机资源服务提供 者员工可以将特定故障模式记录例如在含有数据存储系统中的所有先前故障的历史记录 的日志中。因此,这个日志可以用来更新数据存储系统的故障统计804。更新故障统计804 的一个目的为例如获得未来在数据存储系统内发生硬件故障的可能性。这可以用作一个 或多个功能。例如,如果服务器风扇产生可以减小特定存储装置的服务寿命或可以在所述 存储装置中造成间歇性故障的振动;那么这个信息可能对计算机资源服务提供者是有价值 的,使得提供者可以寻求限制这些特定存储装置的使用。此外,如果数据服务机柜内的电源 产生可以超过某些多存储装置单元组件(诸如线束或内部存储装置)的容限的热量从而导 致不同故障模式,那么计算机资源服务提供者可以寻求对所述特定多存储装置单元的访问 或限制存储在数据服务机柜中的数据的量。
[0047] 在通过更新故障统计804获得足够信息的情况下,计算机资源服务提供者员工或 数据存储系统可以通过一种或多种算法更新放置引擎806。更新放置引擎806可以包括修 改或实施可以用来确定如图1和图3中所示般将一个或多个数据片段放置在数据存储系统 内的新规则。例如,可以实施防止具有相同父数据对象的多个数据片段存储在例如相同存 储装置磁盘或存储装置中的新规则。此外,这个规则可以包括推论使得没有两个或两个以 上数据片段例如存储在相同数据存储机柜中,在相同数据中心机房中,在相同数据中心中 或在相同地理指定位置中。
[0048] 可以如上述般实施的规则可以不是静态的。例如,如果数据存储系统检测额外硬 件故障802,那么过程800可以迭代,其可以导致对故障统计的进一步更新804。因此,可以 在任何时间基于数据存储系统中的硬件故障的频率更新放置引擎806。
[0049] 图9为根据至少一个实施方案的用于存储数据对象的过程900的说明性实例。如 上述,数据对象可以使用冗余编码方案(诸如图3中所示的冗余编码方案)转换成众多数 据片段。就此而言,过程900可以接收902用来将父数据对象的数据片段放置到数据存储系 统中的请求。此时,放置引擎(诸如图3中所示的放置引擎)可以选择第一片段位置904。 选择第一片段位置904可以独立于数据存储系统内的任何已知硬件故障模式且可以独立 于具有相同父数据对象的其它数据片段的放置。然而,可以在放置引擎内实施将第一片段 存储在特定位置可能必需的规则。
[0050] -旦已选择第一数据片段位置904,那么过程900可以包括选择下一数据片段的 位置906。给定第一数据片段位置,放置引擎可以基于其中所包含的实施规则(诸如上述 规则)检查908下一数据片段位置。如果选定位置不满足在放置引擎中实施的规则,那么 数据存储系统可以为当前数据片段选择新数据存储位置910。例如,如果放置引擎已确定 第一数据片段将存储在多存储装置单元X中且在放置引擎内所实施的规则声明没有两个 或两个以上数据片段将存储在相同多存储装置单元中,那么放置引擎可以检查指派到任何 后续数据片段的位置,且如果其当前被指派来存储在多存储装置单元X中,那么可以重选 所述位置。如果数据片段位置满足在放置引擎中所阐述的规则,那么数据存储系统可以评 估912是否保持任何更多数据片段。如果更多数据片段需要位置,那么过程900可以包括 确定906所述数据片段的位置。以此方式,每个数据片段的位置可以满足在放置引擎中所 含的各种规则。
[0051] -旦每个数据片段已被指派满足在放置引擎中所阐述的所有规则的位置,那么过 程900可以将所有数据片段写入914到数据存储系统中。虽然出于说明的目的,遍及本公 开广泛地使用规则实施,但本公开的范围不一定限于本文中明确所述的过程。例如,除限制 后续数据片段的可能位置的规则外,放置引擎还可以包括可以被执行来基于过程900的先 前迭代选择存储到数据系统中的当前数据片段的先前位置集的一系列算法。先前集清单可 以包括已导致数据丢失或损失的风险降低的过去使用的位置。
[0052] 如上述,存储装置可能易于起因于例如振动及过热而被破坏。在存储装置利用旋 转磁介质的情况下,这些存储装置的正常操作可以导致可以不利地影响周围数据环境的振 动。因此,图10为根据至少一个实施方案的用于以可以降低由于不利周围条件的数据丢失 的风险的方式从数据存储装置检索数据对象的过程1000的说明性实例。
[0053] 相似于上文详述的过程900,过程1000可以包括从例如客户或计算资源服务提供 者接收1002用来执行可能需要访问各种存储装置的操作的请求。这些存储装置可以含有 与父数据对象相关联的数据片段。在接收1002请求之后,数据存储系统可以参考如上述的 数据库以确定1004存储在数据存储系统中的数据片段的位置。一旦已确定1004位置,那 么数据存储系统可以获得1006当前数据片段位置周围的环境的当前活动状态。例如,如果 当前数据片段定位在特定存储装置中,那么环境可以包括在空间上近接含有当前数据片段 的存储装置的任何存储装置(例如,共享振动传输介质或共同安装夹具)和在空间上近接 具有定标存储装置的多存储装置单元的任何多存储装置单元。此外,环境可以包括定标存 储装置周围的当前温度和水分含量以及空气中的气压或污染物。当前活动状态可以指代数 据存储系统内的任何组件的操作状态。例如,对于存储装置,当前活动状态可以指代存储装 置是否旋转(例如,读取/写入/删除对存储装置内的存储介质的访问)和速度是多少,或 存储装置是否处于闲置状态。如上述,利用在操作中的旋转磁介质的存储装置可以产生振 动和热量。因此,存储装置的当前活动状态可以对周围环境具有对应影响。
[0054] 周围环境的评估可以包括基于已知故障模式进行一个或多个分析。计算服务资源 提供者可以通过过程(诸如上述过程800)或通过已知制造容限知道这些故障模式的严重 性。例如,在递送任何硬件组件(例如,存储装置、多存储装置单元、数据存储机柜)之前, 制造商可以执行用来确定这些组件的容限和/或服务寿命的测试。这可以包括使用测试装 置(诸如嵌入有仪器的存储装置)来确定周围不利条件(例如,过多热量、振动、水分)。因 此,制造商可以基于周围环境获得详述破坏任何硬件组件的风险的信息。这个信息可以例 如在将硬件组件出售给计算资源服务提供者期间或在最初被制造商检测到时传输到计算 资源服务提供者。在这个实例中,制造商可以是组织实体,诸如公司或其它组织。
[0055] 如果周围环境增大数据丢失或损失的风险,那么计算资源服务提供者可以使用利 用过程800获得的统计或从制造商获得的信息(如上述)来创建将防止访问存储装置的条 件集。例如,计算资源服务提供者可以提供基于对将访问的存储装置的空间近接度的条件 集。例如,如果相邻于具有访问父数据对象所必需的数据片段的存储装置的一个或多个存 储装置当前处于活动状态(例如,存储装置对其介质执行一个或多个操作),那么数据存储 系统可以拒绝访问含有数据片段的存储装置直到相邻存储装置闲置为止。空间近接度还可 以不限于相邻存储装置。例如,如果在统计上起因于当前活动的存储装置(其不相邻于定 标存储装置,但与定标存储装置或具有定标存储装置的共同安装夹具共享振动传输介质) 的振动将导致对定标存储装置的更大可能破坏,那么数据存储系统还可以拒绝访问含有数 据片段的存储装置直到这些活动的存储装置处于闲置状态为止。因此,使用可以由计算资 源服务提供者实施的条件的过程1000可以包括确定1008是否可以访问含有当前数据片段 的存储装置。如果由于不利周围条件而不允许访问目前存储装置,那么数据存储系统可以 避开当前数据片段且确定1004下一数据片段的位置。除此之外,数据存储系统可以寻求确 定1010是否已定位所有必需数据片段和环境是否有利于数据片段检索。
[0056] 重要的是,应注意,可以按各种方式实施上述条件。例如,数据存储系统可以含有 在需要访问存储装置时执行的小脚本。脚本可以检查相邻于含有必需数据片段的存储装置 的存储装置,且生成含有所有相邻存储装置的状态的文件。转而可以由数据存储系统在与 过程1000 -致的情况下处理这个文件。
[0057] 如上文在图3中所述,利用冗余编码方案的冗余编码引擎可以用来将数据对象缩 减成较小数据片段。通过纠删编码,并未使用冗余编码引擎生成的所有数据片段必需复原 父数据对象。因此,过程1000可以包括评估1010数据存储系统是否具有用来复原父数据 对象的必需数据片段。每当数据存储系统已确定1008可以访问含有数据片段的存储装置 时,可以发生如上述的这个评估。如果数据存储系统可以访问已确定含有必需数据片段的 存储装置,那么数据存储系统可以允许访问所要存储装置。然而,如果更多数据片段必需再 生父数据对象,那么数据存储系统可以选择下一数据片段且确定1004在数据存储系统内 所述数据片段的位置。
[0058] -旦确定1010已识别再生父数据对象所必需的所有数据片段且数据存储系统已 确定1008允许访问含有必需数据片段的存储装置,那么数据存储系统可以访问1012数据 片段且重新编译父数据对象。
[0059] 正如本文中所述的所有过程,过程1000的变化被视为在本公开的范围内。例如, 如上述,过程1000可以包括如果由于存在不利条件而禁止访问存储装置1008,那么确定 1004数据片段位置。过程1000的变化的实例可以是数据存储系统可以在确定1004下一数 据片段位置之前继续等待直到允许访问存储装置为止的过程。过程1000的变化的另一实 例可以是相比于构建数据对象所必需的仅最小数量的片段数据存储系统选择获得所有数 据片段(或更大数量的数据片段)的过程,如上所述。
[0060] 对存储装置的访问可以不限于只有读取操作。因此,图11为根据至少一个实施方 案的用于以可以降低由于不利周围条件的数据丢失的风险的方式将数据对象片段放置到 数据存储装置中的过程1100的说明性实例。很像上述过程900,过程1100可以包括接收 1102用来将父数据对象的一个或多个数据片段放置到数据存储系统中的请求。
[0061] 相似于
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1