恢复数据都是基于副本卷来说的,gluster复制卷是采用镜像的方式做的,并且是同步事务性操作。
简单来说就是,某一个客户要写文件时,先把这个文件锁住,然后同时写两个或多个副本,写完后解锁,这个操作才算结束。
那么在写某一个副本时发生故障没有写成功,或者运行过程中某一个节点断电了,造成数据丢失了,等等,就能通过另一个副本来恢复。
现在这里说一个疑问,就是gluster写副本时同步写的,就是客户端同时写两份数据,这样就会产生两倍的流量,测2副本的分布式复制卷性能时,能明确看到性能只有无副本的一半,或者只有读的一半;另一个分布式文件系统ceph就不是这样,是异步来写副本的,就是写到一个主OSD(ceph的存储单元)就返回了,这个OSD再通过内部网络异步写到其他的OSD,这样不是更快了。那么这两种方法有什么优缺点呢,那种比较好,或者各自为什么采用这样的方法,那位大神指导指导我吧。
呵呵,言归正传,说道恢复就有什么时候恢复,怎么恢复,凭什么说这个副本是好的,那个副本是坏的呢,这样的问题,一个一个来说。
首先,什么时候恢复,有这样三种场景会触发恢复,宕机的节点恢复正常时;副本缺失的文件被读写到时,比如运行如下命令
ls -l <file-path-on-gluster-mount>;每十分钟g