Heim >Datenbank >MySQL-Tutorial >Oracle RAC中的投票算法

Oracle RAC中的投票算法

WBOY
WBOYOriginal
2016-06-07 17:21:191031Durchsuche

两个partition都想以为对方出问题,自己需要接管业务,如果没有投票算法就会导致两个partition同时操作数据库(共享存储)的情况

假设,RAC集群中有三台机器,A,B,C

A,B,C都会有3票,假设这是A的心跳线出现问题,整个RAC集群就划分为两个paritition,

一个是只有A的partition,一个是B,C组成的partition,

两个partition都想以为对方出问题,自己需要接管业务,如果没有投票算法就会导致两个partition同时操作数据库(共享存储)的情况,注意,这里的数据库不是我们通常说的数据库,因为在RAC集群中,数据文件,配置文件,日志文件是放在后端的共享存储上的,RAC集群中的多个节点所共享。

话说回来,出先两个partition后,因为A所在的partition只有自己了,没有其他心跳线连接,所以它只有自己的1票,

而B,C所在的partition因为有彼此间的心跳线存在,都可向对方投票,所以他们都有2票,这个时候票数多的获得RAC集群的控制权,A所在的partition被踢出集群。A节点被强制重启,避免A和BC节点同时操作数据库。

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn