一種用于提高db2 dpf可用性的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)庫技術(shù)領(lǐng)域,特別涉及一種用于提高DB2 DPF可用性的方法及系統(tǒng)。
【背景技術(shù)】
[0002]DB2是IBM公司開發(fā)的一套關(guān)系型數(shù)據(jù)庫管理系統(tǒng),可以應(yīng)用到多種操作系統(tǒng)。DPF (DPF,即Database Partit1n Feature,數(shù)據(jù)庫分區(qū)特性)是DB2的多分區(qū)數(shù)據(jù)庫,它可以將一個大型數(shù)據(jù)庫分割成多個數(shù)據(jù)庫分區(qū),不同的數(shù)據(jù)庫分區(qū)可以運(yùn)行在不同的節(jié)點(diǎn)下,并且通過采用非共享架構(gòu)模式,使得DPF的多個數(shù)據(jù)庫分區(qū)可以利用并行工作的方式對工作負(fù)載進(jìn)行處理。
[0003]然而,當(dāng)DPF中的任一節(jié)點(diǎn)出現(xiàn)故障時,由于DPF采用的是非共享架構(gòu)模式,從而使得客戶端的應(yīng)用無法訪問到該出現(xiàn)故障的節(jié)點(diǎn)下的分區(qū)數(shù)據(jù),這即是DPF所存在的單點(diǎn)故障問題。可見,DPF自身所存在的單點(diǎn)故障問題使得其可用性較低,降低了用戶體驗(yàn)。
[0004]綜上所述可以看出,如何消除DPF的單點(diǎn)故障,以提高DPF的可用性是目前亟待解決的問題。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明的目的在于提供一種用于提高DB2 DPF可用性的方法及系統(tǒng),消除了 DPF的單點(diǎn)故障,從而提高了 DPF的可用性。其具體方案如下:
[0006]一種用于提高DB2 DPF可用性的方法,應(yīng)用于DB2 DPF,所述DB2 DPF包括N個節(jié)點(diǎn),其中,N為不小于2的整數(shù);所述方法包括:
[0007]分配NAS網(wǎng)絡(luò)存儲給所述N個節(jié)點(diǎn),以利用所述NAS網(wǎng)絡(luò)存儲存放所述DB2 DPF中的sqllib控制文件;
[0008]為所述N個節(jié)點(diǎn)分配共享存儲,并在所述N個節(jié)點(diǎn)之間搭建集群;
[0009]創(chuàng)建M個失效資源組,其中,M為不大于N的正整數(shù);
[0010]將所述N個節(jié)點(diǎn)分成M組,得到M組節(jié)點(diǎn),其中,每一組節(jié)點(diǎn)至少包括一個節(jié)點(diǎn);分別將所述M組節(jié)點(diǎn)中每一組節(jié)點(diǎn)所對應(yīng)的分區(qū)資源一一對應(yīng)地配置到所述M個失效資源組;
[0011]當(dāng)所述N個節(jié)點(diǎn)中的任一個節(jié)點(diǎn)出現(xiàn)故障后,將該出現(xiàn)故障的節(jié)點(diǎn)所對應(yīng)的失效資源組掛載到其他任一能夠正常工作的節(jié)點(diǎn)上。
[0012]優(yōu)選的,所述為所述N個節(jié)點(diǎn)分配共享存儲的過程之后還包括:
[0013]對所述DB2 DPF的數(shù)據(jù)庫管理參數(shù)和數(shù)據(jù)庫參數(shù)進(jìn)行優(yōu)化。
[0014]優(yōu)選的,所述分別將所述M組節(jié)點(diǎn)中每一組節(jié)點(diǎn)所對應(yīng)的分區(qū)資源一一對應(yīng)地配置到所述M個失效資源組的過程之后還包括:
[0015]對所述M個失效資源組中配置的分區(qū)資源進(jìn)行資源監(jiān)控。
[0016]優(yōu)選的,所述分別將所述M組節(jié)點(diǎn)中每一組節(jié)點(diǎn)所對應(yīng)的分區(qū)資源一一對應(yīng)地配置到所述M個失效資源組的過程之后還包括:
[0017]對浮動IP和網(wǎng)卡進(jìn)行監(jiān)控。
[0018]本發(fā)明還公開了一種用于提高DB2 DPF可用性的系統(tǒng),應(yīng)用于DB2 DPF,所述DB2DPF包括N個節(jié)點(diǎn),其中,N為不小于2的整數(shù);所述系統(tǒng)包括:
[0019]網(wǎng)絡(luò)存儲分配模塊,用于分配NAS網(wǎng)絡(luò)存儲給所述N個節(jié)點(diǎn),以利用所述NAS網(wǎng)絡(luò)存儲存放所述DB2 DPF中的sqllib控制文件;
[0020]共享存儲分配模塊,用于為所述N個節(jié)點(diǎn)分配共享存儲;
[0021]集群搭建模塊,用于在所述N個節(jié)點(diǎn)之間搭建集群;
[0022]資源組創(chuàng)建模塊,用于創(chuàng)建M個失效資源組,其中,M為不大于N的正整數(shù);
[0023]分區(qū)資源配置模塊,用于將所述N個節(jié)點(diǎn)分成M組,得到M組節(jié)點(diǎn),其中,每一組節(jié)點(diǎn)至少包括一個節(jié)點(diǎn);分別將所述M組節(jié)點(diǎn)中每一組節(jié)點(diǎn)所對應(yīng)的分區(qū)資源一一對應(yīng)地配置到所述M個失效資源組;
[0024]資源組掛載模塊,用于當(dāng)所述N個節(jié)點(diǎn)中的任一個節(jié)點(diǎn)出現(xiàn)故障后,將該出現(xiàn)故障的節(jié)點(diǎn)所對應(yīng)的失效資源組掛載到其他任一能夠正常工作的節(jié)點(diǎn)上。
[0025]優(yōu)選的,所述共享存儲分配模塊為SAN存儲管理器。
[0026]優(yōu)選的,所述系統(tǒng)還包括:
[0027]參數(shù)優(yōu)化模塊,用于對所述DB2 DPF的數(shù)據(jù)庫管理參數(shù)和數(shù)據(jù)庫參數(shù)進(jìn)行優(yōu)化。
[0028]優(yōu)選的,所述系統(tǒng)還包括:
[0029]資源監(jiān)控模塊,用于對所述M個失效資源組中配置的分區(qū)資源進(jìn)行資源監(jiān)控。
[0030]優(yōu)選的,所述系統(tǒng)還包括:
[0031]IP監(jiān)控模塊,用于對浮動IP進(jìn)行監(jiān)控;
[0032]網(wǎng)卡監(jiān)控模塊,用于對網(wǎng)卡進(jìn)行監(jiān)控。
[0033]優(yōu)選的,所述N個節(jié)點(diǎn)為2個節(jié)點(diǎn),所述M個失效資源組為2個失效資源組。
[0034]本發(fā)明公開的方法應(yīng)用于包括有N個節(jié)點(diǎn)的DB2 DPF,該方法先給上述N個節(jié)點(diǎn)分配NAS網(wǎng)絡(luò)存儲,以利用NAS網(wǎng)絡(luò)存儲來存放DPF中的sqllib控制文件;在此基礎(chǔ)上,為上述N個節(jié)點(diǎn)分配共享存儲,并在這N個節(jié)點(diǎn)之間搭建集群;然后創(chuàng)建M個失效資源組,相應(yīng)的,將N個節(jié)點(diǎn)分成M組,每一組節(jié)點(diǎn)至少包括一個節(jié)點(diǎn);接著分別將M組節(jié)點(diǎn)中每一組節(jié)點(diǎn)所對應(yīng)的分區(qū)資源一一對應(yīng)地配置到M個失效資源組;當(dāng)N個節(jié)點(diǎn)中的任一個節(jié)點(diǎn)出現(xiàn)故障后,將該出現(xiàn)故障的節(jié)點(diǎn)所對應(yīng)的失效資源組掛載到其他任一能夠正常工作的節(jié)點(diǎn)上,這樣,客戶端的應(yīng)用可以通過訪問這個掛載了故障節(jié)點(diǎn)所對應(yīng)的失效資源組的節(jié)點(diǎn),從而獲取到上述故障節(jié)點(diǎn)對應(yīng)的失效資源組中所配置的分區(qū)資源,也即獲取到故障節(jié)點(diǎn)所對應(yīng)的分區(qū)資源,由此消除了 DPF的單點(diǎn)故障,保證了 DPF在出現(xiàn)單點(diǎn)故障的情況下依然可以正常地向外界提供數(shù)據(jù)服務(wù),從而提高了 DPF的可用性。
【附圖說明】
[0035]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0036]圖1為本發(fā)明實(shí)施例公開的一種用于提高DB2 DPF可用性的方法流程圖;
[0037]圖2為本發(fā)明實(shí)施例公開的一種用于提高DB2 DPF可用性的系統(tǒng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0038]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0039]本發(fā)明實(shí)施例公開了一種用于提高DB2 DPF可用性的方法,應(yīng)用于DB2 DPF,DB2DPF包括N個節(jié)點(diǎn),其中,N為不小于2的整數(shù);參見圖1所示,該方法包括:
[0040]步驟SlOl:分配NAS網(wǎng)絡(luò)存儲給N個節(jié)點(diǎn),以利用NAS網(wǎng)絡(luò)存儲存放DB2 DPF中的sqllib控制文件。
[0041]需要說明的是,在現(xiàn)有的DB2 DPF中,sqllib控制文件是存放在DPF的任意一個節(jié)點(diǎn)上,然后通過該節(jié)點(diǎn)的NFS服務(wù)(NFS,即Network File System,網(wǎng)絡(luò)文件系統(tǒng))將sqllib目錄共享給其他節(jié)點(diǎn),這樣,當(dāng)該節(jié)點(diǎn)的NFS服務(wù)出現(xiàn)故障后,則通過NFS服務(wù)共享的sqllib目錄將會因?yàn)閜ing不到NFS服務(wù)而無法完成掛載和解掛的切換過程。針對這種問題,本發(fā)明實(shí)施例通過將sqllib控制文件存放在NAS網(wǎng)絡(luò)存儲中,此時其與DPF中任意節(jié)點(diǎn)的NFS服務(wù)故障狀態(tài)無關(guān),也即,此時DPF任意節(jié)點(diǎn)的故障狀態(tài)無法對sqllib目錄的掛載或者解掛造成影響,從而相應(yīng)地解決了現(xiàn)有技術(shù)中的問題。
[0042]步驟S102:為N個節(jié)點(diǎn)分配共享存儲,并在N個節(jié)點(diǎn)之間搭建集群。
[0043]步驟S103:創(chuàng)建M個失效資源組,其中,M為不大于N的正整數(shù)。
[0044]步驟S104:將N個節(jié)點(diǎn)分成M組,得到M組節(jié)點(diǎn),其中,每一組節(jié)點(diǎn)至少包括一個節(jié)點(diǎn);分別將M組節(jié)點(diǎn)中每一組節(jié)點(diǎn)所對應(yīng)的分區(qū)資源一一對應(yīng)地配置到M個失效資源組。
[0045]步驟S105:當(dāng)N個節(jié)點(diǎn)中的任一個節(jié)點(diǎn)出現(xiàn)故障后,將該出現(xiàn)故障的節(jié)點(diǎn)所對應(yīng)的失效資源組掛載到其他任一能夠正常工作的節(jié)點(diǎn)上。
[0046]可以理解的是,本實(shí)施例中任意兩個節(jié)點(diǎn)之間均可通過配置NTP時間服務(wù)器(NTP,即Network Time Protocol,網(wǎng)絡(luò)時間協(xié)議)來保證節(jié)點(diǎn)間的時間同步性;另外,任意兩個節(jié)點(diǎn)之間需進(jìn)行業(yè)務(wù)網(wǎng)卡綁定,并且還需配置root用戶與實(shí)例用戶的SSH(SSH,即Secure Shell,安全外殼協(xié)議)互信。
[0047]本發(fā)明實(shí)施例中所公開的方法應(yīng)用于包括有N個節(jié)點(diǎn)的DB2 DPF,該方法先給上述N個節(jié)點(diǎn)分配NAS網(wǎng)絡(luò)存儲,以利用NAS網(wǎng)絡(luò)存儲來存放DPF中的sqllib控制文件;在此基礎(chǔ)上,為上述N個節(jié)點(diǎn)分配共享存儲,并在這N個節(jié)點(diǎn)之間搭建集群;然后創(chuàng)建M個失效資源組,相應(yīng)的,將N個節(jié)點(diǎn)分成M組,每一組節(jié)點(diǎn)至少包括一個節(jié)點(diǎn);接著分別將M組節(jié)點(diǎn)中每一組節(jié)點(diǎn)所對應(yīng)的分區(qū)資源一一對應(yīng)地配置到M個失效資源組;當(dāng)N個節(jié)點(diǎn)中的任一個節(jié)點(diǎn)出現(xiàn)故障后,將該出現(xiàn)故障的節(jié)點(diǎn)所對應(yīng)的失效資源組掛載到其他任一能夠正常工作的節(jié)點(diǎn)上,這樣,客戶端的應(yīng)用可以通過訪問這個掛載了故障節(jié)點(diǎn)所對應(yīng)的失效資源組的節(jié)點(diǎn),從而獲取到上述故障節(jié)點(diǎn)對應(yīng)的失效資源組中所配置的分區(qū)資源,也即獲取到故障節(jié)點(diǎn)所對應(yīng)的分區(qū)資源,由此消除了 DPF的單點(diǎn)故障,保證了 DPF在出現(xiàn)單點(diǎn)故障的情況下依然可以正常地