- 论坛徽章:
- 2
|
案例:在两个节点的cluster环境中,如果为了维护节点2,将其正常关闭或者节点2 crash;然后所有应用切换到节点1,在节点1上对cluster进行了配置改变;然后,节点1正常关闭;这个时候首先启动节点2,会有什么情况发生,请说明原因?
答案:节点2无法起cluster
因为 仲裁盘上写入的是节点一的做保留密钥 必须节点1起来后才行
再给你讲讲仲裁选举和仲裁设备的作用:
为了维持集群的稳定性,SC软件框架采取了一种称为投票系统的机制。
每个节点都被明确分配了一张选票。
指定特定的磁盘(可多个)作为仲裁设备(quorun divices),并给予选票。
采用多数票原则,任何节点的票数必须超过所有选票的50%才能够形成一个集群或继续呆在集群中。
SC软件的仲裁使用持久保留来防止节点启动形成集群。
持续保留/预约这种方法需要把预约信息写在仲裁设备上:
即使和设备连接的所有节点都重置,信息依然保留;
即使仲裁设备自身上电或下电,信息依然保留。
很显然,这涉及到往仲裁盘上写入一些特定类型的信息。这些信息叫做保留密钥(reservation key):
每个节点都被指定一个唯一的64位的保留密钥值。
和仲裁设备有物理连接的每个节点都会把自己的保留密钥写到仲裁设备上。
在持久保留机制的作用下,一个节点无法使用仲裁设备选票进行计数,除非它的保留密钥已经存在于该仲裁设备上 |
|