王學(xué)志 馬林 孫寶真
(邯鋼自動(dòng)化部信息技術(shù)中心)
摘 要:信息化技術(shù)高速發(fā)展,信息化安全保障越來(lái)越重要,尤其是數(shù)據(jù)安全問(wèn)題成了重中之重,因?yàn)閿?shù)據(jù)對(duì)于很多的企業(yè)是非常重要的,在系統(tǒng)實(shí)踐過(guò)程中,數(shù)據(jù)庫(kù)為了更好保證數(shù)據(jù)的安全性、穩(wěn)定性、數(shù)據(jù)完整性的運(yùn)行,我們提供了一種高可用的數(shù)據(jù)庫(kù)設(shè)計(jì)方案,數(shù)據(jù)庫(kù)會(huì)采取雙主機(jī)熱備方式保證在一個(gè)數(shù)據(jù)庫(kù)出問(wèn)題的時(shí)候,自動(dòng)連接上另外一個(gè)數(shù)據(jù)庫(kù)。實(shí)現(xiàn)無(wú)縫切換數(shù)據(jù)庫(kù)。同時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行的每天兩次定時(shí)的備份。最大限度的保證的企業(yè)數(shù)據(jù)的安全。
關(guān)鍵詞:數(shù)據(jù)庫(kù)高可用性;linux雙主熱備;數(shù)據(jù)庫(kù)主備同步;數(shù)據(jù)庫(kù)自動(dòng)切換
1 背景
以前系統(tǒng)在設(shè)計(jì)時(shí)候,數(shù)據(jù)庫(kù)一般就一臺(tái),這種設(shè)計(jì)本身是沒有問(wèn)題,一臺(tái)服務(wù)能夠更好的保證數(shù)據(jù)的一致性,但是隨著數(shù)據(jù)量和業(yè)務(wù)的不斷的增加,數(shù)據(jù)庫(kù)的壓力越來(lái)越大,很難保證數(shù)據(jù)庫(kù)不出問(wèn)題,只要這個(gè)數(shù)據(jù)庫(kù)出了故障(數(shù)據(jù)庫(kù)宕機(jī)、數(shù)據(jù)庫(kù)服務(wù)器脫機(jī)等),整個(gè)系統(tǒng)就無(wú)法運(yùn)行,為了更好的解決這個(gè)問(wèn)題,我們將數(shù)據(jù)庫(kù)設(shè)計(jì)成兩臺(tái),采用雙主熱備的方式,當(dāng)其中的一臺(tái)數(shù)據(jù)庫(kù)故障,另外一臺(tái)機(jī)器自動(dòng)接管,保證系統(tǒng)前臺(tái)正常的使用。
近期邯鋼自動(dòng)化部信息技術(shù)中心承接了邯鋼集團(tuán)恒生資源倉(cāng)儲(chǔ)系統(tǒng)的項(xiàng)目建設(shè),由于業(yè)務(wù)是24小時(shí)不間斷運(yùn)行,因此必須保證系統(tǒng)和數(shù)據(jù)的穩(wěn)定性,為了保證系統(tǒng)數(shù)據(jù)的安全、穩(wěn)定,我們特意準(zhǔn)備了兩太臺(tái)數(shù)據(jù)庫(kù)服務(wù)器,進(jìn)行主備數(shù)據(jù)實(shí)時(shí)的備份,并且對(duì)數(shù)據(jù)庫(kù)每天進(jìn)行兩個(gè)的定時(shí)備份,數(shù)據(jù)庫(kù)文件保留10天的備份記錄
2 技術(shù)選型
目前數(shù)據(jù)庫(kù)的高可用設(shè)計(jì)市面上存在多種方案有雙機(jī)高可用方案、主從結(jié)構(gòu)方案、一主多從+讀寫分離等。
高可用方案
特點(diǎn):
一臺(tái)機(jī)器A作為讀寫庫(kù),另一臺(tái)B作為備份庫(kù);A庫(kù)故障后B庫(kù)作為讀寫庫(kù);A庫(kù)恢復(fù)后A作為備庫(kù)。
使用場(chǎng)景:
讀和寫都不高的場(chǎng)景(單表數(shù)據(jù)低于500萬(wàn)),雙機(jī)高可用。
主從結(jié)構(gòu)方案
特點(diǎn):
一臺(tái)機(jī)器A作為寫庫(kù),另一臺(tái)B作為讀庫(kù);A庫(kù)故障后B庫(kù)充當(dāng)讀寫,A修復(fù)后,B庫(kù)為寫庫(kù),A庫(kù)為讀庫(kù)。
使用場(chǎng)景:
讀和寫都不是非常高的場(chǎng)景(單表數(shù)據(jù)低于1000萬(wàn)),高可用。比方案一并發(fā)要高很多。
一主多從+讀寫分離
特點(diǎn):
一個(gè)主寫庫(kù)A多個(gè)從庫(kù),當(dāng)主庫(kù)A故障時(shí),提升從庫(kù)B為主寫庫(kù),同時(shí)修改C、D庫(kù)為B的從庫(kù)。A故障修復(fù)后,作為B的從庫(kù)。
使用場(chǎng)景:
該架構(gòu)適合寫并發(fā)不大、但是讀并發(fā)大的很的場(chǎng)景
同時(shí)每個(gè)方案有的不同的使用場(chǎng)景,不同的數(shù)據(jù)庫(kù)有著不同設(shè)計(jì)方案,我們使用的是mysql數(shù)據(jù)庫(kù),我們根據(jù)實(shí)際的業(yè)務(wù)場(chǎng)景,最終選用雙機(jī)高可用方案作為最終的技術(shù)選型。
3 基于keepalived的VRRP協(xié)議方式,實(shí)現(xiàn)數(shù)據(jù)庫(kù)高可用
Keepalived 是一種高性能的服務(wù)器高可用或熱備解決方案, Keepalived 可以用來(lái)防止服務(wù)器單點(diǎn)故障的發(fā)生,通過(guò)兩臺(tái)或者多臺(tái)實(shí)現(xiàn)高可用性
Keepalived 以 VRRP 協(xié)議為實(shí)現(xiàn)基礎(chǔ),用 VRRP 協(xié)議來(lái)實(shí)現(xiàn)高可用性(HA)。 VRRP(Virtual RouterRedundancy Protocol)協(xié)議是用于實(shí)現(xiàn)路由器冗余的協(xié)議, VRRP 協(xié)議將兩臺(tái)或多臺(tái)路由器設(shè)備虛擬成一個(gè)設(shè)備,對(duì)外提供虛擬路由器 IP(一個(gè)或多個(gè)),而在路由器組內(nèi)部,如果實(shí)際擁有這個(gè)對(duì)外 IP 的路由器如果工作正常的話就是 MASTER,或者是通過(guò)算法選舉產(chǎn)生, MASTER 實(shí)現(xiàn)針對(duì)虛擬路由器 IP 的各種網(wǎng)絡(luò)功能,如 ARP 請(qǐng)求, ICMP,以及數(shù)據(jù)的轉(zhuǎn)發(fā)等;其他設(shè)備不擁有該虛擬 IP,狀態(tài)是 BACKUP,除了接收 MASTER 的VRRP 狀態(tài)通告信息外,不執(zhí)行對(duì)外的網(wǎng)絡(luò)功能。當(dāng)主機(jī)失效時(shí), BACKUP 將接管原先 MASTER 的網(wǎng)絡(luò)功能。VRRP 協(xié)議使用多播數(shù)據(jù)來(lái)傳輸 VRRP 數(shù)據(jù), VRRP 數(shù)據(jù)使用特殊的虛擬源 MAC 地址發(fā)送數(shù)據(jù)而不是自身網(wǎng)卡的 MAC 地址, VRRP 運(yùn)行時(shí)只有 MASTER 路由器定時(shí)發(fā)送 VRRP 通告信息,表示 MASTER 工作正常以及虛擬路由器 IP(組), BACKUP 只接收 VRRP 數(shù)據(jù),不發(fā)送數(shù)據(jù),如果一定時(shí)間內(nèi)沒有接收到 MASTER 的通告信息,各 BACKUP 將宣告自己成為 MASTER,發(fā)送通告信息,重新進(jìn)行 MASTER 選舉狀態(tài)。
4 設(shè)計(jì)網(wǎng)絡(luò)拓?fù)鋱D
數(shù)據(jù)庫(kù)是放在兩個(gè)物理機(jī)上并且都安裝了高可用的集群keepalived軟件,兩個(gè)數(shù)據(jù)庫(kù)之間數(shù)據(jù)是實(shí)時(shí)同步,然后虛擬出來(lái)一個(gè)IP,系統(tǒng)連接數(shù)據(jù)庫(kù)是虛擬IP,虛擬IP默認(rèn)連接其中的一個(gè)數(shù)據(jù)庫(kù)的物理機(jī)作為主機(jī),當(dāng)主機(jī)出現(xiàn)問(wèn)題時(shí)候,自動(dòng)切換備數(shù)據(jù)庫(kù)。
5 工具使用介紹
6 結(jié)語(yǔ)
隨著信息化的逐步深入,各個(gè)企業(yè)都在建立自己的信息化系統(tǒng),其中的數(shù)據(jù)安全對(duì)于企業(yè)來(lái)講是非常重要的,數(shù)據(jù)的丟失會(huì)對(duì)企業(yè)造成很大的損失,然而數(shù)據(jù)庫(kù)是存儲(chǔ)數(shù)據(jù)的載體,建設(shè)高可用性數(shù)據(jù)庫(kù),是為了更好的解決企業(yè)數(shù)據(jù)安全,保證企業(yè)的信息系統(tǒng)能夠平穩(wěn)運(yùn)行的一個(gè)非常重要技術(shù)手段。
