您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 系统/运维 > 正文

聊一聊SDS如何抗各种故障

发表于:2018-11-30 作者:UMCloud 来源:UMCloud优云数智
  1 软件定义“抗造”

我们知道软件定义存储SDS有很多优势,比如:

  1. 软硬件分离,无硬件厂商锁定。
  2. 高扩展性,在线按需扩容,无需中断业务。
  3. 标准控制API接口,秒级操作,无缝对接其他系统。
  4. 标准数据访问接口,支持块、文件、对象存储等。
  5. 性能和容量可配置,满足当前和未来场景的需求。

除此之外,SDS还可以灵活定义可靠性、可用性,因此SDS特别抗造。

我们先了解可靠性和可用性的含义,再对故障进行分类,最后对比各种抗造技术,方便大家在做SDS选型和架构设计时进行“软件定义”。

2可靠性与可用性

可靠性(durability):表示数据是否丢失。比如硬盘发生介质故障,导致硬盘里面的数据丢失。

可用性(availability):表示数据是否可以访问。比如因为服务器掉电原因,导致暂时不能访问服务器硬盘中的数据。

3故障分类

总体分类为:硬件、软件、天灾、人祸。具体分类如下表所示。

其中硬盘发生故障非常频繁,下面云备份服务商blackblaze的硬盘年平均故障率统计,一共统计了82516块硬盘在2013年~2017年间的故障率。

在实际经验中,我们也会经常碰到服务器、机柜、交换机、站点的故障。那么多故障,我们需要不同的技术来应对,下面我们来看不同技术的优缺点。

4抗造技术

4.1 单机RAID

一般服务器上都会自带RAID卡,支持RAID1、10、5、6等。RAID技术通过数据冗余保证在1~N块硬盘故障时,数据不丢失,并且同时可以访问到数据。

比如RAID5支持同时坏1块硬盘,RAID6支持同时坏2块硬盘。

但是RAID的缺点是:

●仅支持单机。假如服务器宕机,RAID技术也无力回天。

●数据恢复速度慢,受限于单个硬盘的写速度,导致RAID组要恢复健康状态需要10个小时以上,特别在越来越大的硬盘容量的情况下。在数据恢复过程中,容易发生二次故障,导致数据丢失。

● RAID组所包含的硬盘数量太少,不能并行发挥所有硬盘的性能。

●需要单独的Spare热备盘,平时会造成资源浪费。

4.2 多机网络多副本

因为单机RAID的缺点,随着万兆以太网的普及,多机网络多副本技术随之产生,广泛被各种分布式存储软件使用。

多机网络多副本的优点是恢复速度快,并行发挥所有硬盘的性能,另外当单台服务器宕机了,不影响数据的可用性和可靠性,其他服务器继续提供服务。缺点是存储容量利用率低,可用容量和裸容量比例是1:3。

4.3 多机网络EC纠删码

为了解决多副本的存储容量利用率低的问题,大家开发了网络EC纠删码,也被广泛应用在分布式存储上,比如HDFS的EC纠删码。

它优点是可用容量和裸容量比例是1:1.3~1.5,大文件写吞吐量高,缺点是写操作延迟高。

4.4 机架柜列故障域隔离

SDS还可以定义数据分布策略,这样可以防止机架柜列掉电造成的影响。

 

 

假如多副本分布在不同的机架上,则任一机架掉电,不影响数据可靠性和可用性。

假如多副本分布在不同的柜列上,则任一柜列掉电,不影响数据可靠性和可用性。

4.5 网络冗余

SDS通过网口链路聚合和交换机堆叠技术,提供网络冗余度,避免单个网口和交换机的故障造成数据不可访问的影响,提高数据可用性。

4.6 多站点多副本

为了满足存储系统两地三中心、多站点多活的需求,目前部分SDS产品的对象存储服务支持多站点多副本技术,数据三个副本同时存储在三个站点上,可以多站点同时访问,支持多活技术。当任意一个站点发生故障时,不影响其他站点的数据访问和写入。

4.7 多站点EC纠删码

多站点EC纠删码技术可以提高存储容量利用率,支持在1个站点故障的情况下,数据能够正常访问和读写,适用于冷数据和归档场景。

4.8 Cloud Sync(云备份)

不是所有场景都有条件建设多站点,因此SDS的Cloud Sync(云备份)功能应运而生,可以把数据异步复制到公有云和异地私有云上,避免额外建设,降低成本。当本地存储集群发生故障时,数据可以快速恢复和访问。


具体应用场景如下所示:

4.9 智能故障自愈

SDS可以采用先进的数据分布算法,在出现硬盘故障和服务器故障时可以进行数据迁移和重平衡,故障硬盘会被踢出存储集群,不再工作。数据迁移完成后,SDS存储集群恢复正常,无须人工干预。因当出现硬盘故障时,可以不用处理,后期再批量更换硬盘,减少运维成本。

4.10 对象存储超时删除

对于特定场景,数据保存一定周期之后需要删除,以便释放空间,SDS的对象存储服务具有超时删除功能。下图是10天后删除数据的设置。

4.11 监控告警平台

通过监控告警平台,可以把不同级别的告警信息通过邮件和短信发送给管理员,让管理员快速知晓存储集群的健康状态,并采取适当的行动。

5 技术对比

下表对比了不同技术的抗造指标,我们要根据实际场景进行选择和组合,权衡数据可靠性和成本。