亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種自動恢復(fù)掉電的MariaDBGaleraCluster的方法與流程

文檔序號:12665093閱讀:2083來源:國知局

本發(fā)明涉及云平臺基礎(chǔ)數(shù)據(jù)庫領(lǐng)域,具體涉及一種自動恢復(fù)掉電的MariaDB Galera Cluster的方法。



背景技術(shù):

數(shù)據(jù)庫是云平臺的基礎(chǔ)組件,如何保證數(shù)據(jù)庫的高可靠性是云平臺建設(shè)需重點(diǎn)專注的項(xiàng)目。為保證云平臺運(yùn)行的高效性,現(xiàn)如今普遍采用MariaDB Galera Cluster,MariaDB Galera Cluster是MariaDB數(shù)據(jù)庫的同步多主集群,但數(shù)據(jù)庫集群在全部掉電并再次上電后,數(shù)據(jù)庫集群的功能無法自動恢復(fù),需人工介入使數(shù)據(jù)庫集群恢復(fù),費(fèi)時(shí)費(fèi)力,且不符合現(xiàn)如今提倡的自動化社會的建設(shè)需求。



技術(shù)實(shí)現(xiàn)要素:

針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種自動恢復(fù)掉電的MariaDB Galera Cluster的方法,能夠快速恢復(fù)云平臺服務(wù)。

為達(dá)到以上目的,本發(fā)明采取的技術(shù)方案是,包括:

當(dāng)MariaDB Galera Cluster的節(jié)點(diǎn)掉電并上電后,上報(bào)所有節(jié)點(diǎn)的狀態(tài)ID至服務(wù)發(fā)現(xiàn)集群中;

遍歷節(jié)點(diǎn)的狀態(tài)ID,并判斷當(dāng)前狀態(tài)ID的值是否為所有節(jié)點(diǎn)狀態(tài)ID的值中最大,若是,則啟動當(dāng)前狀態(tài)ID對應(yīng)節(jié)點(diǎn)的服務(wù),若否,則跳過;

當(dāng)最大值的狀態(tài)ID對應(yīng)的節(jié)點(diǎn)服務(wù)啟動后,啟動所有其它節(jié)點(diǎn)的服務(wù)。

在上述技術(shù)方案的基礎(chǔ)上,狀態(tài)ID的值通過全局事務(wù)ID獲取。

在上述技術(shù)方案的基礎(chǔ)上,所述節(jié)點(diǎn)的狀態(tài)ID通過啟動腳本上報(bào)至服務(wù)發(fā)現(xiàn)集群中。

在上述技術(shù)方案的基礎(chǔ)上,待數(shù)據(jù)庫守護(hù)腳本確定所有節(jié)點(diǎn)的狀態(tài)ID均已上報(bào)至服務(wù)發(fā)現(xiàn)集群中后,開始依次遍歷節(jié)點(diǎn)的狀態(tài)ID。

在上述技術(shù)方案的基礎(chǔ)上,對于執(zhí)行非事務(wù)性操作時(shí)崩潰的MariaDB Galera Cluster:

所有節(jié)點(diǎn)的狀態(tài)ID上報(bào)至服務(wù)發(fā)現(xiàn)集群中后,依次遍歷節(jié)點(diǎn)的狀態(tài)ID,當(dāng)首次出現(xiàn)值為-1的狀態(tài)ID,則啟動該狀態(tài)ID對應(yīng)的節(jié)點(diǎn)的服務(wù),執(zhí)行數(shù)據(jù)庫恢復(fù)服務(wù),當(dāng)成功恢復(fù)一個(gè)節(jié)點(diǎn)后,啟動所有其它節(jié)點(diǎn)的服務(wù)。

在上述技術(shù)方案的基礎(chǔ)上,所述服務(wù)發(fā)現(xiàn)集群為Etcd服務(wù)發(fā)現(xiàn)集群。

與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:當(dāng)節(jié)點(diǎn)掉電并上電后,通過將節(jié)點(diǎn)的狀態(tài)ID的值上報(bào)至Etcd服務(wù)發(fā)現(xiàn)集群中,比對找到狀態(tài)ID的值最大的節(jié)點(diǎn),并啟動該節(jié)點(diǎn)的服務(wù),然后啟動所有其它節(jié)點(diǎn)的服務(wù),從而自動恢復(fù)MariaDB Galera Cluster,且整個(gè)過程無需人工干預(yù),便能快速恢復(fù)云平臺基礎(chǔ)數(shù)據(jù)庫服務(wù)。

附圖說明

圖1為本發(fā)明一種自動恢復(fù)掉電的MariaDB Galera Cluster的方法的流程圖。

具體實(shí)施方式

以下結(jié)合附圖對本發(fā)明作進(jìn)一步詳細(xì)說明。

