生活随笔
收集整理的這篇文章主要介紹了
RHCS套件实现高可用负载均衡集群(二)——Fence设备
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
注:此博文在博文“套件實現高可用負載均衡集群(一)”的基礎上完成
環境:
- 物理機:172.25.54.250,作為fence
- server1:172.25.54.1 , server1作為主節點
- server2:172.25.54.2 , server2作為副節點
- server3:172.25.54.3 , 暫時用作RS進行負載均衡測試 , 后面作iscci共享存儲
- server4:172.25.54.4 , 作為RS , 負載均衡測試
向集群中添加 fence
為什么使用 fence 設備?
- 如果集群中一個節點通信失效,那么集群中的其他節點必須能夠保證將已經失效的節點與其正在訪問的共享資源(比如共享存儲)隔離開,出問題的集群節點 本身無法做到這一點,因為該集群節點在此時可能已經失去響應(例如發生hung機),因此需要通過外部機制來實現這一點。這種方法被稱為帶有fence代 理的隔離。
- 不配置隔離設備,我們沒有辦法知道之前斷開連接的集群節點使用的資源是否已經被釋放掉。如果我們沒有配置隔離代理(或者設備),系統可能錯誤的認為集群節點已經釋放了它的資源,這將會造成數據損壞和丟失。 沒有配置隔離設備,數據的完整性就不能夠被保證,集群配置將不被支持。
- 當隔離動作正在進行中時,不允許執行其他集群操作。這包括故障轉移服務和獲取GFS文件系統或GFS2文件系統的新鎖。 在隔離動作完成之前或在該集群節點已經重啟并且重新加入集群之前,集群不能恢復正常運行。
fence設備的實現
利用 libvitr , 構建模擬 fence , libvirt 可以管理虛擬機的開關
此處是物理機:172.25.54.250,作為fence
- 安裝 1.fence-virtd-multicast 2.fence-virtd 3.fence-virtd-libvirt
[root
@foundation54 ~]# yum install fence-virtd-multicast fence-virtd fence-virtd-libvirt -y
[root
@foundation54 ~]# fence_virtd -c
Module search path [/usr/lib64/fence-virt]: /usr/lib64/fence-virt
Listener module [multicast]: multicast
Multicast IP Address [
225.0.0.12]:
225.0.0.12
Using ipv4 as family.
Multicast IP Port [
1229]:
1229
Interface [virbr0]: br0
##這里br0是因為虛擬服務器受主機控制的網卡是br0
Key File [/etc/cluster/fence_xvm.key]: /etc/cluster/fence_xvm.key
Backend module [libvirt]: libvirt
[root
@foundation54 ~]# cat /etc/fence_virt.conf
backends {libvirt {uri =
"qemu:///system";}}listeners {multicast {port =
"1229";family =
"ipv4";interface =
"br0";address =
"225.0.0.12";key_file =
"/etc/cluster/fence_xvm.key";}}fence_virtd {module_path =
"/usr/lib64/fence-virt";backend =
"libvirt";listener =
"multicast";
}
[root
@foundation54 ~]# mkdir /etc/cluster
[root
@foundation54 ~]# 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.000145763 s,
878 kB/s
[root
@foundation54 ~]# file /etc/cluster/fence_xvm.key ##查看文件類型
/etc/cluster/fence_xvm.key: data
[root
@foundation54 ~]# systemctl start fence_virtd
[root
@foundation54 ~]# systemctl enable fence_virtd
[root
@foundation54 ~]# netstat -anulp | grep fence_virtd
udp
0 0 0.0.0.0:
1229 0.0.0.0:*
8657/fence_virtd
[root
@foundation54 ~]# scp /etc/cluster/fence_xvm.key root@
172.25.54.1:/etc/cluster/
[root
@foundation54 ~]# scp /etc/cluster/fence_xvm.key root@
172.25.54.2:/etc/cluster/
[root
@foundation54 ~]#
此時使用圖形界面添加 fence
然后選擇Nodes
然后選擇Add Fence Method
然后選擇Add Fence Instance
注:server2也需完成上述server1操作
[root@server1 ~]# cat /etc/cluster/cluster.conf ##查看配置信息
<?xml version="1.0"?>
<cluster config_version="9" name="tutu1"><clusternodes><clusternode name="server1" nodeid="1"><fence><method name="fence1"><device domain="eef564be-075e-42b6-880e-ea4c1faf0e11" name="vmfence"/></method></fence></clusternode><clusternode name="server2" nodeid="2"><fence><method name="fence2"><device domain="eef564be-075e-42b6-880e-ea4c1faf0e11" name="vmfence"/></method></fence></clusternode></clusternodes><cman expected_votes="1" two_node="1"/><fencedevices><fencedevice agent="fence_xvm" name="vmfence"/></fencedevices>
</cluster>
[root@server1 ~]#
測試
與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的RHCS套件实现高可用负载均衡集群(二)——Fence设备的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。