GaussDB(DWS)安全环的理解
我们在学习GaussDB(DWS)的基础知识时都学习了安全环的概念,即GaussDB在数据安全方面采用的是三副本(主,备,从)的安全环方式,那么,大家是否有思考过,一个多节点的集群中最多可以坏几个节点呢?
虽然设计的是三副本,日常使用中至少得保证有两副本可用才不会导致集群不可用。下面分别以3节点2DN和8节点2DN的集群来分析一下这个“最多”我们应该怎么计算。 如果我们采用3节点2DN的方式部署集群的话,三副本的主备从分布图如下:
根据上图,我们以节点1上的主DN为基准,什么损坏情况下这两个DN的数据损坏会导致集群不可用呢?我们假设节点3宕机了,那么,此时DN1的从备
和DN2的备份不可用,而在节点2上分别有DN1的备份和DN2的从备,此时仍然保障着两幅本可用,即不会导致集群不可用,只是会导致集群的性能下降。
仍然回到DN1和DN2的分布上来,如果再多宕机一台节点,明显可以看到,同理,当我们以DN3和DN4的主为基准时,分析的方法是相同的,即此时节点1和节点3可以任意宕机一个。
综上,我先假设一个计算方法,一个集群中最多可down机的节点个数=节点总数/(dn个数+1),对应到上面的例子:3/(2+1)=1,即最多可以有一个节点down机。
如果是8节点2DN的集群呢? 上述公式是否同样适用? 首先,我们来看8节点2DN的主备从分布图,如下:
上图中我们仍然以DN1和DN2为基准,可以看到节点1到节点4组成了一个安全环,假设节点1down了,那么节点2,3,4就不能再down了;我们接着看,假设节点5down了,那么,节点6,7,8就不能再down了。此时,我们看到节点1和节点5down掉以后,其他节点都不具备down机的条件了,否则就会导致集群不可用。我们看看此时上述公式是否使用? 节点总数 8/ (dn个数+1) = 8/3约等于2.6, 因为机器没有半台,而我们又不能多down机一台,只能取整数部分。这样来看,上述公式基本适用,但是,需要完善,即取一下整数部分。
综上,个人认为一个集群中最多可down的节点数 =节点总数/(dn个数+1),然后,取整数。
以上纯属个人观点,如有错误,欢迎指正。
- 点赞
- 收藏
- 关注作者
评论(0)