系統環境:node
RHEL6.4 iptables 關閉 selinux is disabledlinux
https://access.redhat.com/site/documentation/en-US 參照文檔web
注意:因爲本實驗環境是在RHEL系列,所以將使用紅帽本身的yum源,配置以下:dom
[base]性能
name=yum測試
baseurl=ftp://192.168.2.22/pub/RHEL6.4url
gpgcheck=0spa
[HA]rest
name=haserver
baseurl=ftp://192.168.2.22/pub/RHEL6.4/HighAvailability
gpgcheck=0
[lb]
name=LB
baseurl=ftp://192.168.2.22/pub/RHEL6.4/LoadBalancer
gpgcheck=0
[Storage]
name=St
baseurl=ftp://192.168.2.22/pub/RHEL6.4/ResilientStorage
gpgcheck=0
[SFS]
name=FS
baseurl=ftp://192.168.2.22/pub/RHEL6.4/ScalableFileSystem
gpgcheck=0
實驗將用到三臺主機,一臺安裝luci進行配置管理RHCS集羣,另外兩臺主機安裝ricci,用來管理集羣所用到的服務而且和luci進行通訊。(ricci做爲計算節點,必須進行時間同步)
luci管理端:
#yum update luci -y
#/etc/init.d/luci restart 將會提示登陸一個地址,訪問luci界面,默認爲用戶名和密碼root用戶
ricci計算節點端: (注意:全部節點之間必須用hostname進行解析)
#yum install ricci -y
#passwd ricci
#/etc/init.d/ricci restart
#chkconfig ricci on
在luci端進行建立集羣,而且添加節點:(圖)
建立一個集羣,並添加node節點
添加成功,兩個節點正常
查看node1詳細信息
成功後,使用命令查看
# clustat 能夠看到,有node1和node2節點
Cluster Status for test @ Sat May 17 12:01:23 2014
Member Status: Quorate
Member Name ID Status
node1.example.com 1 Online, Local
node2.example.com 2 Online
根據luci管理和配置界面的相關預設配置來進行配置紅帽集羣套件:(一次進行配置fence,failover,resources,services)
安裝fence(解決多個節點間由於互相爭奪資源而產生的腦裂問題,當某節點出現問題,會將節點當即拔電重啓)
本節實驗將採用KVM提供的虛擬fence
在luci端:
# yum install fence-virt.x86_64 fence-virtd.x86_64 fence-virtd-libvirt.x86_64 fence-virtd-multicast.x86_64 -y
#/etc/fence_virt.conf fence配置文件,默認不是規則的
# fence_virtd -c 交互式配置fence文件
Interface [none]: br0 在選擇接口時選擇br0,其他都默認
#mkdir /etc/cluster 默認不存在cluster目錄來存放key文件,本身創建
#dd if=/dev/urandom of=/etc/cluster/fence.xvm.key bs=128 count=1
1+0 records in
1+0 records out
128 bytes (128 B) copied, 0.000378488 s, 338 kB/s
# ll /etc/cluster/fence.xvm.key
# scp /etc/cluster/fence.xvm.key node1:/etc/cluster/ 拷貝到兩個節點,用來通訊的
# scp /etc/cluster/fence.xvm.key node2:/etc/cluster/
# /etc/init.d/fence_virtd restart 開啓fence服務(生產環境中自動開啓哦)
# netstat -anulp |grep fence*
udp 0 0 0.0.0.0:1229 0.0.0.0:* 18904/fence_virtd
登陸luci管理界面,增長fence設備,而且爲每一個node添加fence設置
# fence_xvm -H node1 測試fence功能
注意:若是不能node節點不能啓動,注意查看rgmanager,cman ricci,clvm等服務的自動啓動
# tail -f /var/log/cluster/fenced.log
May 17 11:59:55 fenced fenced 3.0.12.1 started
May 17 12:19:15 fenced fenced 3.0.12.1 started
May 17 15:25:58 fenced fencing node node1
May 17 15:26:00 fenced fence node1 success
May 17 15:28:24 fenced fenced 3.0.12.1 started
3.配置故障轉換域
故障切換域是一個命名的集羣節點子集,它可在節點失敗事件中運行集羣服務
在由幾個成員組成的集羣中,使用限制故障切換域可最大程度下降設置集羣以便運行集羣服務的工做(好比
httpd),它要求您在運行該集羣服務的全部成員中進行徹底一致的配置。您不須要將整個集羣設置爲運行
該集羣服務,只要設置與該集羣服務關聯的限制故障切換域中的成員便可。
故障轉移域,權值越低,優先級越高
4.配置全局集羣資源
增長VIP,apcache,服務(經過script完成)
5.配置資源組
爲webserver分別添加子資源:VIP,httpd服務,以及共享磁盤
# clustat 查看資源如今在node1上運行
Member Name ID Status
------ ---- ---- ------
node1 1 Online, Local, rgmanager
node2 2 Online, rgmanager
Service Name Owner (Last) State
------- ---- ----- ------ -----
service:webserver node1 started
測試:
(配置了故障轉移域的默認只開啓優先級高node1的httpd服務,主機httpd異常關閉後在開啓優先級低的node2)
注意:在測試中,httpd服務不須要啓動和重啓,資源徹底被luci接管
訪問ip資源(VIP)192.168.2.88 訪問的使node1發佈的資源(http)
測試:關閉服務和關閉網卡,測試服務的發佈
(高可用性的性能測試99)
1.關閉node1的httpd服務,發現會自動被node2接管(故障轉移域)
2.發現,當關閉node2網卡的時候,因爲配置了fence設備,node2會自動重啓,資源會由node1接管
3.# echo c > /proc/sysrq-trigger
在node1上給內核導入參數,測試崩潰效果。node2會自動接管資源,node1會必fence自動重啓,以後node1會從新接管資源(faildomain的自動回切功能)
clusvcadm -d httpd 手動關閉服務組
clusvcadm -e httpd 開啓服務組
clusvcadm -r httpd -m node1 將服務定位到node1
詳細命令查看官網
使用RHCS套件構建一個簡單的web集羣已經完成。