參見圖1所示,本發(fā)明提供一種自動恢復(fù)掉電的MariaDB Galera Cluster的方法,用于恢復(fù)掉電并再次上電的MariaDB Galera Cluster的服務(wù)。MariaDB Galera Cluster為一種多主讀寫的數(shù)據(jù)庫集群,MariaDB Galera Cluster是MariaDB數(shù)據(jù)庫的同步多主集群,MariaDB數(shù)據(jù)庫是MySQL的一個(gè)分支,MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。本發(fā)明包括以下步驟:

步驟S1:當(dāng)MariaDB Galera Cluster的節(jié)點(diǎn)掉電并上電后,通過啟動腳本上報(bào)所有節(jié)點(diǎn)的狀態(tài)ID至服務(wù)發(fā)現(xiàn)集群中,本實(shí)施例中服務(wù)發(fā)現(xiàn)集群為Etcd服務(wù)發(fā)現(xiàn)集群;

步驟S2:通過數(shù)據(jù)庫守護(hù)腳本確定所有節(jié)點(diǎn)的狀態(tài)ID均已上報(bào)至Etcd服務(wù)發(fā)現(xiàn)集群中后,遍歷節(jié)點(diǎn)的狀態(tài)ID,并判斷當(dāng)前狀態(tài)ID的值是否為所有節(jié)點(diǎn)狀態(tài)ID的值中最大,若是,則啟動當(dāng)前狀態(tài)ID對應(yīng)節(jié)點(diǎn)的服務(wù),若否,則跳過。狀態(tài)ID的值越大,表示該節(jié)點(diǎn)在數(shù)據(jù)庫中所存儲信息越全,因此最大狀態(tài)ID的值的節(jié)點(diǎn)必須首先啟動。Etcd服務(wù)發(fā)現(xiàn)集群為一種共享的鍵值存儲系統(tǒng),用于服務(wù)發(fā)現(xiàn)。

狀態(tài)ID的值的獲取是通過全局事務(wù)ID來實(shí)現(xiàn)的,可以在grastate.dat文件中找到相應(yīng)配置,例如某個(gè)狀態(tài)ID的grastate.dat文件的配置為:

#GALERA saved state

version:2.1

uuid:e8dc56f3-ce33-4df8-8b44-c692ac62cc9f

seqno:346578973

cert_index:

其中,seqno字段的值即為節(jié)點(diǎn)的狀態(tài)ID的值,即狀態(tài)ID的值為grastate.dat文件的配置中seqno字段的值,通過比較seqno字段的值即可判斷當(dāng)前狀態(tài)ID的值是否為所有節(jié)點(diǎn)狀態(tài)ID的值中最大。一般情況下,通過運(yùn)行mysqld--wsrep-recover選項(xiàng),便能夠從error log中找到全局事務(wù)ID。

步驟S3:當(dāng)最大值的狀態(tài)ID對應(yīng)的節(jié)點(diǎn)服務(wù)啟動后,啟動所有其它節(jié)點(diǎn)的服務(wù),此時(shí)MariaDB Galera Cluster的全部節(jié)點(diǎn)的服務(wù)啟動,從而恢復(fù)云平臺的服務(wù)。

對于執(zhí)行非事務(wù)性操作時(shí)崩潰的MariaDB Galera Cluster,例如在執(zhí)行ALTER TABLE時(shí),此時(shí),seqno字段的值可能為-1,因而,所有節(jié)點(diǎn)的狀態(tài)ID上報(bào)至Etcd服務(wù)發(fā)現(xiàn)集群中后,依次遍歷節(jié)點(diǎn)的狀態(tài)ID,當(dāng)首次出現(xiàn)值為-1的狀態(tài)ID,則啟動該狀態(tài)ID對應(yīng)的節(jié)點(diǎn)的服務(wù),執(zhí)行數(shù)據(jù)庫恢復(fù)服務(wù),當(dāng)成功恢復(fù)一個(gè)節(jié)點(diǎn)后,啟動所有其它節(jié)點(diǎn)的服務(wù),從而恢復(fù)云平臺的服務(wù)。

當(dāng)節(jié)點(diǎn)掉電并上電后,通過將節(jié)點(diǎn)的狀態(tài)ID的值上報(bào)至Etcd服務(wù)發(fā)現(xiàn)集群中,比對找到狀態(tài)ID的值最大的節(jié)點(diǎn),并啟動該節(jié)點(diǎn)的服務(wù),然后啟動所有其它節(jié)點(diǎn)的服務(wù),從而自動恢復(fù)MariaDB Galera Cluster,且整個(gè)過程無需人工干預(yù),便能快速恢復(fù)云平臺服務(wù)。

本發(fā)明不局限于上述實(shí)施方式,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也視為本發(fā)明的保護(hù)范圍之內(nèi)。本說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1