欢迎来到天天文库
浏览记录
ID:21970443
大小:57.00 KB
页数:7页
时间:2018-10-26
《veritas cluster server集群成员仲裁与数据保护研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、VeritasClusterServer集群成员仲裁与数据保护研究:伴随时代进步,由于服务器技术的迅猛发展,服务器系统被广泛应用于各行各业,极大地促进了社会经济的发展,但同时也对服务器系统的可靠性和稳定性提出了更高的要求。集群技术是近年来推出的一种解决高可用系统的方案。本文主要介绍了VeritasClusterServer(VCS)集群系统。重点讨论了VeritasClusterServer(VCS)集群系统的成员仲裁与数据保护。 关键词:VeritasClusterServer(VCS)集群系统成员仲裁数据保护 :TP391:A:1007-9416(2011)11-0084
2、-02 1、引言 近年来,由于服务器技术的迅猛发展,服务器系统被广泛应用于国民经济的各行各业,但同时也对服务器系统的可靠性和稳定性提出了更高的要求。高可用系统(HighAvailability)[1]就是基于为终端用户提供持续性的稳定服务为目的,目前属于非常活跃的研究课题。集群技术是近年来推出的一种解决高可用系统的解决方案。 处于集群中的节点,当它因故宕机时,它会停止通过私X发送心跳信息,幸存的节点则会采取相应的措施来保障数据安全。当私X通信故障产生时,集群中的节点都会认为是对方已经脱离集群。这种情况的后果是,当分裂的节点都尝试去对存储上的数据进行写操作,由于节点操作不
3、一致,造成数据破坏。这就是通常说的集群脑裂(Split-brain)[1]。 Split-brain是所有集群解决方案都需要面对的一个问题。集群要提供高可用性,必须有能力正确处理集群脑裂这种异常情况。在SFS(SANFileSystem)[1]集群中,通过SCSI-Ⅲ[2]持续预留技术实现了I/Ofencing[2],解决了这一问题。 2、集群中的I/Ofencing概述 当集群发生脑裂时,为保证数据完整性,需采取一种机制来裁决集群中节点的去留;留在集群中的节点将锁定存储,不允许非集群的节点访问。SFS(SANFileSystem)集群中底层VCS4.0[2]提供了一种叫做
4、SCSI-Ⅲ持续预留的技术实现了I/Ofencing。SCSI-Ⅲ持续预留技术包含了两个独特的功能:注册和预留。 注册和预留的关系为:集群中的节点只有注册了才能预留;注册者才可以注销,预留者才能释放;注册了才能清除、抢占。SCSI-Ⅲ持续预留指定了对磁盘访问控制的注册和预留机制。这种机制决定了谁可以在磁盘中注册,一个注册的节点如何逐出其它的节点。 SCSI-Ⅲ的预留者为一条I_Tnexus[2](启动器端口到目标器端口的链接),预留对象也是LUN[2]。当目标器和LUN发生重置的时候,预留信息不会丢失。 2.1SCSI-Ⅲ注册 每个节点都参与注册一个Key[2]在SCSI
5、-Ⅲ的存储设备上。Key写在RAID控制器里,并不是在磁盘上。有两个节点,节点0注册了keyA,节点1注册了keyB,节点0和节点1的key是互相可见的。 注册的节点允许“逐出”其它注册的节点。未在磁盘上注册的节点不允许逐出注册的节点。当一个节点要逐出其它节点时,它通过发出“preemptandabort”命令来逐出其它节点的key。没有注册的节点不能发布此命令。一旦一个节点被逐出,被逐出的节点不能再逐出别的节点。 2.2SCSI-Ⅲ预留 只有注册的节点才可以预留,SFS集群软件采用预留类型为“管理磁盘的I/Ofencing,当一个磁盘加入磁盘组的时候,它会自动处于防护状态
6、。 3.1成员仲裁 当集群发生脑裂分裂成为多个子集群的时候,存活的子集群会认为脱离的节点已经宕机。存活的集群会采取积极的措施确认自己是唯一存活下来的集群。 在SFS集群中,I/Ofencing利用fencing模块和协调盘来控制集群脑裂。当集群中的节点异常时,存活的子集群将会争夺协调盘的控制权,未争夺到协调盘的子集群将会重启。成员仲裁的结果是只有一个子集群可以存活下来。 在图1所示的集群中,节点0和节点1的心跳线出现故障。节点0会认为节点1已经宕机。节点0会执行特定的进程来争夺协调盘的控制权。竞争中的每个节点都试图从协调盘中逐出对方。争夺到大多数协调盘的节点(同时会逐出对
7、方)将会获得协调盘的控制权,失败的一方将会被重启。当一方真的宕机时,另外一方将会轻而易举的获得协调盘的控制权。 节点的竞争是通过SCSI-Ⅲ持续预留(协调盘里只有注册信息,没有预留信息)中的注册来处理。在集群启动的时候,每个节点会在协调盘里注册一个唯一的key。对于多路径的节点来说,这些路径都共用一个key。节点之间key是可见的,节点通过发布“preemptandabort”命令来清除其它节点在协调盘中的信息。在争夺协调盘的竞争中,赢得大多数协调盘的节点将会逐出与它竞争节点的
此文档下载收益归作者所有