三副本定义:
什么叫三副本?
针对云盘上某份数据,默认将数据分为2MB大小(管理员可以调整)的数据块,
每一个数据块被复制为3个副本(可调整),然后按照一定的分布式存储算法将这些副本保存在集群中的不同节点上。
如下图:将100M文件,按照2MB大小分成50份。例如A1=2MB,A2=2MB,A3=2MB......
每份文件被复制3份,分别存放在不同的宿主服务器1、服务器2、服务器3,这样即使其中服务器1出问题,另外两台服务器依然能正常找回数据。
三副本运转原理:
以ceph存储为例
1、ceph client收到写请求,切分文件数据块;
2、ceph client 发送给 ceph monitor 查询切分文件三副本存放的ceph node 信息;
3、ceph client 根据 ceph manger 返回的结果 向 ceph node 发送请求。
ceph client:访问ceph底层服务或组件,对外提供各种接口。对象存储接口,块存储接口,文件级存储接口
ceph monitor:监控整个集群的状态,维护集群的Cluster MAP二进制表,保证集群数据的一致性。
ClusterMAP描述了对象块存储的物理位置,以及一个将设备聚合到物理位置的桶列表
ceph node :ceph 集群
三副本主要场景:
【数据备份和恢复】在云盘中,用户的数据通常会被复制到3个不同的节点上,以防止数据丢失或硬件故障。如果某个节点发生了故障,系统可以自动从其他副本中恢复数据。
【负载均衡和性能优化】通过在多个服务器上分配和处理用户请求,可以有效地平衡负载并提高性能。当用户上传或下载文件时,系统可以自动选择最近或最空闲的服务器来处理请求。
【高可用性和容错性】由于云盘中存在3个副本,即使某个节点出现故障或停机,仍然可以保证数据的可用性。此外,在进行维护、升级或扩展时,系统也可以无缝地将流量转移到其他节点上。
三副本缺点:
1、因数据都存储同一个集群中,如果集群挂了 , 三副本将都失效。
2、遇到病毒、误删等损害文件,三副本将都被修改。此种情况下三副本也无法恢复数据,但快照可解决此问题。
这也是为什么有三副本,还需要快照的原因。