云存储系统中的单点故障是什么?
什么是数据存储系统中的
单点故障?
数据存储系统中的单点故障可以理解为系统的一个元素、组件或部分发生故障,其故障会导致整个系统瘫痪。通常有几种情况:
假设一个存储设备只有一个电源,这是单点故障。如果电源出现故障,整个设备将关闭并且数据将无法访问。
同样,如果只有一个存储头单元/存储控制器,它的故障将破坏整个数据存储系统。
如果数据存储系统没有 RAID 或擦除编码,那么也可能发生单点故障。
如果驱动器发生故障,则无法访问该特定驱动器中的数据,同样也会导致中断。
云存储系统中
为何存在单点故障?
听起来数据存储系统的单点故障通常发生于其硬件设备。然而,对于云存储/分布式存储来说,单点故障是否依旧存在?造成的影响又有多严重呢?
中心化的云存储服务商往往被曝出单机房故障隐患。这是因为云存储服务跟云主机服务一样都是集中于个别或部分机房,并且在使用云存储服务时还得选择使用其中一个数据中心。如果数据所在数据中心出现电力或者网络故障,就会影响正常服务。
那么如何解决中心化云服务商单点故障频发的问题呢?解决单点故障的方法就是“冗余”。关键服务器要冗余成集群,网络连接要冗余成多通道,存储要做镜像或者 RAID 冗余,整个数据中心都要通过容灾和双活实现冗余。
去中心化云存储
如何解决单点故障
去中心化云存储因其天然的分布式架构,很大程度上避免了中心化的单点故障问题。在目前的分布式存储系统中,以 Filecoin、Arweave、Storj 等为例,有闲置存储资源的用户都可以成为存储网络中的一员,通过出租存储空间以获得一定的激励。项目各具特色,但是面临单点故障问题上,除了分布式的天然优势,并未展示出更多的创新技术。比如采用点对点的存储订单服务是,防止单点故障需要网络主动与多个存储提供商达成交易来实现多副本。
CESS 作为一个安全、高效、开源、可扩展的去中心化云存储网络,其分布式的结构天然就避免了单点故障问题,而 CESS 无论是网络还是存储都是分布式的。与其他的去中心化存储项目相比,CESS 的不同之处在于引入了一种新的存储证明机制——多副本可恢复存储证明机制(PoDR²)。我们从两个方面来解析该存储证明在应对单点故障和灾备能力上的优势:
多副本
PoDR² 是一种零信任的数据备份和恢复证明算法。存储数据通过加密处理并切片后随机发送到若干个矿工节点,在 PoDR² 机制下,默认生成三个副本。当然系统也支持用户定制生产副本的数量。利用同态签名机制,确保存储矿工如实存储了 CESS 系统给定的或者用户指定的数据副本数量。当然,传统的中心化云存储也支持多次备份,但其备份数量最终依旧是中心化存储和控制,并不能通过多副本来大幅提高安全性。
可恢复
我们在前文提出“冗余”是解决单点故障的方法,其背后其实是复制和恢复。通过 CESS 的 PoDR² 机制,在对数据进行多副本处理后,利用冗余编码,实现当每份数据的任意 2 个块损坏后都能通过冗余编码恢复。紧接着 CESS 系统将为每个数据段生成辅助后期数据存储证明的验证参数,用于后期的复制证明、时空证明和 PoDR² 存储证明。在此机制中,CESS 链会将副本的数据段随机分给不同的存储矿工们,这样即使某个存储矿工遭遇数据被删除,遗失,黑客攻击,PoDR² 能从其他存储矿工上提取数据来提供检索和恢复,以最大程度保护用户数据存储安全。
值得一提的是,PoDR² 机制下 CESS 系统将周期性检查存储矿工上的数据(即检查和证明存储节点存储的数据是否有效、是否存在或修改),确保数据的真实性和可用性。
跳出单一的单点故障的问题,背后是体现出各个系统如何提前预判风险并进行机制规避、提供数据灾备解决方案的能力。从数据可用性的角度来看,CESS 的多副本可恢复存储证明机制最大程度确保了数据可用性。而从安全的角度来看,CESS 将数据切片、冗余,然后分散到存储矿工上,实现了全局数据冗余和可恢复。CESS 真正解决了去中心化云存储系统所面临的单点故障,为行业提供了基于数据持有性的多副本可恢复存储证明机制(PoDR²),并实现了远超同类项目的编码和解码的效率。用户既能安全地存储数据,又能灵活高效的存取数据。
欢迎加入 CESS!
https://www.cess.cloud
https://twitter.com/CESS_Storage
https://t.me/CESS_Storage_official
https://discord.gg/cess
https://medium.com/@CESS_LAB