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