為Linux環境配置高可用性

來源:互聯網
上載者:User

當運轉一個對於你的IT環境具有重要意義的服務時,有必要保證它使用高可用性(high-availability,HA)技術,包含配置軟硬體。本文會教你如何使用Corosync和Pacemaker,為Linux的環境配置高可用性。

Linux HA 軟體

Corosync和Pacemaker是Linux HA的實際執行標準。Corosync核對群集中所有的節點,確保其可用,Pacemaker負責群集中資源的位置。

你可以把兩個軟體都安裝到所有的Linux發行套件中去,來建立一個可以保護重要服務的HA stack。本篇技巧中,我們將以OpenSUSE作為Linux套件的例子,因為它可以做一個免費的test drive。決定讓OpenSUSE來保障服務之後,你可以為你的企業Linux套件買一個支援版的。SUSE和紅帽都有HA版本的Linux,可用額外的企業級支援。

我們來學習一下如何安裝,並觀察其中一些功能。

安裝軟體

輸入以下命令,可以為OpenSUSE安裝Pacemaker和Corosync:

zypper install pacemaker pacemaker-mgmt

這條命令會在你伺服器上安裝所有運行Linux HA環境必要的Pacemaker軟體,一般來說,這條命令覆蓋所有在HA群集上使用的節點,但是對於安裝測試環境來說,最好只在一個節點上使用該命令。完成之後,你就可以開始配置軟體,構建節點。

群集的更低層面有Corosync進程服務,這需要一個在/etc/corosync/corosync.conf的主設定檔。這個檔案用來指定群集中的節點如何互相保持關聯。安裝過程,會給你一個名字類似corosync.conf.example的檔案,包含了你需要用來啟動群集的所有東西。只有一項需要調整,那就是介面設定,這在設定檔的totem section之中。使用命令ip address show來確定群集中每個系統的IP地址,還要確保網路設定與使用中的實際網路地址相一致:

totem {...interface {ringnumber: 0bindnetaddr: 192.168.1.0mcastaddr: 226.94.1.1mcastport: 5405}}

第一點:確保改變介面設定,以反映你的當前網路設定。

建立corosync.conf檔案之後,就得開始openais service,這負責在OpenSUSE上啟動Corosync。使用service openais start命令:

service openais start

啟動了openais service之後,可以啟動crm_mon命令。這個命令能顯示你的群集stack是否可用,告訴你群集中現有節點的數量。如果你在output中看到其他東西,那也不妨,即使群集中的節點被標記為offline。

圖1:確保Corosync layer在繼續工作之前已經可用。

為服務配置Linux HA

一旦Corosync layer能行了,你就可以繼續建立HA的下一步。為了便於理解,我先告訴你如何建立高可用性IP地址。首先為使用者hacluster(在群集環境中的預設使用者帳號)建立密碼,使用passwd hacluster命令,輸入你要設的密碼。

這時,你可以使用crm_gui命令,啟動Pacemaker 圖形化管理用戶端。在圖形介面上選擇Connection login,啟用為hacluster使用者。你現在可以看到群集中的內容了,表現為你在群集上加的節點。點擊Configuration然後點擊Resources,再點擊Add,你就可以添加HA IP地址。在Add視窗中選擇Primitive來增加一個標準服務作為資源,然後點擊OK。現在你就可以看見Add Primitive視窗,可以用ID來進入。然後,使用以下命令確定接下來的參數:

ID: testipClass: ocfProvider: heartbeatType: IPaddr2

也要確保資源的初始狀態被設定為Started,然後點擊Forward,跳轉到一個介面把剛剛建立的屬性添加給資源。在該介面點擊ip,選擇Edit來進入你要加的新的唯一IP地址,作為高可用性IP地址。一般這得是你的服務能夠達到的IP地址。現在選擇OK來添加IP地址,然後選擇Apply將其寫入群集。

一般情況下你還需要安裝STONITH,來保證群集中節點的完整,本文下一部分會提到這一點,現在你可以先跳過,選擇Configuration,然後是CRM Configure,取消選擇Stonith Enabled。點擊Apply來儲存改變,這就會給你一個高可用的IP地址。你可以通過選擇Configuration¬——Management來確定。

圖2:配置完HA的資源,你可以通過crm_gui命令的管理部分確定它是否成功。

現在可以做最終測試了:IP地址已經配置好了,可以被群集管理了,這意味著群集在停止運轉後,啟動了IP地址。你可以手動停止IP地址,來測試回合情況。比如說,如果你使用了192.168.1.169作為地址,與介面eth0相關聯,使用ip addr del dev eth0 192.168.1.169命令。幾秒鐘後,使用ip addr show檢查IP地址是否存在。群集正常情況下應該在那段IP地址重啟節點。

原文:http://www.searchdatacenter.com.cn/showcontent_52100.htm?lg=t

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.