午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

高可用高性能數(shù)據(jù)庫(kù)集群的實(shí)現(xiàn)方法及系統(tǒng)的制作方法

文檔序號(hào):8361600閱讀:543來(lái)源:國(guó)知局
高可用高性能數(shù)據(jù)庫(kù)集群的實(shí)現(xiàn)方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)庫(kù)集成系統(tǒng),特別涉及高可用高性能數(shù)據(jù)庫(kù)集群的實(shí)現(xiàn)方法及系 統(tǒng)。
【背景技術(shù)】
[0002] 當(dāng)前的數(shù)據(jù)庫(kù)主從架構(gòu)中主機(jī)和備機(jī)間的切換都采用手工切換。手工切換操作相 對(duì)復(fù)雜,數(shù)據(jù)庫(kù)停機(jī)時(shí)間較長(zhǎng),導(dǎo)致主機(jī)和備機(jī)之間數(shù)據(jù)庫(kù)同步數(shù)據(jù)時(shí),數(shù)據(jù)延時(shí)比較大, 系統(tǒng)不穩(wěn)定,數(shù)據(jù)丟失現(xiàn)象特別嚴(yán)重,無(wú)法滿足集群系統(tǒng)的高性能高可用性要求。

【發(fā)明內(nèi)容】

[0003] 本發(fā)明的目的在于提供一種高可用高性能的數(shù)據(jù)庫(kù)集群的實(shí)現(xiàn)方法及系統(tǒng),以解 決上述技術(shù)問(wèn)題的至少一個(gè)。
[0004] 根據(jù)本發(fā)明的一個(gè)方面,提供了一種高可用高性能的數(shù)據(jù)庫(kù)集群的實(shí)現(xiàn)方法,包 括:
[0005] A、在集群中的主機(jī)和備機(jī)上安裝分布式復(fù)制塊設(shè)備軟件、高可用集群組件和數(shù)據(jù) 庫(kù)多主軟件的所有依賴包;
[0006] B、在集群中的主機(jī)和備機(jī)上搭建分布式復(fù)制塊設(shè)備軟件環(huán)境,使備機(jī)能夠從主機(jī) 服務(wù)器同步數(shù)據(jù);
[0007] C、在集群中的主機(jī)和備機(jī)上搭建高可用集群組件環(huán)境;
[0008] D、在集群中的主機(jī)、備機(jī)和從機(jī)節(jié)點(diǎn)上搭建數(shù)據(jù)庫(kù)多主環(huán)境;
[0009] E、在集群中的主機(jī)和備機(jī)上進(jìn)行資源定義,使集群中的主機(jī)和備機(jī)能夠相互切 換,從機(jī)能夠訪問(wèn)主機(jī)或備機(jī)的數(shù)據(jù)庫(kù)服務(wù),實(shí)現(xiàn)對(duì)外提供不間斷的數(shù)據(jù)庫(kù)集群服務(wù)。
[0010] 數(shù)據(jù)庫(kù)集群中的主機(jī)和備機(jī)利用分布式復(fù)制塊設(shè)備軟件實(shí)現(xiàn)數(shù)據(jù)的高效同步,使 數(shù)據(jù)零丟失,并通過(guò)高可用集群組件有效監(jiān)聽(tīng)服務(wù)器的工作狀態(tài),使發(fā)生故障時(shí)主備機(jī)能 夠快速切換,從而實(shí)現(xiàn)對(duì)外提供不間斷的數(shù)據(jù)庫(kù)服務(wù);而數(shù)據(jù)庫(kù)多主環(huán)境提供了數(shù)據(jù)庫(kù)的 多主節(jié)點(diǎn)擴(kuò)展功能,使多臺(tái)計(jì)算機(jī)能夠同時(shí)處理復(fù)雜數(shù)據(jù)問(wèn)題,實(shí)現(xiàn)了高性能的數(shù)據(jù)庫(kù)集 群服務(wù)。由此,通過(guò)本方法,搭建了高可用高性能的數(shù)據(jù)庫(kù)集群。
[0011] 在一些實(shí)施方式中,數(shù)據(jù)庫(kù)是MySQL、Oracle或DB2。由此,可以在不同類型的數(shù) 據(jù)庫(kù)環(huán)境中提供高可用高性能集群服務(wù)。
[0012] 在一些實(shí)施方式中,步驟B進(jìn)一步包括:在集群中的主機(jī)和備機(jī)上安裝分布式復(fù) 制塊設(shè)備軟件,并對(duì)安裝的分布式復(fù)制塊設(shè)備軟件的配置文件進(jìn)行配置設(shè)定,創(chuàng)建分布式 復(fù)制塊設(shè)備軟件的塊設(shè)備資源,激活資源,使備機(jī)能夠從主機(jī)同步數(shù)據(jù)。由此,使集群中的 主、備機(jī)能夠利用創(chuàng)建好的資源名使用DRBD的硬件設(shè)備實(shí)現(xiàn)塊設(shè)備復(fù)制,以快速高效同步 數(shù)據(jù)。
[0013] 在一些實(shí)施方式中,步驟C包括:在集群中的主機(jī)和備機(jī)上安裝高可用集群組件, 并對(duì)安裝的高可用集群組件進(jìn)行配置信息的設(shè)定,使主機(jī)和備機(jī)能夠在發(fā)生故障時(shí)相互切 換以提供不間斷的服務(wù)資源,配置信息包括心跳間隔時(shí)間、廣播接口、心跳延遲時(shí)間、切換 時(shí)間、主機(jī)節(jié)點(diǎn)名稱及備機(jī)節(jié)點(diǎn)名稱。由此,主備機(jī)節(jié)點(diǎn)就能夠通過(guò)接收對(duì)方的心跳信號(hào)監(jiān) 聽(tīng)對(duì)方的狀態(tài),當(dāng)其中一個(gè)節(jié)點(diǎn)出現(xiàn)故障不能正常發(fā)出信號(hào),另一個(gè)節(jié)點(diǎn)就托管服務(wù)資源, 實(shí)現(xiàn)快速切換。
[0014] 在一些實(shí)施方式中,步驟E包括:配置集群的主、備機(jī)集群資源信息,使主機(jī)和備 機(jī)能夠通過(guò)虛擬IP相互切換,從機(jī)能夠使用虛擬IP訪問(wèn)主機(jī)或備機(jī)的數(shù)據(jù)庫(kù)服務(wù),該信息 包括指定雙機(jī)系統(tǒng)的主節(jié)點(diǎn)、集群虛擬IP、子網(wǎng)掩碼、廣播地址及啟動(dòng)的服務(wù)。由此,使集群 系統(tǒng)的主、備機(jī)上搭建的分布式復(fù)制塊設(shè)備軟件、高可用集群組件及數(shù)據(jù)庫(kù)多主軟件環(huán)境 能夠整合在一起,相互協(xié)作,實(shí)現(xiàn)數(shù)據(jù)庫(kù)集群系統(tǒng)的高可用高性能。
[0015] 在一些實(shí)施方式中,搭建環(huán)境時(shí),各軟件的安裝采用源碼安裝的方式。源碼安裝相 對(duì)于Linux操作系統(tǒng)下常用的yum安裝,需要自行進(jìn)行配置設(shè)定和編譯操作,且安裝過(guò)程中 需要解決包的依賴問(wèn)題,操作難度更大,但編譯過(guò)程中可以設(shè)定參數(shù)和按照需求選擇版本, 由此,用戶在安裝的過(guò)程中可根據(jù)環(huán)境需求實(shí)現(xiàn)定制化安裝。
[0016] 在一些實(shí)施方式中,該方法還包括:將搭建環(huán)境時(shí)各組成部件的組合步驟編寫(xiě)生 成為shell腳本,該shell腳本至少包含啟動(dòng)、停止、查看狀態(tài)的功能。由此,第一次搭建和 配置環(huán)境之后,再次使用,只用運(yùn)行已生成的shell腳本即可,簡(jiǎn)化了操作流程,使用更方 便快捷。并且,根據(jù)本發(fā)明的方法生成的shell腳本,與現(xiàn)有技術(shù)相比,內(nèi)容簡(jiǎn)短了很多。
[0017] 另外,本發(fā)明還公開(kāi)了一種高可用高性能數(shù)據(jù)庫(kù)集群系統(tǒng)。該系統(tǒng)包括:高可用集 群和高性能集群,其中,高可用集群包括主機(jī)和備機(jī),主機(jī)和備機(jī)上安裝有分布式復(fù)制塊設(shè) 備軟件、高可用集群組件和MySQL多主軟件的所有依賴包,搭建有分布式復(fù)制塊設(shè)備軟件 模塊、高可用集群組件模塊和數(shù)據(jù)庫(kù)多主模塊環(huán)境。
[0018] 其中,分布式復(fù)制塊設(shè)備軟件模塊使備機(jī)能夠從主機(jī)服務(wù)器同步數(shù)據(jù),高可用集 群組件模塊,使備機(jī)能夠監(jiān)聽(tīng)主機(jī)的工作狀態(tài);
[0019] 高性能集群,包括虛擬IP主機(jī)和至少一臺(tái)從機(jī),從機(jī)上安裝有數(shù)據(jù)庫(kù)多主模塊;
[0020] 高可用集群組件模塊中包括資源定義單元,通過(guò)資源定義單元實(shí)現(xiàn)對(duì)集群中的主 機(jī)和備機(jī)的資源定義,使高可用集群的主機(jī)和備機(jī)能夠相互切換,從機(jī)能夠?qū)χ鳈C(jī)或備機(jī) 進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn),對(duì)外提供不間斷的高可用高性能集群服務(wù)。
[0021] 數(shù)據(jù)庫(kù)集群中的主機(jī)和備機(jī)利用分布式復(fù)制塊設(shè)備軟件模塊實(shí)現(xiàn)數(shù)據(jù)的高效同 步,使數(shù)據(jù)零丟失,并通過(guò)高可用集群組件模塊有效監(jiān)聽(tīng)服務(wù)器的工作狀態(tài),使發(fā)生故障時(shí) 主備機(jī)能夠快速切換,從而實(shí)現(xiàn)對(duì)外提供不間斷的數(shù)據(jù)庫(kù)服務(wù);而數(shù)據(jù)庫(kù)多主模塊提供了 數(shù)據(jù)庫(kù)的多主節(jié)點(diǎn)擴(kuò)展功能,使多臺(tái)計(jì)算機(jī)能夠同時(shí)處理復(fù)雜數(shù)據(jù)問(wèn)題,實(shí)現(xiàn)了高性能的 數(shù)據(jù)庫(kù)集群服務(wù)。由此,通過(guò)本系統(tǒng),數(shù)據(jù)庫(kù)集群能夠?qū)ν馓峁└呖捎酶咝阅艿臄?shù)據(jù)服務(wù)。
[0022] 在一些實(shí)施方式中,數(shù)據(jù)庫(kù)是MySQL、Oracle或DB2。由此,可以在不同類型的數(shù) 據(jù)庫(kù)環(huán)境中提供高可用高性能集群服務(wù)。
[0023] 在一些實(shí)施方式中,分布式復(fù)制塊設(shè)備軟件模塊包括配置信息單元,設(shè)置為在主 機(jī)和備機(jī)上對(duì)安裝的分布式復(fù)制塊設(shè)備軟件的配置文件進(jìn)行配置設(shè)定,并創(chuàng)建分布式復(fù)制 塊設(shè)備軟件的設(shè)備資源,激活資源,使備機(jī)能夠從主機(jī)同步數(shù)據(jù)。由此,使集群中的主、備機(jī) 能夠利用創(chuàng)建好的資源名使用DRBD的硬件設(shè)備實(shí)現(xiàn)塊設(shè)備復(fù)制,以快速高效同步數(shù)據(jù)。
[0024] 在一些實(shí)施方式中,高可用集群組件模塊還包括配置信息單元,設(shè)置為在主機(jī)和 備機(jī)上對(duì)安裝的高可用集群組件進(jìn)行配置信息的設(shè)定,使主機(jī)和備機(jī)能夠在發(fā)生故障時(shí)相 互切換以提供不間斷的服務(wù)資源,配置信息包括心跳間隔時(shí)間、廣播接口、心跳延遲時(shí)間、 切換時(shí)間、主機(jī)節(jié)點(diǎn)名稱及備機(jī)節(jié)點(diǎn)名稱。由此,主備機(jī)節(jié)點(diǎn)就能夠通過(guò)接收對(duì)方的心跳信 號(hào)監(jiān)聽(tīng)對(duì)方的狀態(tài),當(dāng)其中一個(gè)節(jié)點(diǎn)出現(xiàn)故障不能正常發(fā)出信號(hào),另一個(gè)節(jié)點(diǎn)就托管服務(wù) 資源,實(shí)現(xiàn)快速切換。
[0025] 在一些實(shí)施方式中,通過(guò)資源定義單元設(shè)置集群系統(tǒng)的主、備機(jī)集群資源信息,使 主機(jī)和備機(jī)能夠通過(guò)虛擬IP進(jìn)行切換,從機(jī)能夠使用虛擬IP對(duì)主機(jī)或備機(jī)進(jìn)行數(shù)據(jù)庫(kù)訪 問(wèn),該信息包括:指定雙機(jī)系統(tǒng)的主節(jié)點(diǎn)、集群虛擬IP、子網(wǎng)掩碼、廣播地址及啟動(dòng)的服務(wù)。 由此,使集群系統(tǒng)的主、備機(jī)上搭建的分布式復(fù)制塊設(shè)備軟件、高可用集群組件及數(shù)據(jù)庫(kù)多 主軟件環(huán)境能夠整合在一起,相互協(xié)作,實(shí)現(xiàn)數(shù)據(jù)庫(kù)集群系統(tǒng)的高可用高性能。
[0026] 在一些實(shí)施方式中,還包括:腳本生成模塊,設(shè)置為將搭建環(huán)境時(shí)各組成部件的組 合步驟編寫(xiě)生成為一個(gè)shell腳本,該shell腳本至少包含啟動(dòng)、停止、查看狀態(tài)的功能。由 此,第一次搭建和配置環(huán)境之后,再次使用,只用運(yùn)行已生成的shell腳本即可,簡(jiǎn)化了操 作流程,使用更方便快捷。并且,根據(jù)本發(fā)明的方法生成的shell腳本,與現(xiàn)有技術(shù)相比,內(nèi) 容簡(jiǎn)短了很多。
[0027] 通過(guò)本發(fā)明提供的方法和系統(tǒng),高可用集群中的主機(jī)和備機(jī)可以來(lái)回快速高效切 換,數(shù)據(jù)延時(shí)小,數(shù)據(jù)丟失可達(dá)到幾乎為零,數(shù)據(jù)保護(hù)級(jí)別高;高性能集群中的從機(jī)節(jié)點(diǎn)可 以從虛擬IP所在機(jī)同步數(shù)據(jù),多臺(tái)計(jì)算機(jī)能同時(shí)高效處理復(fù)雜數(shù)據(jù)問(wèn)題。由此,實(shí)現(xiàn)了對(duì) 外提供高可用高性能的集群數(shù)據(jù)庫(kù)服務(wù)的功能。
【附圖說(shuō)明】
[0028] 圖1為本發(fā)明一實(shí)施方式的基于MySQL數(shù)據(jù)庫(kù)的高性能高可用集群的實(shí)現(xiàn)方法的 流程示意圖;
[0029] 圖2為圖1所示實(shí)施方式中實(shí)現(xiàn)的基于MySQL數(shù)據(jù)庫(kù)的高性能高可用集群的系統(tǒng) 架構(gòu)示意圖。
【具體實(shí)施方式】
[0030] 下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
[0031] 圖1示意性地顯示了根據(jù)本發(fā)明的一種實(shí)施方式的基于MySQL數(shù)據(jù)庫(kù)的高性能高 可用集群的實(shí)現(xiàn)方法。圖2示意性地顯示了根據(jù)圖1所示實(shí)施方式的基于MySQL數(shù)據(jù)庫(kù)的 高性能高可用集群的系統(tǒng)的框架圖。
[0032] 在本實(shí)施方式的服務(wù)器環(huán)境搭建中,操作系統(tǒng)選用CentOS6. 4x86_64版本,分布 式復(fù)制塊設(shè)備軟件選用DRBD8313的版本,高可用集群組件選用Heartbeat-3037版本,數(shù)據(jù) 庫(kù)選用MySQL,多主軟件選用MySQLGalera5. 5. 29的版本。
[0033] 在本發(fā)明提出之前,上述各軟件之間的組合難度過(guò)大,要編寫(xiě)的shell腳本也較 多。以前數(shù)據(jù)庫(kù)集群架構(gòu)是采用主從結(jié)構(gòu),當(dāng)主機(jī)發(fā)生故障時(shí),從機(jī)從主機(jī)復(fù)制數(shù)據(jù)進(jìn)行冗 余配置暫時(shí)接管主機(jī)對(duì)外提供數(shù)據(jù)庫(kù)服務(wù),但主從架構(gòu)中從機(jī)復(fù)制主機(jī)的數(shù)據(jù)并不是同步 的,所以只能提供高冗余級(jí)的數(shù)據(jù)庫(kù)服務(wù)。在本發(fā)明中,使用Galera將多個(gè)MySQL節(jié)點(diǎn)組 織成一個(gè)cluster多主集群,所有的節(jié)點(diǎn)都能夠自動(dòng)同步數(shù)據(jù),并且所有節(jié)點(diǎn)都可以同時(shí) 讀寫(xiě)數(shù)據(jù)庫(kù)。由此,在同步多主集群軟件的架構(gòu)下,組合分布式復(fù)制塊設(shè)備DRBD及高可用 集群組件Heartbeat,就可以實(shí)現(xiàn)高可用高冗余的數(shù)據(jù)庫(kù)集群服務(wù)。
[0034] 分布式復(fù)制塊設(shè)備(DRBD,DistributedReplicatedBlockDevice)是一種基 于Linux的軟件組件,它是由內(nèi)核模塊和相關(guān)程序而組成的,通過(guò)網(wǎng)絡(luò)鏡像促進(jìn)共享存儲(chǔ) 系統(tǒng)的替換。也就是說(shuō),當(dāng)將數(shù)據(jù)寫(xiě)入本地的DRBD設(shè)備上的文件系統(tǒng)時(shí),數(shù)據(jù)會(huì)同時(shí)被發(fā) 送到網(wǎng)絡(luò)中的另一臺(tái)主機(jī)上,并以完全相同的形式記錄在一個(gè)文件系統(tǒng)中,由此本地節(jié)點(diǎn) (主機(jī))與遠(yuǎn)程節(jié)點(diǎn)(備機(jī))的數(shù)據(jù)可以保證實(shí)時(shí)的同步,并保證讀寫(xiě)的一致性,當(dāng)本地 節(jié)點(diǎn)出現(xiàn)故障時(shí),遠(yuǎn)程節(jié)點(diǎn)上還會(huì)保留有一份完全相同的數(shù)據(jù),可以繼續(xù)使用,以達(dá)到高可 用的目的。DRBD需要構(gòu)建在底層設(shè)備之上,然后構(gòu)建出一個(gè)塊設(shè)備。對(duì)于用戶而言,一個(gè) DRBD設(shè)備,就像是一塊物理磁盤(pán),可以在其上創(chuàng)建文件系統(tǒng)。DRBD所支持的底層設(shè)備的類 型包括:一個(gè)磁盤(pán)或者磁盤(pán)的某一個(gè)分區(qū)、一個(gè)軟盤(pán)設(shè)備、一個(gè)邏輯卷、一個(gè)企業(yè)卷管理系 統(tǒng)(EVMS,)的卷及其他任何塊設(shè)備。而當(dāng)遇到故障時(shí),真正的切換是通過(guò)Heartbeat來(lái)實(shí) 現(xiàn),它通過(guò)在服務(wù)器上綁定虛擬IP,對(duì)外通過(guò)虛擬IP提供服務(wù),實(shí)現(xiàn)故障轉(zhuǎn)移,達(dá)到高可用 的目的。
[0035] 由于當(dāng)前MySQLMaster/Slave架構(gòu)中的數(shù)據(jù)延時(shí)比較大,所以選擇Percona Galera。
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1