高可用(HA)集群的搭建 --圖形化搭建(針對rhel6.5)

分類:IT技術 時間:2016-10-18

高可用(HA)集群的搭建

                --圖形化搭建(針對rhel6.5)

實驗環境:iptables selinux關閉,三臺主機做好解析

實驗主機IP:

            172.25.0.251

            172.25.0.2

          172.25.0.3

高可用集群包括RHCS,pacemaker+lvs,heartbeat,keepalievd。

在做實驗前,先了解RHCS套件,6以下才有,7就取消了。

一些服務進程的含義如下:

Luci/ricci》》web方式的集群管理(配置)工具;

Ccs》》集群配置服務,(例如更新文件)/etc/cluster/cluster.conf;

Dlm》》分布式集群鎖。可以讓我們並行的去做一些事。

Clvmd》》可以讓我們將邏輯卷分區(lvm,pv,vg ,lv)同步到其他節點。

Cman》》統一協調集群,比如fence的管理,colosync(集群心跳引擎》》在兩個節點之間)的管理。

Rgmanage》》在cman開啟後生成。

所以在啟動集群時,要先開啟cman,再開啟rgmanager,關閉集群時,正好相反。

一般大企業都有兩個高可用集群一個壞掉後,通過路由切換到另一條,然後運維人員會去處理壞掉的一個集群。

Stdnith也就是fence。wps6B8B.tmp

第一部分:重新配置yum源。

##我們最初的域名源只有最基礎的軟件(如下圖),也就是只有server,而沒有HA,負載均衡,擴展文件系統所有的軟件,所以需要重新配置yum源。wps6BBB.tmp

wps6BBC.tmp

##將yum源配置成下面內容:

wps6BBD.tmp

wps6BBE.tmp

##刷新,repolist後發現有3819個包。

wps6BBF.tmp

##同樣server3中做相同的yum源配置,這裏是將server2的復制過去:

wps6BCF.tmp

##安裝web方式的集群管理(配置)工具luci(一臺),ricci(兩臺):

wps6BD0.tmp

wps6BD1.tmp

##給ricci用戶修改密碼:

wps6BD2.tmp

wps6BE3.tmp

##開啟ricci(兩臺),並將ricci設置為開機自啟:

wps6BE4.tmp

wps6BE5.tmp

##安裝luci:

#Luci只是一個管理工具。】,可以安裝在任何一臺機子上,只是通過開啟luci開啟來得到一個網址,然後就可以在web瀏覽器中配置嗎HA,記得這裏生成的網址含有主機名,所以要做好解析,也就是安裝ricci和luci的三臺主機或者兩臺主機之間做好解析。

wps6BE6.tmp

#用生成的網址登陸:

wps6BE7.tmp

##點擊左側的管理集群,再點擊create就可以創建一個集群:

wps6BE8.tmp

##輸入集群名字,節點名字

wps6BF8.tmp

##確定所用瀏覽器的機子能ping同通節點:

wps6BF9.tmp

##開始將節點加入集群,等待幾秒鐘:

wps6BFA.tmp

##其實我們也可以用命令行,但是,圖形更加快捷,對於客戶來說更喜歡用圖形,這個時候,我們在web端做的都會在server2,server3中有相應的進程對應。

##然後,節點就加進來了:

wps6BFB.tmp

#此時,兩個節點都已經重啟。

##########以上做法常見的錯誤就是yum源,iptables(要求關閉),ricci,還有本地解析。

##我們做完上面的將會在/etc/cluster目錄中生成cluster.conf文件:

wps6BFC.tmp

##它的內容如下,每修改一次version就會變一次:

#server2的:

wps6C0D.tmp

#server3的:

wps6C0E.tmp

##以上我們只是做之前必須要做的就是在每個節點要開啟RHCS集群的兩個核心進程,cman,rgmanager,並且要先開啟cman,再開啟rgmanager,

wps6C0F.tmp

##集群是需要以下5個服務支持的:

Cman.rgmanage,ricci,clvmd,modclusterd,所以在luci之前要將每個節點這些服務開啟。

wps6C10.tmp

第二部分:安裝fence

##fence分為內部fence(服務器廠家自帶)和外部fence(價格昂貴,但是性能好)。

##查詢fence包,紅帽自帶安裝劃線的三個:

wps6C11.tmp

##安裝完要初始化,這裏我們已經安裝了,就只演示初始化的過程:

wps6C12.tmp

wps6C13.tmp

wps6C14.tmp

##監聽多播模塊,多播的IP和端口默認,接口寫宿主機的網橋,接下來是指定多播密碼文件,必須放在/etc/cluster下。後端是默認的,然後配置就完成了。

##對初始化過程中內容的解釋:

#libvirt是一套免費、開源的支持Linux下主流虛擬化工具 libvirt 比較和用例模型的C函數庫,其旨在為包括Xen在內的各種虛擬化工具提供一套方便、可靠的編程接口,支持與C,C++,Ruby,python等多種主流開發語言的綁定。當前主流Linux平臺上默認的虛擬化管理工具virt-manager(圖形化),virt-install(命令行模式)等均基於libvirt開發而成。

#multicast:多播:IP多播(也稱多址廣播或組播)技術,是一種允許一臺或多臺主機(多播源)發送單一數據包到多臺主機(一次的,同時的)的TCP/IP網絡技術。多播作為一點對多點的通信,是節省網絡帶寬的有效方法之一。使用同一個IP多播地址接收多播數據包的所有主機構成了一個主機組,也稱為多播組。

##然後是重啟fence,查看fence的狀態,查看fence的1229端口。

##下面是我們之前做好的多播密碼,在這裏要將他刪除,再次演示生成密碼的步驟,其實就是從隨機數中去128個字節:

wps6C15.tmp

wps6C26.tmp

##我們所做的修改都保存在/etc/fence_virt.conf中。

##密碼要求裝有fence和所有節點的密碼都一樣,所以我們將剛剛生成的密碼復制給節點相應目錄中:

wps6C27.tmp

##出現上述問題是因為下面的問題:

wps6C28.tmp

將這下面的172.25.0.2 和172.25.0.3的公鑰刪除。

##再拷貝就沒有問題了:

wps6C29.tmp

##查看集群狀態clustat  -i的話是指定刷新時間,這樣可以動態輸出集群啟停狀態轉變:

wps6C2A.tmp

##現在是將兩個節點加進來了。

wps6C2B.tmp

##增加fence:

wps6C2C.tmp

##我們在圖形中做的都會反映到配置文件中並且是同步的,所有節點都同時改變:

wps6C3C.tmp

wps6C3D.tmp

##增加fence完成後的界面:

wps6C3E.tmp

##然後選擇節點2:

wps6C3F.tmp

##增加fence設備:

wps6C40.tmp

##給fence起個名字:

wps6C41.tmp

##加入一個實例,也就是我們之前創建的fence:

wps6C42.tmp

##在真機中看到的虛擬機的名字:

wps6C43.tmp

##並且每個虛擬機都有自己的UUID,標簽會變,但是UUID不會變:

wps6C44.tmp

##所以在這裏我們最好在這裏輸入節點2的UUID:

wps6C45.tmp

##一個domain管理一個server instance。

##節點三做相同的做法,增加一個fence。

##所有的修改都加到了配置文件中:

wps6C46.tmp

##fence_node 主機名可以檢測一下fence起作用了。節點3重啟了。

  # 測試fence設備配置(fence_node/fence_drac/…)

使用fence_node 命令進行fence配置測試,該命令將讀取cluster.conf中關於fence設備的配置。

常用命令

/sbin/fence_node db1.fjnet114.com

/sbin/fence_node db2.fjnet114.com

針對每個不同的fence設備,redhat提供了相應的工具fence_drac、fence_ilo等,可在命令下直接加載fence設備參數進行測試。參數-o指定執行的動作,可為reboot\off\on\status等,詳見man fence_drac。

如:

[root@db2 ~]# fence_drac -a 192.168.114.106 -l admin -p wlhmbst@2008 -o status

status: on

wps6C47.tmp

##查看集群狀態:

wps6C48.tmp

##先顯示server3不在線,然後就在線了,有問題,會重啟,然後自動加入。

##增加服務:

wps6C59.tmp

wps6C5A.tmp

##將發布目錄改為server2/3.example。com

wps6C5B.tmp

##創建failover domaiin:

wps6C5C.tmp

##然後界面會如下:

wps6C6C.tmp

##增加一個vip資源:

wps6C7D.tmp

##資源裏面有好多可以增加,下面列出部分:

wps6C7E.tmp

##增加http服務,我們可以在裏面選擇apache,但是會讓輸入其他內容,為了方便,我們可以增加一個腳本,輸入服務名稱和啟動時調用的文件路徑。

wps6C7F.tmp

##將剛剛增加的兩個資源添加到服務中:

wps6C90.tmp

##然後再點擊頁面下面的submit,就完成了服務的增加:

wps6C91.tmp

##訪問VIP,將會得到server2 的發布文件:

wps6C92.tmp

##查看ip,會發現我們將vip加入本地。

wps6C93.tmp

##查看端口,會發現,本地80端口已經增加到vip上

wps6CA3.tmp

##用命令將server2搞崩潰:

wps6CA4.tmp

##會發現fence將server2重啟了:

wps6CB5.tmp

##現在server3接管了服務:

wps6CC5.tmp

##現在將server3 的http服務 關掉:

wps6CC6.tmp

##再次訪問會發現直接登錄不進去 了:

wps6CC7.tmp

##這是因為心跳檢測的原因,並不是一有問題就會fence掉,會有幾秒的等待,當fence確定server3的http服務掛掉後,它會重新啟動這臺的http,另一臺的http會開啟並繼續提供http服務:

wps6CC8.tmp

wps6CD9.tmp

wps6CDA.tmp

##然後將server2 的網絡停掉,會發現server2重啟了:

wps6CDB.tmp

wps6CDC.tmp

##現在server3接管了http服務(這裏只是以http為例,準確的說是server3在集群中起作用):

wps6CDD.tmp

wps6CEE.tmp

未完待續》》》》》

本文出自 “Y LINUX XF” 博客,請務必保留此出處http://yaoxiaofeng.blog.51cto.com/11915773/1856747


Tags: 修改密碼 管理工具 server 軟件 三臺

文章來源:


ads
ads

相關文章
ads

相關文章

ad