高可用(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。
第一部分:重新配置yum源。
##我們最初的域名源只有最基礎的軟件(如下圖),也就是只有server,而沒有HA,負載均衡,擴展文件系統所有的軟件,所以需要重新配置yum源。
##將yum源配置成下面內容:
##刷新,repolist後發現有3819個包。
##同樣server3中做相同的yum源配置,這裏是將server2的復制過去:
##安裝web方式的集群管理(配置)工具luci(一臺),ricci(兩臺):
##給ricci用戶修改密碼:
##開啟ricci(兩臺),並將ricci設置為開機自啟:
##安裝luci:
#Luci只是一個管理工具。】,可以安裝在任何一臺機子上,只是通過開啟luci開啟來得到一個網址,然後就可以在web瀏覽器中配置嗎HA,記得這裏生成的網址含有主機名,所以要做好解析,也就是安裝ricci和luci的三臺主機或者兩臺主機之間做好解析。
#用生成的網址登陸:
##點擊左側的管理集群,再點擊create就可以創建一個集群:
##輸入集群名字,節點名字
##確定所用瀏覽器的機子能ping同通節點:
##開始將節點加入集群,等待幾秒鐘:
##其實我們也可以用命令行,但是,圖形更加快捷,對於客戶來說更喜歡用圖形,這個時候,我們在web端做的都會在server2,server3中有相應的進程對應。
##然後,節點就加進來了:
#此時,兩個節點都已經重啟。
##########以上做法常見的錯誤就是yum源,iptables(要求關閉),ricci,還有本地解析。
##我們做完上面的將會在/etc/cluster目錄中生成cluster.conf文件:
##它的內容如下,每修改一次version就會變一次:
#server2的:
#server3的:
##以上我們只是做之前必須要做的就是在每個節點要開啟RHCS集群的兩個核心進程,cman,rgmanager,並且要先開啟cman,再開啟rgmanager,
##集群是需要以下5個服務支持的:
Cman.rgmanage,ricci,clvmd,modclusterd,所以在luci之前要將每個節點這些服務開啟。
第二部分:安裝fence
##fence分為內部fence(服務器廠家自帶)和外部fence(價格昂貴,但是性能好)。
##查詢fence包,紅帽自帶安裝劃線的三個:
##安裝完要初始化,這裏我們已經安裝了,就只演示初始化的過程:
##監聽多播模塊,多播的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個字節:
##我們所做的修改都保存在/etc/fence_virt.conf中。
##密碼要求裝有fence和所有節點的密碼都一樣,所以我們將剛剛生成的密碼復制給節點相應目錄中:
##出現上述問題是因為下面的問題:
將這下面的172.25.0.2 和172.25.0.3的公鑰刪除。
##再拷貝就沒有問題了:
##查看集群狀態clustat -i的話是指定刷新時間,這樣可以動態輸出集群啟停狀態轉變:
##現在是將兩個節點加進來了。
##增加fence:
##我們在圖形中做的都會反映到配置文件中並且是同步的,所有節點都同時改變:
##增加fence完成後的界面:
##然後選擇節點2:
##增加fence設備:
##給fence起個名字:
##加入一個實例,也就是我們之前創建的fence:
##在真機中看到的虛擬機的名字:
##並且每個虛擬機都有自己的UUID,標簽會變,但是UUID不會變:
##所以在這裏我們最好在這裏輸入節點2的UUID:
##一個domain管理一個server instance。
##節點三做相同的做法,增加一個fence。
##所有的修改都加到了配置文件中:
##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
##查看集群狀態:
##先顯示server3不在線,然後就在線了,有問題,會重啟,然後自動加入。
##增加服務:
##將發布目錄改為server2/3.example。com
##創建failover domaiin:
##然後界面會如下:
##增加一個vip資源:
##資源裏面有好多可以增加,下面列出部分:
##增加http服務,我們可以在裏面選擇apache,但是會讓輸入其他內容,為了方便,我們可以增加一個腳本,輸入服務名稱和啟動時調用的文件路徑。
##將剛剛增加的兩個資源添加到服務中:
##然後再點擊頁面下面的submit,就完成了服務的增加:
##訪問VIP,將會得到server2 的發布文件:
##查看ip,會發現我們將vip加入本地。
##查看端口,會發現,本地80端口已經增加到vip上
##用命令將server2搞崩潰:
##會發現fence將server2重啟了:
##現在server3接管了服務:
##現在將server3 的http服務 關掉:
##再次訪問會發現直接登錄不進去 了:
##這是因為心跳檢測的原因,並不是一有問題就會fence掉,會有幾秒的等待,當fence確定server3的http服務掛掉後,它會重新啟動這臺的http,另一臺的http會開啟並繼續提供http服務:
##然後將server2 的網絡停掉,會發現server2重啟了:
##現在server3接管了http服務(這裏只是以http為例,準確的說是server3在集群中起作用):
未完待續》》》》》
本文出自 “Y LINUX XF” 博客,請務必保留此出處http://yaoxiaofeng.blog.51cto.com/11915773/1856747
Tags: 修改密碼 管理工具 server 軟件 三臺
文章來源: