论坛问题精选:

相对于传统集中式存储架构,分布式存储在一些业务场景下的优势非常明显,但依然会有会存在一些疑惑:
不少分布式存储的体系架构中有集中控制节点,由于X86服务器的架构复杂度远超过集中存储的控制器,所以故障率必然会超过集中存储控制器。请问这种情况下,分布式存储架构稳定性与可靠性保障措施有哪些?如何评估?

答复:

在分布式存储系统中,所谓控制节点一般是指元数据管理节点,而并非对应集中存储中的控制器。分布式存储的存储控制器会部署在集群中的所有节点上,有着传统存储完全无法比拟的线性扩展性和性能。此外,分布式存储的控制器由软件而非实现,在升级、更新和问题修复方面也具有更高的灵活性。

分布式存储架构稳定性与可靠性保障措施有哪些?

分布式存储会将软硬件故障按照常态来对待(也就是说,默认硬件或软件一定会出故障),所以其架构和实现都会充分考虑各种异常情况下的应对措施,一般来说会采取如下几种策略:

1.数据块 checksum:每次读取数据时候检查单个数据块是否由于静默损坏而造成数据不一致,如果发生,则通过副本数据进行修复。
2.多副本:同一份数据会保存多份(通常设置为 2 副本或 3 副本),即使副本所在的节点宕机也不会造成数据丢失。
3.HA(高可用,需配合虚拟化平台):节点宕机时,该节点上的虚拟机自动迁移至集群内其它节点,降低业务中断时间。
4.快照(需配合虚拟化平台):为虚拟机打快照,在其发生故障时将数据恢复至快照状态。
5.机架感知:根据机房物理拓扑结构,将副本分配在不同的机架、机箱、主机上,有效减少甚至避免物理硬件(电源、交换机等)故障导致的数据丢失。理论上,3 副本结合机架感知配置,系统可最多容忍 2 个机架上的主机全部失效。(仅一线厂商有)
6.双活:同城双数据中心,灾难时无损快速恢复业务(RPO=0)。(仅一线厂商有)
7.异地容灾:异地主备数据中心,灾难时尽可能挽回数据损失。(仅一线厂商有)
8.和第三方备份容灾厂商形成的联合解决方案。(仅一线厂商有)

如何评估分布式存储性能?

如果确实有条件评估的话,可以做相关POC,重点围绕异常测试,和大压力的持久性测试,例如:
1.模拟主要部件异常,拔网线,拔磁盘,拔节点电源,以及是否恢复;
2.模拟长时间使用的边界情况,容量使用超过90%下的性能和稳定性;
3.模拟大的业务负载,长时间持续运行。