對TFS的Nameserver做機器級別的HA通過虛擬IP機制就可以了,只需要一個Heartbeat就可以搞定,下面簡單說下步驟。
操作系統:CentOS 6.4 x86_64
Heartbeat:
[root@jdzhan1 ha.d]# rpm -q heartbeatheartbeat-3.0.4-2.el6.x86_64
Step0: 安裝Heartbeat yum安裝和源碼安裝都可以,參看上一篇博客。
Step1:Heartbeat配置虛擬IP
1.修改Heartbeat的ha.cf
主要配置:
# 不采用2.x style的CRM,即Pacemakercrm off
2.主備節點都如下修改haresources
# vi /etc/ha.d/haresources
注意:主備節點的haresources要完全一樣。
3.啟動Heartbeat
# service heartbeat start
沒問題的話這時候192.168.129.100就能ping通了,虛擬IP已經設置好了,輸入ifconfig查看下:

Step2:設置ns.conf和ds.conf
Nameserver的配置文件主要修改:
#listen port 端口port = 8100#work directoy tfs的安裝路徑work_dir=/home/tfs#device name 綁定的網卡一般是ifconfig顯示的第一個dev_name= eth0#ip addr(vip) 虛擬IPip_addr = 192.168.129.100[nameserver]# 主備nameserver的IPip_addr_list = 192.168.129.129|192.168.129.130group_mask = 255.255.255.255
Dataserver的配置文件主要修改:
[nameserver]#ip addr(vip) 虛擬IPip_addr = 192.168.129.100# 主備nameserver的IPip_addr_list = 192.168.129.129|192.168.129.130group_mask = 255.255.255.255
Step3:啟動tfs
# ./scripts/tfs start_ns# ./scripts/tfs start_ds 1-2
Step4:測試
關閉一臺Nameserver所在的機器。通過查看日志可以發現Heartbeat已經發現另一個節點掛掉了。
# tail –f /var/log/messages

ifconfig下,虛擬IP已經切換過來了:

這時一個Nameserver節點宕機,整個集群仍然可用。
按照上面的配置只能實現節點級別的HA,當虛擬IP所在節點上的Nameserver進程直接掛掉了,并不能實現故障轉移,另外當宕掉的機器重啟后也不能重啟Nameserver進程。
需要實現資源級別的HA,則需要用到CRM(Cluster Resource Manager),最有名的就是Pacemaker。
基于Pacemaker做資源級別的Nameserver HA配置起來比較復雜,主要是對Pacemaker的cib.xml配置和對OCF資源腳本要有所了解。可以看我下一篇博客。
新聞熱點
疑難解答