[發(fā)明專利]基于仲裁服務(wù)器的集群裂腦預(yù)防方法和裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201310615821.1 | 申請(qǐng)日: | 2013-11-23 |
| 公開(公告)號(hào): | CN103684941B | 公開(公告)日: | 2018-01-16 |
| 發(fā)明(設(shè)計(jì))人: | 蔡強(qiáng);董春青;袁泉 | 申請(qǐng)(專利權(quán))人: | 廣東中興新支點(diǎn)技術(shù)有限公司 |
| 主分類號(hào): | H04L12/28 | 分類號(hào): | H04L12/28;H04L12/46 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 510663 廣東省廣州市天*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 仲裁 服務(wù)器 集群 預(yù)防 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明屬于計(jì)算機(jī)集群技術(shù)領(lǐng)域,適用于高可用性集群(High-availability Cluster),尤其涉及高可用集群裂腦預(yù)防技術(shù)領(lǐng)域。
背景技術(shù)
隨著通信網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,電信、金融、電子政務(wù)等關(guān)鍵領(lǐng)域?qū)Ψ?wù)器可用性的要求越來越高。高可用(High Availability,HA)集群技術(shù)可以有效減少業(yè)務(wù)系統(tǒng)因軟件、硬件故障造成的服務(wù)停止時(shí)間。
當(dāng)前高可用集群系統(tǒng)主要通過網(wǎng)絡(luò)或串口線等鏈路作為集群節(jié)點(diǎn)間通信的私有心跳網(wǎng)絡(luò),負(fù)責(zé)交換同步節(jié)點(diǎn)間的信息,監(jiān)測(cè)集群中各個(gè)節(jié)點(diǎn)的運(yùn)行情況。當(dāng)服務(wù)運(yùn)行節(jié)點(diǎn)故障,備份節(jié)點(diǎn)不能在一定時(shí)間內(nèi)收到服務(wù)運(yùn)行節(jié)點(diǎn)的心跳信息,則認(rèn)為服務(wù)運(yùn)行節(jié)點(diǎn)發(fā)生了故障并進(jìn)行服務(wù)接管。但是當(dāng)所有心跳鏈路發(fā)生故障,可能會(huì)導(dǎo)致服務(wù)運(yùn)行節(jié)點(diǎn)和備份節(jié)點(diǎn)同時(shí)啟動(dòng)業(yè)務(wù),造成集群裂腦(Split-Brain)和數(shù)據(jù)損壞。
為了保障用戶的業(yè)務(wù)可持續(xù)性及數(shù)據(jù)安全性,防止集群裂腦是必不可少的,目前通用的做法是將故障節(jié)點(diǎn)Fencing重啟或?qū)⑼ㄟ^SCSI3保留技術(shù)對(duì)共享存儲(chǔ)進(jìn)行Fencing隔離。但發(fā)明人發(fā)現(xiàn)這些方法存在局限性,在實(shí)際環(huán)境中,經(jīng)常不具備Fencing的硬件條件,而且備份節(jié)點(diǎn)上同樣運(yùn)行著其他重要的業(yè)務(wù),客戶不允許操作系統(tǒng)重啟或共享存儲(chǔ)被隔離。另外,基于共享磁陣的磁盤鎖技術(shù)雖然能在局域網(wǎng)、帶有共享磁陣的場(chǎng)合部分解決集群裂腦問題,但同樣存在諸多局限性,比如需要重新劃分共享磁陣分區(qū)、不支持無磁陣環(huán)境、不支持虛擬機(jī)環(huán)境、不支持廣域網(wǎng)異地集群等。
發(fā)明內(nèi)容
本發(fā)明實(shí)例目的在于提供一種基于仲裁服務(wù)器的集群裂腦預(yù)防方法和裝置,克服現(xiàn)有技術(shù)的不足,在不需要將服務(wù)器節(jié)點(diǎn)Fencing重啟或共享存儲(chǔ)Fencing隔離的情況下,仍然能夠在集群心跳網(wǎng)絡(luò)中斷或異常時(shí),防止集群裂腦發(fā)生和數(shù)據(jù)損壞。并且克服磁陣仲裁盤必須配置共享磁陣,必須對(duì)磁陣進(jìn)行重新分區(qū),只能用于局域網(wǎng)的局限性,不支持虛擬機(jī)環(huán)境等局限性,適用于無共享磁陣、不需要對(duì)磁陣重新分區(qū)、虛擬機(jī)集群、廣域網(wǎng)異地集群等高可用集群環(huán)境。
本發(fā)明通過如下方法和裝置實(shí)現(xiàn):
當(dāng)節(jié)點(diǎn)或心跳網(wǎng)絡(luò)故障時(shí),服務(wù)未運(yùn)行子集群必須先向仲裁服務(wù)器申請(qǐng)并獲得服務(wù)鎖,才能進(jìn)行服務(wù)的接管,如果因任何原因,服務(wù)未運(yùn)行子集群不能獲得服務(wù)鎖,則不能執(zhí)行服務(wù)啟動(dòng)動(dòng)作。從而避免兩個(gè)節(jié)點(diǎn)同時(shí)啟動(dòng)服務(wù),防止集群裂腦的發(fā)生。
由于原服務(wù)運(yùn)行節(jié)點(diǎn)心跳線中斷到停止服務(wù)需要一個(gè)t_giveup時(shí)間,所以在這個(gè)時(shí)間內(nèi),嘗試接管服務(wù)的子集群會(huì)持續(xù)發(fā)送申請(qǐng)服務(wù)鎖請(qǐng)求,直到取得服務(wù)鎖。
服務(wù)運(yùn)行子集群定期發(fā)送服務(wù)鎖刷新消息到仲裁服務(wù)器,仲裁服務(wù)器更新當(dāng)前服務(wù)鎖時(shí)間戳,維護(hù)服務(wù)鎖狀態(tài)不變。此時(shí),非服務(wù)運(yùn)行子集群的節(jié)點(diǎn)無法獲得相應(yīng)服務(wù)鎖,不能接管服務(wù)。
如果因?yàn)榫W(wǎng)絡(luò)故障等原因,在t_timeout時(shí)間內(nèi)仲裁服務(wù)器不能收到任何服務(wù)鎖刷新信息,則認(rèn)為服務(wù)運(yùn)行子集群已死機(jī)或變成孤立子集群,并把服務(wù)鎖的狀態(tài)置為unknown狀態(tài)。此后,為保證原服務(wù)運(yùn)行節(jié)點(diǎn)有充分的停止服務(wù)時(shí)間,仲裁服務(wù)器會(huì)等待t_giveup時(shí)間才把服務(wù)鎖狀態(tài)置為unlocked,確認(rèn)服務(wù)已經(jīng)停止,并允許其他節(jié)點(diǎn)搶占服務(wù)鎖,避免備機(jī)接管服務(wù)時(shí)因?yàn)樵?jié)點(diǎn)服務(wù)未完全停止而造成的短暫裂腦問題。
此時(shí),服務(wù)運(yùn)行子集群與仲裁服務(wù)器失去連接并變成孤立子集群。為保證服務(wù)的運(yùn)行持續(xù)性,分兩種情況處理:(1)服務(wù)運(yùn)行子集群節(jié)點(diǎn)數(shù)量大于原集群節(jié)點(diǎn)數(shù)量的1/2時(shí),繼續(xù)對(duì)外提供服務(wù),避免因?yàn)橹俨梅?wù)器的鏈接故障影響到服務(wù)的可用性;(2)服務(wù)運(yùn)行子集群的節(jié)點(diǎn)數(shù)量小于等于原集群節(jié)點(diǎn)數(shù)量的1/2時(shí),執(zhí)行停止服務(wù)操作并釋放服務(wù)鎖。此時(shí)服務(wù)運(yùn)行子集群的備份節(jié)點(diǎn)不予接管服務(wù),在t_giveup時(shí)間內(nèi)服務(wù)不能正常停止時(shí),服務(wù)運(yùn)行節(jié)點(diǎn)要執(zhí)行重啟系統(tǒng)動(dòng)作,以方便其他子集群接管。當(dāng)服務(wù)運(yùn)行子集群節(jié)點(diǎn)數(shù)>1/2時(shí),非服務(wù)運(yùn)行子集群肯定小于1/2,所以此時(shí)非服務(wù)運(yùn)行子集群不會(huì)嘗試申請(qǐng)服務(wù)鎖并接管服務(wù),不存在集群裂腦風(fēng)險(xiǎn)。
為提高服務(wù)可用性、最大化服務(wù)持續(xù)運(yùn)行能力,也可以通過選項(xiàng)不執(zhí)行1/2節(jié)點(diǎn)數(shù)的算法,此時(shí)非服務(wù)運(yùn)行子集群不管是否>1/2,只要節(jié)點(diǎn)狀態(tài)變化或心跳故障,都會(huì)執(zhí)行搶鎖操作,并嘗試接管服務(wù)。這種方式提高服務(wù)可持續(xù)性,但降低了數(shù)據(jù)安全性,增加集群裂腦風(fēng)險(xiǎn)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于廣東中興新支點(diǎn)技術(shù)有限公司,未經(jīng)廣東中興新支點(diǎn)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310615821.1/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 總線仲裁裝置
- 一種支持服務(wù)質(zhì)量的仲裁方法及裝置
- 基礎(chǔ)設(shè)施服務(wù)層仲裁裝置及方法
- 計(jì)算機(jī)資源控制器以及控制方法
- 一種人事爭(zhēng)議仲裁信息存儲(chǔ)系統(tǒng)及方法
- 承保機(jī)構(gòu)仲裁處理方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 在線仲裁方法、裝置、存儲(chǔ)介質(zhì)及設(shè)備
- 用于仲裁區(qū)塊鏈中數(shù)據(jù)真實(shí)性的方法和系統(tǒng)
- 仲裁財(cái)產(chǎn)保全材料提交方法、系統(tǒng)及可讀存儲(chǔ)介質(zhì)
- 一種存儲(chǔ)仲裁管理方法、系統(tǒng)、終端及存儲(chǔ)介質(zhì)
- 一種基于UDP分布式小文件存儲(chǔ)系統(tǒng)及其數(shù)據(jù)處理方法
- 一種新型云計(jì)算管理系統(tǒng)
- 一種云計(jì)算管理裝置
- 一種節(jié)能數(shù)據(jù)服務(wù)器架構(gòu)系統(tǒng)
- 一種基于云計(jì)算的客戶信息管理裝置
- 一種基于即時(shí)通訊技術(shù)的通訊系統(tǒng)
- 服務(wù)器系統(tǒng)及分配服務(wù)器的方法
- 一種MMORPG游戲服務(wù)器端
- 一種訪問請(qǐng)求的處理方法、服務(wù)器及存儲(chǔ)介質(zhì)
- 基于Spark技術(shù)的大數(shù)據(jù)脫敏管理系統(tǒng)
- 一種集群調(diào)度呼叫業(yè)務(wù)中主叫終端信息顯示方法
- 更新網(wǎng)絡(luò)流量管理設(shè)備同時(shí)維持有效性
- 與集群調(diào)度系統(tǒng)進(jìn)行通信的方法、群集接入網(wǎng)關(guān)及系統(tǒng)
- 一種管理集群通信系統(tǒng)資源的方法
- 基于Kubernetes和OpenStack容器云平臺(tái)多集群構(gòu)建方法、介質(zhì)、設(shè)備
- 一種容災(zāi)系統(tǒng)、容災(zāi)處理方法、監(jiān)控節(jié)點(diǎn)和備份集群
- 一種ETCD集群恢復(fù)方法、系統(tǒng)、設(shè)備及計(jì)算機(jī)介質(zhì)
- 混合云場(chǎng)景下保證可用集群數(shù)量的方法、裝置及系統(tǒng)
- 一種集群拓?fù)涓路椒ā⑾到y(tǒng)、設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 集群切換方法、集群切換裝置、電子設(shè)備及可讀存儲(chǔ)介質(zhì)





