一種高可用性集群管理方法及相關(guān)設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種高可用性集群管理方法及相關(guān)設(shè)備。
【背景技術(shù)】
[0002]隨著通信技術(shù)的不斷發(fā)展,越來(lái)越多的業(yè)務(wù)可以通過(guò)網(wǎng)絡(luò)通信來(lái)實(shí)現(xiàn)。然而,為了使業(yè)務(wù)能夠順利進(jìn)行,并提供高可用性的服務(wù),則需要保證業(yè)務(wù)的連續(xù)性。高可用性集群(High Available,簡(jiǎn)稱HA)是一種保證業(yè)務(wù)連續(xù)性的有效解決方案,目前常見(jiàn)的實(shí)現(xiàn)方案一般為:設(shè)置兩個(gè)或兩個(gè)以上的節(jié)點(diǎn),且將其分為主節(jié)點(diǎn)和備節(jié)點(diǎn),其中,主節(jié)點(diǎn)用于提供服務(wù)以執(zhí)行業(yè)務(wù),備節(jié)點(diǎn)作為主節(jié)點(diǎn)的一個(gè)備份,兩者之間通過(guò)心跳機(jī)制來(lái)感知對(duì)方的存在。當(dāng)備節(jié)點(diǎn)丟失與主節(jié)點(diǎn)的心跳時(shí),則認(rèn)為主節(jié)點(diǎn)已宕機(jī),備節(jié)點(diǎn)立即轉(zhuǎn)變?yōu)橹鞴?jié)點(diǎn)來(lái)繼續(xù)執(zhí)行業(yè)務(wù),從而實(shí)現(xiàn)業(yè)務(wù)的連續(xù)性。然而,上述實(shí)現(xiàn)方案只適用于雙機(jī)主備的模式,主備模式為一對(duì)一,即一個(gè)主節(jié)點(diǎn)只對(duì)應(yīng)一個(gè)備節(jié)點(diǎn),當(dāng)心跳鏈路出現(xiàn)問(wèn)題時(shí),雙方都認(rèn)為自己是主節(jié)點(diǎn),從而導(dǎo)致雙主,使得腦裂的發(fā)生概率升高,且嚴(yán)重影響服務(wù)的可靠性。
【發(fā)明內(nèi)容】
[0003]本發(fā)明實(shí)施例公開了一種高可用性集群管理方法及相關(guān)設(shè)備,能夠提高服務(wù)的可靠性以及降低腦裂的發(fā)生概率。
[0004]本發(fā)明實(shí)施例第一方面公開了一種高可用性集群管理方法,所述高可用性集群包括至少一個(gè)主節(jié)點(diǎn)、至少一個(gè)備節(jié)點(diǎn)和集群管理裝置,所述集群管理裝置通過(guò)心跳鏈路分別與所述至少一個(gè)主節(jié)點(diǎn)和所述至少一個(gè)備節(jié)點(diǎn)進(jìn)行連接通信,所述方法包括:
[0005]針對(duì)所述至少一個(gè)主節(jié)點(diǎn)中的每一個(gè)主節(jié)點(diǎn),所述集群管理裝置檢測(cè)是否發(fā)生目標(biāo)事件,所述目標(biāo)事件為觸發(fā)所述集群管理裝置針對(duì)所述主節(jié)點(diǎn)進(jìn)行切主操作的事件;
[0006]當(dāng)所述集群管理裝置檢測(cè)到發(fā)生所述目標(biāo)事件時(shí),所述集群管理裝置控制所述至少一個(gè)備節(jié)點(diǎn)中的一個(gè)備節(jié)點(diǎn)執(zhí)行升主操作。
[0007]結(jié)合本發(fā)明實(shí)施例第一方面,在本發(fā)明實(shí)施例第一方面的第一種可能的實(shí)現(xiàn)方式中,所述針對(duì)所述至少一個(gè)主節(jié)點(diǎn)中的每一個(gè)主節(jié)點(diǎn),所述集群管理裝置檢測(cè)是否發(fā)生目標(biāo)事件,包括:
[0008]針對(duì)所述至少一個(gè)主節(jié)點(diǎn)中的每一個(gè)主節(jié)點(diǎn),所述集群管理裝置檢測(cè)是否在預(yù)設(shè)時(shí)間間隔內(nèi)未接收到所述主節(jié)點(diǎn)發(fā)送的心跳報(bào)文;
[0009]當(dāng)所述集群管理裝置在所述預(yù)設(shè)時(shí)間間隔內(nèi)未接收到所述主節(jié)點(diǎn)發(fā)送的所述心跳報(bào)文時(shí),則所述集群管理裝置檢測(cè)出發(fā)生目標(biāo)事件。
[0010]結(jié)合本發(fā)明實(shí)施例第一方面,在本發(fā)明實(shí)施例第一方面的第二種可能的實(shí)現(xiàn)方式中,所述針對(duì)所述至少一個(gè)主節(jié)點(diǎn)中的每一個(gè)主節(jié)點(diǎn),所述集群管理裝置檢測(cè)是否發(fā)生目標(biāo)事件,包括:
[0011]針對(duì)所述至少一個(gè)主節(jié)點(diǎn)中的每一個(gè)主節(jié)點(diǎn),所述集群管理裝置檢測(cè)是否接收到所述主節(jié)點(diǎn)發(fā)送的異常服務(wù)上報(bào)信息;
[0012]當(dāng)所述集群管理裝置接收到所述主節(jié)點(diǎn)發(fā)送的所述異常服務(wù)上報(bào)信息時(shí),則所述集群管理裝置檢測(cè)出發(fā)生目標(biāo)事件。
[0013]結(jié)合本發(fā)明實(shí)施例第一方面或第一方面的第一種至第二種中的任一種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第三種可能的實(shí)現(xiàn)方式中,各個(gè)主節(jié)點(diǎn)上加載有浮動(dòng)ip、Scs1-3鎖以及共享卷,不同主節(jié)點(diǎn)對(duì)應(yīng)的浮動(dòng)ip不同,且不同主節(jié)點(diǎn)對(duì)應(yīng)的Scs1-3鎖不同,一個(gè)主節(jié)點(diǎn)通過(guò)對(duì)應(yīng)的Scs1-3鎖唯一訪問(wèn)與所述Scs1-3鎖對(duì)應(yīng)的共享卷。
[0014]結(jié)合本發(fā)明實(shí)施例第一方面的第三種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第四種可能的實(shí)現(xiàn)方式中,所述高可用性集群還包括卷管理裝置,用于管理各個(gè)共享卷,所述集群管理裝置控制所述至少一個(gè)備節(jié)點(diǎn)中的一個(gè)備節(jié)點(diǎn)執(zhí)行升主操作,包括:
[0015]所述集群管理裝置通知所述至少一個(gè)備節(jié)點(diǎn)中的一個(gè)備節(jié)點(diǎn)加載所述主節(jié)點(diǎn)對(duì)應(yīng)的浮動(dòng)ip,以使得所述備節(jié)點(diǎn)對(duì)所述主節(jié)點(diǎn)對(duì)應(yīng)的浮動(dòng)ip進(jìn)行加載,并由所述備節(jié)點(diǎn)檢測(cè)所述浮動(dòng)ip是否存在沖突;
[0016]當(dāng)所述浮動(dòng)ip不存在沖突時(shí),所述集群管理裝置接收所述備節(jié)點(diǎn)發(fā)送的查詢請(qǐng)求,所述查詢請(qǐng)求用于查詢所述浮動(dòng)ip對(duì)應(yīng)的共享卷;
[0017]所述集群管理裝置針對(duì)所述查詢請(qǐng)求向所述備節(jié)點(diǎn)發(fā)送所述浮動(dòng)ip對(duì)應(yīng)的共享卷,以使所述備節(jié)點(diǎn)向所述卷管理裝置查詢所述共享卷的掛載信息,以獲得第一查詢結(jié)果,所述掛載信息包括所述共享卷的掛載點(diǎn);
[0018]當(dāng)所述第一查詢結(jié)果為不存在所述共享卷的掛載點(diǎn)時(shí),由所述備節(jié)點(diǎn)加載所述共享卷,以使所述備節(jié)點(diǎn)作為所述共享卷的掛載點(diǎn);
[0019]由所述備節(jié)點(diǎn)向所述卷管理裝置查詢所述共享卷的加鎖信息,以獲得第二查詢結(jié)果,所述加鎖信息包括所述共享卷加載的Scs1-3鎖;
[0020]當(dāng)所述第二查詢結(jié)果為不存在所述共享卷加載的Scs1-3鎖時(shí),由所述備節(jié)點(diǎn)為所述共享卷加載所述Scs1-3鎖。
[0021]結(jié)合本發(fā)明實(shí)施例第一方面的第四種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第五種可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0022]當(dāng)所述第一查詢結(jié)果為存在所述共享卷的掛載點(diǎn)時(shí),由所述備節(jié)點(diǎn)每隔第一時(shí)間向所述卷管理裝置查詢所述共享卷的掛載點(diǎn);
[0023]當(dāng)由所述備節(jié)點(diǎn)向所述卷管理裝置執(zhí)行第一預(yù)設(shè)次數(shù)查詢后獲得的查詢結(jié)果均為存在所述共享卷的掛載點(diǎn)時(shí),所述集群管理裝置接收所述備節(jié)點(diǎn)發(fā)送的反饋信息;
[0024]所述集群管理裝置根據(jù)所述反饋信息控制所述至少一個(gè)備節(jié)點(diǎn)中除所述備節(jié)點(diǎn)外的一個(gè)備節(jié)點(diǎn)執(zhí)行升主操作。
[0025]結(jié)合本發(fā)明實(shí)施例第一方面的第四種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第六種可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0026]當(dāng)所述第二查詢結(jié)果為存在所述共享卷加載的Scs1-3鎖時(shí),由所述備節(jié)點(diǎn)每隔第二時(shí)間向所述卷管理裝置查詢所述共享卷的加鎖信息;
[0027]當(dāng)由所述備節(jié)點(diǎn)向所述卷管理裝置執(zhí)行第二預(yù)設(shè)次數(shù)查詢后獲得的查詢結(jié)果均為存在所述共享卷加載的Scs1-3鎖時(shí),由所述備節(jié)點(diǎn)搶占所述共享卷加載的Scs1-3鎖。
[0028]結(jié)合本發(fā)明實(shí)施例第一方面的第一種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第一方面的第七種可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0029]當(dāng)所述集群管理裝置檢測(cè)到在所述預(yù)設(shè)時(shí)間間隔內(nèi)接收到所述主節(jié)點(diǎn)發(fā)送的所述心跳報(bào)文時(shí),所述集群管理裝置針對(duì)所述心跳報(bào)文向所述主節(jié)點(diǎn)發(fā)送心跳反饋報(bào)文。
[0030]本發(fā)明實(shí)施例第二方面公開了一種集群管理裝置,用于執(zhí)行高可用性集群管理方法,所述高可用性集群包括至少一個(gè)主節(jié)點(diǎn)、至少一個(gè)備節(jié)點(diǎn)和集群管理裝置,所述集群管理裝置通過(guò)心跳鏈路分別與所述至少一個(gè)主節(jié)點(diǎn)和所述至少一個(gè)備節(jié)點(diǎn)進(jìn)行連接通信,所述集群管理裝置包括:
[0031]檢測(cè)單元,用于針對(duì)所述至少一個(gè)主節(jié)點(diǎn)中的每一個(gè)主節(jié)點(diǎn),檢測(cè)是否發(fā)生目標(biāo)事件,所述目標(biāo)事件為觸發(fā)所述集群管理裝置針對(duì)所述主節(jié)點(diǎn)進(jìn)行切主操作的事件;
[0032]控制單元,用于當(dāng)所述檢測(cè)單元檢測(cè)到發(fā)生所述目標(biāo)事件時(shí),控制所述至少一個(gè)備節(jié)點(diǎn)中的一個(gè)備節(jié)點(diǎn)執(zhí)行升主操作。
[0033]結(jié)合本發(fā)明實(shí)施例第二方面,在本發(fā)明實(shí)施例第二方面的第一種可能的實(shí)現(xiàn)方式中,所述檢測(cè)單元針對(duì)所述至少一個(gè)主節(jié)點(diǎn)中的每一個(gè)主節(jié)點(diǎn),檢測(cè)是否發(fā)生目標(biāo)事件的方式具體為:
[0034]所述檢測(cè)單元針對(duì)所述至少一個(gè)主節(jié)點(diǎn)中的每一個(gè)主節(jié)點(diǎn),檢測(cè)是否在預(yù)設(shè)時(shí)間間隔內(nèi)未接收到所述主節(jié)點(diǎn)發(fā)送的心跳報(bào)文,當(dāng)在所述預(yù)設(shè)時(shí)間間隔內(nèi)未接收到所述主節(jié)點(diǎn)發(fā)送的所述心跳報(bào)文時(shí),則檢測(cè)出發(fā)生目標(biāo)事件。
[0035]結(jié)合本發(fā)明實(shí)施例第二方面,在本發(fā)明實(shí)施例第二方面的第二種可能的實(shí)現(xiàn)方式中,所述檢測(cè)單元針對(duì)所述至少一個(gè)主節(jié)點(diǎn)中的每一個(gè)主節(jié)點(diǎn),檢測(cè)是否發(fā)生目標(biāo)事件的方式具體為:
[0036]所述檢測(cè)單元針對(duì)所述至少一個(gè)主節(jié)點(diǎn)中的每一個(gè)主節(jié)點(diǎn),檢測(cè)是否接收到所述主節(jié)點(diǎn)發(fā)送的異常服務(wù)上報(bào)信息,當(dāng)接收到所述主節(jié)點(diǎn)發(fā)送的所述異常服務(wù)上報(bào)信息時(shí),則檢測(cè)出發(fā)生目標(biāo)事件。
[0037]結(jié)合本發(fā)明實(shí)施例第二方面或第二方面的第一種至第二種中的任一種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第三種可能的實(shí)現(xiàn)方式中,各個(gè)主節(jié)點(diǎn)上加載有浮動(dòng)ip、Scs1-3鎖以及共享卷,不同主節(jié)點(diǎn)對(duì)應(yīng)的浮動(dòng)ip不同,且不同主節(jié)點(diǎn)對(duì)應(yīng)的Scs1-3鎖不同,一個(gè)主節(jié)點(diǎn)通過(guò)對(duì)應(yīng)的Scs1-3鎖唯一訪問(wèn)與所述Scs1-3鎖對(duì)應(yīng)的共享卷。
[0038]結(jié)合本發(fā)明實(shí)施例第二方面的第三種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第四種可能的實(shí)現(xiàn)方式中,所述高可用性集群還包括卷管理裝置,用于管理各個(gè)共享卷,所述控制單元包括:
[0039]通知子單元,用于通知所述至少一個(gè)備節(jié)點(diǎn)中的一個(gè)備節(jié)點(diǎn)加載所述主節(jié)點(diǎn)對(duì)應(yīng)的浮動(dòng)ip,以使得所述備節(jié)點(diǎn)對(duì)所述主節(jié)點(diǎn)對(duì)應(yīng)的浮動(dòng)ip進(jìn)行加載,并由所述備節(jié)點(diǎn)檢測(cè)所述浮動(dòng)ip是否存在沖突;
[0040]第一接收子單元,用于當(dāng)所述浮動(dòng)ip不存在沖突時(shí),接收所述備節(jié)點(diǎn)發(fā)送的查詢請(qǐng)求,所述查詢請(qǐng)求用于查詢所述浮動(dòng)ip對(duì)應(yīng)的共享卷;
[0041]發(fā)送子單元,用于針對(duì)所述查詢請(qǐng)求向所述備節(jié)點(diǎn)發(fā)送所述浮動(dòng)ip對(duì)應(yīng)的共享卷,以使所述備節(jié)點(diǎn)向所述卷管理裝置查詢所述共享卷的掛載信息,以獲得第一查詢結(jié)果,所述掛載信息包括所述共享卷的掛載點(diǎn);當(dāng)所述第一查詢結(jié)果為不存在所述共享卷的掛載點(diǎn)時(shí),由所述備節(jié)點(diǎn)加載所述共享卷,以使所述備節(jié)點(diǎn)作為所述共享卷的掛載點(diǎn);由所述備節(jié)點(diǎn)向所述卷管理裝置查詢所述共享卷的加鎖信息,以獲得第二查詢結(jié)果,所述加鎖信息包括所述共享卷加載的Scs1-3鎖;當(dāng)所述第二查詢結(jié)果為不存在所述共享卷加載的Scs1-3鎖時(shí),由所述備節(jié)點(diǎn)為所述共享卷加載所述Scs1-3鎖。
[0042]結(jié)合本發(fā)明實(shí)施例第二方面的第四種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第五種可能的實(shí)現(xiàn)方式中,所述控制單元還包括:
[0043]第二接收子單元,用于當(dāng)所述第一查詢結(jié)果為存在所述共享卷的掛載點(diǎn)時(shí),由所述備節(jié)點(diǎn)每隔第一時(shí)間向所述卷管理裝置查詢所述共享卷的掛載點(diǎn),當(dāng)由所述備節(jié)點(diǎn)向所述卷管理裝置執(zhí)行第一預(yù)設(shè)次數(shù)查詢后獲得的查詢結(jié)果均為存在所述共享卷的掛載點(diǎn)時(shí),接收所述備節(jié)點(diǎn)發(fā)送的反饋信息;
[0044]控制子單元,用于根據(jù)所述反饋信息控制所述至少一個(gè)備節(jié)點(diǎn)中除所述備節(jié)點(diǎn)外的一個(gè)備節(jié)點(diǎn)執(zhí)行升主操作。
[0045]結(jié)合本發(fā)明實(shí)施例第二方面的第一種可能的實(shí)現(xiàn)方式,在本發(fā)明實(shí)施例第二方面的第六種可能的實(shí)現(xiàn)方式中,所述集群管理裝置還包括:
[0046]發(fā)送單元,用于當(dāng)所述檢測(cè)單元檢測(cè)到在所述預(yù)設(shè)時(shí)間間隔內(nèi)接收到所述主節(jié)點(diǎn)發(fā)送的所述心跳報(bào)文時(shí),針對(duì)所述心跳報(bào)文向所述主節(jié)點(diǎn)發(fā)送心跳反饋報(bào)文。
[0047]本發(fā)明實(shí)施例中,高可用性集群包括至少一個(gè)主節(jié)點(diǎn)、至少一個(gè)備節(jié)點(diǎn)和集群管理裝置,集群管理裝置通過(guò)心跳鏈路分別與上述至少一個(gè)主節(jié)點(diǎn)和上述至少一個(gè)備節(jié)點(diǎn)進(jìn)行連接通信,針對(duì)每一個(gè)主節(jié)點(diǎn),集群管理裝置可以檢測(cè)是否發(fā)生目標(biāo)事件,該目標(biāo)事件為觸發(fā)集群管理裝置針對(duì)該主節(jié)點(diǎn)進(jìn)行切主的事件,當(dāng)檢測(cè)到發(fā)生該目標(biāo)事件時(shí),集群管理裝置控制上述至少一個(gè)備節(jié)點(diǎn)中的一個(gè)備節(jié)點(diǎn)執(zhí)行升主操作??梢?jiàn),本發(fā)明實(shí)施例中高可用性集群可以包括多個(gè)主節(jié)點(diǎn)和多個(gè)備節(jié)點(diǎn),且每一個(gè)主節(jié)點(diǎn)可以共享多個(gè)備節(jié)點(diǎn),可以通過(guò)多主對(duì)多備的模式來(lái)提高備節(jié)點(diǎn)的資源利用率;此外,將多個(gè)主節(jié)點(diǎn)與多個(gè)備節(jié)點(diǎn)同時(shí)連接到集群管理裝置,由集群管理裝置對(duì)異常情況進(jìn)行判斷來(lái)進(jìn)行切主操作,從而可以大大降低腦裂發(fā)生的概率,進(jìn)而提高服務(wù)的可靠性。
【附圖說(shuō)明】
[0048]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0049