最近更新时间:2021-03-12 19:01:06
云硬盘的存储系统采用三副本机制来保证数据的可靠性,即针对某份数据,默认将数据分为同等大小的数据块,每一个数据块被复制为3个副本,然后按照一定的分布式存储算法将这些副本保存在集群中的不同节点上。
云硬盘三副本技术的主要特点如下:
存储系统自动确保3个数据副本分布在不同服务器的不同物理磁盘上,单个硬件设备的故障不会影响业务。
存储系统确保3个数据副本之间的数据强一致性。
例如,对于服务器A的物理磁盘A上的数据块P2’,系统将它的数据备份为服务器B的物理磁盘B上的P2’‘和服务器C的物理磁盘C上的P2,P2、P2’和P2’‘共同构成了同一个数据块的三个副本。若P2所在的物理磁盘发生故障,则P2’和P2’'可以继续提供存储服务,确保业务不受影响。如下图数据块存储示意图所示。
数据一致性表示当应用成功写入一份数据到存储系统时,存储系统中的3个数据副本必须保持一致。当应用无论通过哪个副本再次读取这些数据时,该副本上的数据和之前写入的数据都是一致的。
云硬盘三副本技术主要通过以下机制确保数据一致性:
写入数据时,同时在3个副本执行写入操作
当应用写入数据时,存储系统会同步对3个副本执行写入数据的操作,并且只有当多个副本的数据都写入完成时,才会向应用返回数据写入成功的响应。
读取数据失败时,自动修复损坏的副本
当应用读数据失败时,存储系统会判断错误类型。如果是物理磁盘扇区读取错误,则存储系统会自动从其他节点保存的副本中读取数据,然后在物理磁盘扇区错误的节点上重新写入数据,从而保证数据副本总数不减少以及副本数据一致性。
存储系统的每个物理磁盘上都保存了多个数据块,这些数据块的副本按照一定的策略分散存储在集群中的不同节点上。当存储系统检测到硬件(服务器或者物理磁盘)发生故障时,会自动启动数据修复。由于数据块的副本分散存储在不同的节点上,数据修复时,将会在不同的节点上同时启动数据重建,每个节点上只需重建一小部分数据,多个节点并行工作,有效避免了单个节点重建大量数据所产生的性能瓶颈,将对上层业务的影响做到最小化。
数据保护原理如下图所示,例如当集群中的服务器F硬件发生故障时,物理磁盘上的数据块会在其他节点的磁盘上并行重建恢复。
纯净模式