為L(zhǎng)inux環(huán)境配置高可用性
當(dāng)運(yùn)轉(zhuǎn)一個(gè)對(duì)于你的IT環(huán)境具有重要意義的服務(wù)時(shí),有必要保證它使用高可用性(high-availability,HA)技術(shù),包含配置軟硬件。本文會(huì)教你如何使用Corosync和Pacemaker,為L(zhǎng)inux的環(huán)境配置高可用性。
Linux HA 軟件
Corosync和Pacemaker是Linux HA的實(shí)際執(zhí)行標(biāo)準(zhǔn)。Corosync核對(duì)群集中所有的節(jié)點(diǎn),確保其可用,Pacemaker負(fù)責(zé)群集中資源的位置。
你可以把兩個(gè)軟件都安裝到所有的Linux發(fā)行套件中去,來(lái)創(chuàng)建一個(gè)可以保護(hù)重要服務(wù)的HA stack。本篇技巧中,我們將以O(shè)penSUSE作為L(zhǎng)inux套件的例子,因?yàn)樗梢宰鲆粋€(gè)免費(fèi)的test drive。決定讓OpenSUSE來(lái)保障服務(wù)之后,你可以為你的企業(yè)Linux套件買(mǎi)一個(gè)支持版的。SUSE和紅帽都有HA版本的Linux,可用額外的企業(yè)級(jí)支持。
我們來(lái)學(xué)習(xí)一下如何安裝,并觀察其中一些功能。
安裝軟件
輸入以下命令,可以為OpenSUSE安裝Pacemaker和Corosync:
zypper install pacemaker pacemaker-mgmt
這條命令會(huì)在你服務(wù)器上安裝所有運(yùn)行Linux HA環(huán)境必要的Pacemaker軟件,一般來(lái)說(shuō),這條命令覆蓋所有在HA群集上使用的節(jié)點(diǎn),但是對(duì)于安裝測(cè)試環(huán)境來(lái)說(shuō),最好只在一個(gè)節(jié)點(diǎn)上使用該命令。完成之后,你就可以開(kāi)始配置軟件,構(gòu)建節(jié)點(diǎn)。
群集的更低層面有Corosync進(jìn)程服務(wù),這需要一個(gè)在/etc/corosync/corosync.conf的主配置文件。這個(gè)文件用來(lái)指定群集中的節(jié)點(diǎn)如何互相保持關(guān)聯(lián)。安裝過(guò)程,會(huì)給你一個(gè)名字類(lèi)似corosync.conf.example的文件,包含了你需要用來(lái)啟動(dòng)群集的所有東西。只有一項(xiàng)需要調(diào)整,那就是界面設(shè)置,這在配置文件的totem section之中。使用命令ip address show來(lái)確定群集中每個(gè)系統(tǒng)的IP地址,還要確保網(wǎng)絡(luò)設(shè)置與使用中的實(shí)際網(wǎng)絡(luò)地址相一致:
totem { ... interface { ringnumber: 0 bindnetaddr: 192.168.1.0 mcastaddr: 226.94.1.1 mcastport: 5405 } }
第一點(diǎn):確保改變界面設(shè)置,以反映你的當(dāng)前網(wǎng)絡(luò)設(shè)置。
創(chuàng)建corosync.conf文件之后,就得開(kāi)始o(jì)penais service,這負(fù)責(zé)在OpenSUSE上啟動(dòng)Corosync。使用service openais start命令:
service openais start
啟動(dòng)了openais service之后,可以啟動(dòng)crm_mon命令。這個(gè)命令能顯示你的群集stack是否可用,告訴你群集中現(xiàn)有節(jié)點(diǎn)的數(shù)量。如果你在output中看到其他東西,那也不妨,即使群集中的節(jié)點(diǎn)被標(biāo)記為offline。
圖1:確保Corosync layer在繼續(xù)工作之前已經(jīng)可用。
為服務(wù)配置Linux HA
一旦Corosync layer能行了,你就可以繼續(xù)創(chuàng)建HA的下一步。為了便于理解,我先告訴你如何創(chuàng)建高可用性IP地址。首先為用戶hacluster(在群集環(huán)境中的默認(rèn)用戶賬號(hào))創(chuàng)建密碼,使用passwd hacluster命令,輸入你要設(shè)的密碼。
這時(shí),你可以使用crm_gui命令,啟動(dòng)Pacemaker 圖形化管理客戶端。在圖形界面上選擇Connection login,激活為hacluster用戶。你現(xiàn)在可以看到群集中的內(nèi)容了,表現(xiàn)為你在群集上加的節(jié)點(diǎn)。點(diǎn)擊Configuration然后點(diǎn)擊Resources,再點(diǎn)擊Add,你就可以添加HA IP地址。在Add窗口中選擇Primitive來(lái)增加一個(gè)標(biāo)準(zhǔn)服務(wù)作為資源,然后點(diǎn)擊OK?,F(xiàn)在你就可以看見(jiàn)Add Primitive窗口,可以用ID來(lái)進(jìn)入。然后,使用以下命令確定接下來(lái)的參數(shù):
ID: testip Class: ocf Provider: heartbeat Type: IPaddr2
也要確保資源的初始狀態(tài)被設(shè)置為Started,然后點(diǎn)擊Forward,跳轉(zhuǎn)到一個(gè)界面把剛剛創(chuàng)建的屬性添加給資源。在該界面點(diǎn)擊ip,選擇Edit來(lái)進(jìn)入你要加的新的唯一IP地址,作為高可用性IP地址。一般這得是你的服務(wù)能夠達(dá)到的IP地址?,F(xiàn)在選擇OK來(lái)添加IP地址,然后選擇Apply將其寫(xiě)入群集。
一般情況下你還需要安裝STONITH,來(lái)保證群集中節(jié)點(diǎn)的完整,本文下一部分會(huì)提到這一點(diǎn),現(xiàn)在你可以先跳過(guò),選擇Configuration,然后是CRM Configure,取消選擇Stonith Enabled。點(diǎn)擊Apply來(lái)保存改變,這就會(huì)給你一個(gè)高可用的IP地址。你可以通過(guò)選擇Configuration¬——Management來(lái)確定。
圖2:配置完HA的資源,你可以通過(guò)crm_gui命令的管理部分確定它是否成功。
現(xiàn)在可以做最終測(cè)試了:IP地址已經(jīng)配置好了,可以被群集管理了,這意味著群集在停止運(yùn)轉(zhuǎn)后,啟動(dòng)了IP地址。你可以手動(dòng)停止IP地址,來(lái)測(cè)試運(yùn)行情況。比如說(shuō),如果你使用了192.168.1.169作為地址,與界面eth0相關(guān)聯(lián),使用ip addr del dev eth0 192.168.1.169命令。幾秒鐘后,使用ip addr show檢查IP地址是否存在。群集正常情況下應(yīng)該在那段IP地址重啟節(jié)點(diǎn)。
原文:http://www.searchdatacenter.com.cn/showcontent_52100.htm?lg=t
【編輯推薦】