heartbeat中怎么自動(dòng)切換網(wǎng)絡(luò)參數(shù)

heartbeat中怎么自動(dòng)切換網(wǎng)絡(luò)參數(shù),相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

heartbeat中怎么自動(dòng)切換網(wǎng)絡(luò)參數(shù),相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

尚志網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),尚志網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為尚志1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的尚志做網(wǎng)站的公司定做!

一、環(huán)境
node0
eth0:192.168.32.30 service vip1:192.168.32.21 VMAC1:00:1E:68:1E:99:5E

eth2:10.160.100.30 heart RMAC:00:18:8B:8E:04:E2
node1  
eth0:192.168.32.31 service   vip1:192.168.32.21   VMAC1:00:1E:68:1E:99:5E

eth2:10.160.100.31 heart  vip2:192.168.32.22 VMAC2:00:1E:68:1E:88:5E                                                        RMAC:00:1E:68:1E:19:5E
node2  
eth0:192.168.32.32    service   vip2:192.168.32.22   VMAC2:00:1E:68:1E:88:5E

eth2:10.160.100.32    heart                               RMAC:00:1E:68:1E:16:7E

實(shí)驗(yàn)要求:

1、當(dāng)node0的網(wǎng)絡(luò)出現(xiàn)故障時(shí),node1自動(dòng)切換將自己的ip、hostname、mac地址改成vip1、vman1、 nodevir1;故障恢復(fù)后node0自動(dòng)切換回來(lái),將自己的ip、hostname、mac改成vip1、vman1、nodevir,node1恢 復(fù)自身的網(wǎng)絡(luò)參數(shù)

2、當(dāng)node2的網(wǎng)絡(luò)出現(xiàn)故障時(shí),node1自動(dòng)切換將自己的ip、hostname、mac地址改成vip2、vman2、 nodevir2;故障恢復(fù)后node0自動(dòng)切換回來(lái),將自己的ip、hostname、mac改成vip2、vman2、nodevir2,node1 恢復(fù)自身的網(wǎng)絡(luò)參數(shù)

二、heartbeat安裝(三臺(tái)node操作一樣)

1、安裝libnet

[root@node1 ~]# tar -zxvf libnet-1.1.4.tar.gz

[root@node1 ~]# cd libnet-1.1.4

[root@node1 libnet-1.1.4]# ./configure

[root@node1 libnet-1.1.4]# make;make install

#libnet是一個(gè)高層次API工具,使用heartbeat需要用到他

2、安裝heartbeat

[root@node1 ~]# tar -zxvf heartbeat-2.1.3.tar.gz 

[root@node1 ~]# cd heartbeat-2.1.3

[root@node1 heartbeat-2.1.3]# ./ConfigureMe configure --disable-swig --disable-snmp-subagent

[root@node1 heartbeat-2.1.3]# make ; make install

[root@node1 heartbeat-2.1.3]# cp doc/ha.cf doc/haresource doc/anthkeys /etc/ha.d/

[root@node1 heartbeat-2.1.3]# cp ldirectord/ldiretord.cf /etc/ha.d/   

[root@node1 heartbeat-2.1.3]# grouadd -g 694 haclient

[root@node1 heartbeat-2.1.3]# useradd -u 694 -g 694 hacluster

#heartbeat的安裝包中默認(rèn)包含ldirectord插件,該插件主要用于管理,為保證ldirectord可用還行安裝perl-Mailtools

三、配置

1 node0配置

1.1 創(chuàng)建網(wǎng)絡(luò)參數(shù)修改腳本(/etc/ha.d/resource.d/Remac1)

[root@node0 resource.d]# vim /etc/ha.d/resource.d/Remac1   #Remac1也可存放在/etc/rc.d/init.d目錄

#!/bin/bash

#discription : Start Real Server

VMAC=00:1E:68:1E:99:5E

RMAC=00:1E:68:1E:19:5E

GATEWAY=192.168.32.254

. /etc/rc.d/init.d/functions

case "$1" in

  start)

  echo "Replace eth0's Real Mac addr to Virtual Mac addr"

  /sbin/ifconfig eth0 down

  /sbin/ifconfig eth0 hw ether $VMAC

  /sbin/ifconfig eth0 up

  /sbin/ifconfig eth0 192.168.32.21 broadcast 192.168.32.255 netmask 255.255.255.0

  /bin/hostname nodevir

  /sbin/route add default gw $GATEWAY

  ;;

  stop)

echo "Restore eth0's Real Mac addr"

  /sbin/ifconfig eth0 down

  /sbin/ifconfig eth0 hw ether $RMAC

  /sbin/ifconfig eth0 up

  /sbin/ifconfig eth0 192.168.32.31 broadcast 192.168.32.255 netmask 255.255.255.0

  /bin/hostname node1

  /sbin/route add default gw $GATEWAY

  ;;

  *)

  echo "Usage : $0 {start|stop}"

  exit 1

esac

1.2 heartbeat主配置文件(/etc/ha.d/ha.cf)

[root@node1 ha.d]# vim /etc/ha.d/ha.cf

#debugfile /var/log/ha-debug  

logfile /var/log/ha-log   

#指名heartbeat的日志存放位置。

#crm yes     

#是否開(kāi)啟Cluster Resource Manager(集群資源管理)功能。  

bcast eth2   

#指明心跳使用以太網(wǎng)廣播方式,并且是在eth2接口上進(jìn)行廣播。  

keepalive 2 

#指定心跳間隔時(shí)間為2秒(即每?jī)擅腌娫趀th2上發(fā)送一次廣播)。  

deadtime 60 

#指定備用節(jié)點(diǎn)在30秒內(nèi)沒(méi)有收到主節(jié)點(diǎn)的心跳信號(hào)后,則立即接管主節(jié)點(diǎn)的服務(wù)資源。  

warntime 20 

#指定心跳延遲的時(shí)間為十秒。當(dāng)10秒鐘內(nèi)備份節(jié)點(diǎn)不能接收到主節(jié)點(diǎn)的心跳信號(hào)時(shí),就會(huì)往日志中寫(xiě)入一個(gè)警告日志,但此時(shí)不會(huì)切換服務(wù)。  

initdead 240  

#在某些系統(tǒng)上,系統(tǒng)啟動(dòng)或重啟之后需要經(jīng)過(guò)一段時(shí)間網(wǎng)絡(luò)才能正常工作,該選項(xiàng)用于解決這種情況產(chǎn)生的時(shí)間間隔。取值至少為deadtime的兩倍。   

udpport 694   #設(shè)置廣播通信使用的端口,694為默認(rèn)使用的端口號(hào)。  

#baud 19200    #設(shè)置串行通信的波特率。  

#serial /dev/ttyS0   #選擇串行通信設(shè)備,用于雙機(jī)使用串口線連接的情況。如果雙機(jī)使用以太網(wǎng)。  

#ucast eth0 192.168.1.2 #采用網(wǎng)卡eth2的udp單播來(lái)組織心跳,后面跟的IP地址應(yīng)為雙機(jī)對(duì)方的IP地址。 

#mcast eth0 225.0.0.1 694 1 0 #采用網(wǎng)卡eth0的Udp多播來(lái)組織心跳,一般在備用節(jié)點(diǎn)不止一臺(tái)時(shí)使用。Bcast、ucast和mcast分別代表廣播、單播和多播,是組織心跳的三種方式,任選其一即可。

auto_failback on 

#用來(lái)定義當(dāng)主節(jié)點(diǎn)恢復(fù)后,是否將服務(wù)自動(dòng)切回,heartbeat的兩臺(tái)主機(jī)分別為主節(jié)點(diǎn)和備份節(jié)點(diǎn)。主節(jié)點(diǎn)在正常情況下占用資源并運(yùn)行所有 的服務(wù),遇到故障時(shí)把資源交給備份節(jié)點(diǎn)并由備份節(jié)點(diǎn)運(yùn)行服務(wù)。在該選項(xiàng)設(shè)為on的情況下,一旦主節(jié)點(diǎn)恢復(fù)運(yùn)行,則自動(dòng)獲取資源并取代備份節(jié)點(diǎn),如果該選項(xiàng) 設(shè)置為off,那么當(dāng)主節(jié)點(diǎn)恢復(fù)后,將變?yōu)閭浞莨?jié)點(diǎn),而原來(lái)的備份節(jié)點(diǎn)成為主節(jié)點(diǎn)。  

#stonith baytech /etc/ha.d/conf/stonith.baytech   

# stonith的主要作用是使出現(xiàn)問(wèn)題的節(jié)點(diǎn)從集群環(huán)境中脫離,進(jìn)而釋放集群資源,避免兩個(gè)節(jié)點(diǎn)爭(zhēng)用一個(gè)資源的情形發(fā)生。保證共享數(shù)據(jù)的安全性和完整性。  

#watchdog /dev/watchdog 

#該選項(xiàng)是可選配置,是通過(guò)Heartbeat來(lái)監(jiān)控系統(tǒng)的運(yùn)行狀態(tài)。使用該特性,需要在內(nèi)核中載入"softdog"內(nèi)核模塊,用來(lái)生成實(shí)際的設(shè)備文件,

如果系統(tǒng)中沒(méi)有這個(gè)內(nèi)核模塊,就需要指定此模塊,重新編譯內(nèi)核。編譯完成輸入"insmod softdog"加載該模塊。然后輸入"grep  misc /proc/devices"(應(yīng)為10),輸入"cat /proc/misc |grep  watchdog"(應(yīng)為130)。最后,生成設(shè)備文件:"mknod /dev/watchdog c 10 130" 。即可使用此功能。

node node0   #主節(jié)點(diǎn)主機(jī)名,可以通過(guò)命令“uanme –n”查看。  

node node1   #備用節(jié)點(diǎn)主機(jī)名。  

ping 192.168.32.254

#選擇ping的節(jié)點(diǎn),ping 節(jié)點(diǎn)選擇的越好,HA集群就越強(qiáng)壯,可以選擇固定的路由器作為ping節(jié)點(diǎn),但是最好不要選擇集群中的成員作為ping節(jié)點(diǎn),ping節(jié)點(diǎn)僅僅用來(lái)測(cè)試網(wǎng)絡(luò)連接。  

ping_group group1 192.168.12.251 192.168.12.239   #類似于ping。  

#respawn hacluster /usr/local/ha/lib/heartbeat/ipfail  

#apiauth pingd gid=haclient uid=hacluster 

apiauth pingd gid=root uid=root

respawn hacluster /usr/local/ha/lib/heartbeat/pingd -m 100 -d 5s 

#該選項(xiàng)是可選配置,列出與heartbeat一起啟動(dòng)和關(guān)閉的進(jìn)程,該進(jìn)程一般是和heartbeat集成的插件,這些進(jìn)程遇到故障可以自動(dòng) 重新啟動(dòng)。最常用的進(jìn)程是pingd,此進(jìn)程用于檢測(cè)和監(jiān)控網(wǎng)卡狀態(tài),需要配合ping語(yǔ)句指定的ping  node來(lái)檢測(cè)網(wǎng)絡(luò)的連通性。其中hacluster表示啟動(dòng)pingd進(jìn)程的身份。

#下面的配置是關(guān)鍵,也就是激活crm管理,開(kāi)始使用v2 style格式  

crm respawn   

#注意,還可以使用crm yes的寫(xiě)法,但這樣寫(xiě)的話,如果后面的cib.xml配置有問(wèn)題  

#會(huì)導(dǎo)致heartbeat直接重啟該,所以,測(cè)試時(shí)建議使用respawn的寫(xiě)法  

#下面是對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行壓縮,是可選項(xiàng)  

compression     bz2  

compression_threshold 2  

#注意,v2 style不支持ipfail功能,須使用pingd代替  

1.3 資源文件(/etc/ha.d/haresources)

[root@node0 ha.d]# vim /etc/ha.d/haresources

node0 Remac1    

#haresources文件用于指定雙機(jī)系統(tǒng)的主節(jié)點(diǎn)、集群IP、子網(wǎng)掩碼、廣播地址以及啟動(dòng)的服務(wù)等集群資源,文件每一行可以包含一個(gè)或多個(gè)資源腳本名,資源之間使用空格隔開(kāi),參數(shù)之間使用兩個(gè)冒號(hào)隔開(kāi),在兩個(gè)HA節(jié)點(diǎn)上該文件必須完全一致,此文件的一般格式為:

node-name network  <resource-group> 

#node-name表示主節(jié)點(diǎn)的主機(jī)名,必須和ha.cf文件中指定的節(jié)點(diǎn)名一致,network用于設(shè)定集群的IP地址、子網(wǎng)掩碼、網(wǎng)絡(luò)設(shè) 備標(biāo)識(shí)等,需要注意的是,這里指定的IP地址就是集群對(duì)外服務(wù)的IP地址,resource-group用來(lái)指定需要heartbeat托管的服務(wù),也就 是這些服務(wù)可以由heartbeat來(lái)啟動(dòng)和關(guān)閉,如果要托管這些服務(wù),必須將服務(wù)寫(xiě)成可以通過(guò)start/stop來(lái)啟動(dòng)和關(guān)閉的腳步,然后放到 /etc/init.d/或者/etc/ha.d/resource.d/目錄下,heartbeat會(huì)根據(jù)腳本的名稱自動(dòng)去/etc/init.d或者 /etc/ha.d/resource.d/目錄下找到相應(yīng)腳步進(jìn)行啟動(dòng)或關(guān)閉操作。

#LSB: Linux標(biāo)準(zhǔn)腳本文件(init  script),通常放在/etc/init.d/目錄下,heartbeat1.x版本之前的管理腳本一半放在/etc/ha.d /resource.d,在這里是/usr/local/ha/etc/ha.d/resource.d 

OCF:Open Cluster Framework,默認(rèn)放在/usr/lib/resource.d/heartbeat/目錄下;在這里是/usr/local/ha/etc/ha.d/resource.d

#下面介紹一下ocf和lsb格式的區(qū)別: 

LSB格式的腳本必須支持status功能,必須能接收start,stop,status,三個(gè)參數(shù);而如果是OCF格式,則必須支持start,stop,monitor三個(gè)參數(shù).其中status和monitor參數(shù)是用來(lái)監(jiān)控資源的,非常重要. 

例如LSB風(fēng)格的腳本,運(yùn)行./ status時(shí)候, 返回值包含OK或則running則表示資源正常,返回值包含stopped或者No則表示資源不正常。 假如是OCF風(fēng)格的腳本,運(yùn)行./Mysql monitor時(shí)候, 返回0表示資源是正常的, 返回7表示資源出現(xiàn)問(wèn)題. 

#下面對(duì)配置方法進(jìn)行具體說(shuō)明:

node1 IPaddr::192.168.60.200/24/eth0/  Filesystem::/dev/sdb5::/webdata::ext3  httpd tomcat 

#其中,node1是HA集群的主節(jié)點(diǎn),IPaddr為heartbeat自帶的一個(gè)執(zhí)行腳步,heartbeat首先將執(zhí)行/etc/ha.d/resource.d/IPaddr 192.168.60.200/24 start的操作,也就是虛擬出一個(gè)子網(wǎng)掩碼為255.255.255.0,IP為192.168.60.200的地址,此IP為heartbeat對(duì)外提供服務(wù)的網(wǎng)絡(luò)地址,同時(shí)指定此IP使用的網(wǎng)絡(luò)接口為eth0,接著,heartbeat將執(zhí)行共享磁盤(pán)分區(qū)的掛載操作,“Filesystem::/dev/sdf1::/data1::ext3”相當(dāng)于在命令行下執(zhí)行mount操作,即“mount &ndash;t ext3 /dev/sdf1 /data1”,最后依次啟動(dòng)httpd和tomcat服務(wù)。

1.4 認(rèn)證文件(/etc/ha.d/authkeys)

[root@node0 resource.d]# vim /etc/ha.d/authkeys

auth 1

1 crc

#2 sha1 HI!

#3 md5 Hello!

#authkeys文件用于設(shè)定heartbeat的認(rèn)證方式,共有三種可用的認(rèn)證方式:crc、md5和sha1,三種認(rèn)證方式的安全性依次提高,但是占用的系統(tǒng)資源也依次增加。如果heartbeat集群運(yùn)行在安全的網(wǎng)絡(luò)上,可以使用crc方式,如果HA每個(gè)節(jié)點(diǎn)的硬件配置很高,建議使用sha1,這種認(rèn)證方式安全級(jí)別最高,如果是處于網(wǎng)絡(luò)安全和系統(tǒng)資源之間,可以使用md5認(rèn)證方式。這里我們使用crc認(rèn)證方式,設(shè)置如下:

auth 1  

1 crc  

#2 sha1 sha1_any_password  

#3 md5 md5_any_password 

#需要說(shuō)明的一點(diǎn)是:無(wú)論auth后面指定的是什么數(shù)字,在下一行必須作為關(guān)鍵字再次出現(xiàn),例如指定了“auth 6”,下面一定要有一行“6 認(rèn)證類型”。最后確保這個(gè)文件的權(quán)限是600(即-rw-------)。

2 node1配置

2.1 創(chuàng)建網(wǎng)絡(luò)參數(shù)修改腳本(/etc/ha.d/resource.d/Remac1&2)

[root@node1 ~]# vim /etc/ha.d/resource.d/Remac1    #備份node0的網(wǎng)絡(luò)參數(shù)修改腳本

#!/bin/bash

#discription : Start Real Server

VMAC=00:1E:68:1E:99:5E  

RMAC=00:1E:68:1E:19:5E                              #注意:與node0中Remac1中RMAC不一樣

GATEWAY=192.168.32.254

. /etc/rc.d/init.d/functions

case "$1" in

  start)

  echo "Replace eth0's Real Mac addr to Virtual Mac addr"

  /sbin/ifconfig eth0 down

  /sbin/ifconfig eth0 hw ether $VMAC

  /sbin/ifconfig eth0 up

  /sbin/ifconfig eth0 192.168.32.21 broadcast 192.168.32.255 netmask 255.255.255.0

  /bin/hostname nodevir

  /sbin/route add default gw $GATEWAY

  ;;

  stop)

echo "Restore eth0's Real Mac addr"

  /sbin/ifconfig eth0 down

  /sbin/ifconfig eth0 hw ether $RMAC

  /sbin/ifconfig eth0 up

  /sbin/ifconfig eth0 192.168.32.31 broadcast 192.168.32.255 netmask 255.255.255.0

  /bin/hostname node1

  /sbin/route add default gw $GATEWAY

  ;;

  *)

  echo "Usage : $0 {start|stop}"

  exit 1

esac

[root@node1 ~]# cat /etc/ha.d/resource.d/Remac2   #備份node2的網(wǎng)絡(luò)參數(shù)修改腳本

#!/bin/bash

#discription : Start Real Server

VMAC=00:1E:68:1E:88:5E

RMAC=00:1E:68:1E:19:5E                            #注意:與node中Remac1中RMAC不一樣

GATEWAY=192.168.32.254

. /etc/rc.d/init.d/functions

case "$1" in

  start)

  echo "Replace eth0's Real Mac addr to Virtual Mac addr"

  /sbin/ifconfig eth0 down

  /sbin/ifconfig eth0 hw ether $VMAC

  /sbin/ifconfig eth0 up

  /sbin/ifconfig eth0 192.168.32.22 broadcast 192.168.32.255 netmask 255.255.255.0

  /bin/hostname nodevir2

  /sbin/route add default gw $GATEWAY

  ;;

  stop)

echo "Restore eth0's Real Mac addr"

  /sbin/ifconfig eth0 down

  /sbin/ifconfig eth0 hw ether $RMAC

  /sbin/ifconfig eth0 up

  /sbin/ifconfig eth0 192.168.32.31 broadcast 192.168.32.255 netmask 255.255.255.0  

  /bin/hostname node1

  /sbin/route add default gw $GATEWAY

  ;;

  *)

  echo "Usage : $0 {start|stop}"

  exit 1

esac

2.2 主配置文件(/etc/ha.d/ha.cf)

[root@node1 ~]# vim /etc/ha.d/ha.cf

debugfile /var/log/ha-debug

logfile /var/log/ha-log

logfacility     local0

keepalive 2

deadtime 60

warntime 20

initdead 240

udpport 694

auto_failback on

node    node0            #主node0,排列順序越靠前越優(yōu)先

node    node2            #主node2

node    node1            #備node1  

ping 192.168.32.254

respawn root /usr/lib/heartbeat/ipfail

apiauth ipfail gid=root uid=root

deadping 60

#注意:由于修改網(wǎng)絡(luò)參數(shù)需要重啟網(wǎng)卡,需要大量的時(shí)間,所以在此將所有時(shí)間參數(shù)設(shè)置比較長(zhǎng)。

2.3 資源文件(/etc/ha.d/haresource)

[root@node1 ~]# cat /etc/ha.d/haresources

node0 Remac1

node2 Remac2

#備份nod0用Remac1腳本,備份node2用Remac2腳本

2.4 認(rèn)證文件(/etc/ha.d/authkeys)

同node0

3 node2配置

3.1 創(chuàng)建網(wǎng)絡(luò)參數(shù)修改腳本(/etc/ha.d/resource.d/Remac2) 

[root@node2 ~]# cat /etc/ha.d/resource.d/Remac2  

#!/bin/bash

#discription : Start Real Server

VMAC=00:1E:68:1E:88:5E

RMAC=00:1E:68:1E:16:7E

GATEWAY=192.168.32.254

. /etc/rc.d/init.d/functions

case "$1" in

  start)

  echo "Replace eth0's Real Mac addr to Virtual Mac addr"

  /sbin/ifconfig eth0 down

  /sbin/ifconfig eth0 hw ether $VMAC

  /sbin/ifconfig eth0 up

  /sbin/ifconfig eth0 192.168.32.22 broadcast 192.168.32.255 netmask 255.255.255.0

  /bin/hostname nodevir2

  /sbin/route add default gw $GATEWAY

  ;;

  stop)

echo "Restore eth0's Real Mac addr"

  /sbin/ifconfig eth0 down

  /sbin/ifconfig eth0 hw ether $RMAC

  /sbin/ifconfig eth0 up

  /sbin/ifconfig eth0 192.168.32.32 broadcast 192.168.32.255 netmask 255.255.255.0

  /bin/hostname node2

  /sbin/route add default gw $GATEWAY

  ;;

  *)

  echo "Usage : $0 {start|stop}"

  exit 1

esac

3.2 主配置文件(/etc/ha.d/ha.cf)

[root@node1 ~]# vim /etc/ha.d/ha.cf

debugfile /var/log/ha-debug

logfile /var/log/ha-log

logfacility     local0

keepalive 2

deadtime 60

warntime 20

initdead 240

udpport 694

auto_failback on

node    node2            #主node2,排列順序越靠前越優(yōu)先

node    node1            #備node1  

ping 192.168.32.254

respawn root /usr/lib/heartbeat/ipfail

apiauth ipfail gid=root uid=root

deadping 60

#注意:由于修改網(wǎng)絡(luò)參數(shù)需要重啟網(wǎng)卡,需要大量的時(shí)間,所以在此將所有時(shí)間參數(shù)設(shè)置比較長(zhǎng)。

3.3 資源文件(/etc/ha.d/haresource)

[root@node1 ~]# cat /etc/ha.d/haresources

node2 Remac2

3.4 認(rèn)證文件(/etc/ha.d/authkeys)

同node0

四、測(cè)試heartbeat的高可用功能

    如何才能得知HA集群是否正常工作,模擬環(huán)境測(cè)試是個(gè)不錯(cuò)的方法,在把Heartbeat高可用性集群放到生產(chǎn)環(huán)境中之前,需要做如下幾個(gè)步驟的測(cè)試,從而確定HA是否正常工作: 

1 正常關(guān)閉和重啟主節(jié)點(diǎn)的heartbeat

  首先在主節(jié)點(diǎn)node1上執(zhí)行“service heartbeat  stop”正常關(guān)閉主節(jié)點(diǎn)的Heartbeat進(jìn)程,此時(shí)通過(guò)ifconfig命令查看主節(jié)點(diǎn)網(wǎng)卡信息,正常情況下,應(yīng)該可以看到主節(jié)點(diǎn)已經(jīng)釋放了集群的 服務(wù)IP地址,同時(shí)也釋放了掛載的共享磁盤(pán)分區(qū),然后查看備份節(jié)點(diǎn),現(xiàn)在備份節(jié)點(diǎn)已經(jīng)接管了集群的服務(wù)IP,同時(shí)也自動(dòng)掛載上了共享的磁盤(pán)分區(qū)。

   在這個(gè)過(guò)程中,使用ping命令對(duì)集群服務(wù)IP進(jìn)行測(cè)試,可以看到,集群IP一致處于可通狀態(tài),并沒(méi)有任何延時(shí)和阻塞現(xiàn)象,也就是說(shuō)在正常關(guān)閉主節(jié)點(diǎn)的情況下,主備節(jié)點(diǎn)的切換是無(wú)縫的,HA對(duì)外提供的服務(wù)也可以不間斷運(yùn)行。

    接著,將主節(jié)點(diǎn)heartbeat正常啟動(dòng),heartbeat啟動(dòng)后,備份節(jié)點(diǎn)將自動(dòng)釋放集群服務(wù)IP,同時(shí)卸載共享磁盤(pán)分區(qū),而主節(jié)點(diǎn)將再次接管集 群服務(wù)IP和掛載共享磁盤(pán)分區(qū),其實(shí)備份節(jié)點(diǎn)釋放資源與主節(jié)點(diǎn)綁定資源是同步進(jìn)行的。因而,這個(gè)過(guò)程也是一個(gè)無(wú)縫切換。

2  在主節(jié)點(diǎn)上拔去網(wǎng)線

    拔去主節(jié)點(diǎn)連接公共網(wǎng)絡(luò)的網(wǎng)線后,heartbeat插件ipfail通過(guò)ping測(cè)試可以立刻檢測(cè)到網(wǎng)絡(luò)連接失敗,接著自動(dòng)釋放資源,而就在此時(shí),備用節(jié)點(diǎn)的ipfail插件也會(huì)檢測(cè)到主節(jié)點(diǎn)出現(xiàn)網(wǎng)絡(luò)故障,在等待主節(jié)點(diǎn)釋放資源完畢后,備用節(jié)點(diǎn)馬上接管了集群資源,從而保證了網(wǎng)絡(luò)服務(wù)不間斷持續(xù)運(yùn)行。

   同理,當(dāng)主節(jié)點(diǎn)網(wǎng)絡(luò)恢復(fù)正常時(shí),由于設(shè)置了“auto_failback on”選項(xiàng),集群資源將自動(dòng)從備用節(jié)點(diǎn)切會(huì)主節(jié)點(diǎn)。

3 關(guān)閉主節(jié)點(diǎn)的系統(tǒng)

  在主節(jié)點(diǎn)拔去電源后,備用節(jié)點(diǎn)的heartbeat進(jìn)程會(huì)立刻收到主節(jié)點(diǎn)已經(jīng)shutdown的消息,備用節(jié)點(diǎn)就開(kāi)始進(jìn)行資源的接管,這種情況其實(shí)和主節(jié)點(diǎn)網(wǎng)絡(luò)故障的現(xiàn)象類似。

4 讓主節(jié)點(diǎn)系統(tǒng)內(nèi)核崩潰

   當(dāng)主節(jié)點(diǎn)系統(tǒng)崩潰后,網(wǎng)絡(luò)也就失去了響應(yīng),那么備用節(jié)點(diǎn)的heartbeat進(jìn)程就會(huì)立刻檢測(cè)到主節(jié)點(diǎn)網(wǎng)絡(luò)故障,然后進(jìn)行資源切換,但是由于主節(jié)點(diǎn)系統(tǒng)內(nèi) 核崩潰,導(dǎo)致自身不能卸載所占有的資源,例如共享磁盤(pán)分區(qū)、集群服務(wù)IP等,那么此時(shí)如果沒(méi)有類似Stonith設(shè)備的話,就會(huì)出現(xiàn)資源爭(zhēng)用的情況,但是 如果有Stonith備,Stonith設(shè)備會(huì)首先將故障的主節(jié)點(diǎn)電源關(guān)閉或者重啟此節(jié)點(diǎn)等操作,這樣就讓主節(jié)點(diǎn)釋放了集群資源,當(dāng)Stonith設(shè)備 完成所有操作時(shí),備份節(jié)點(diǎn)才拿到接管主節(jié)點(diǎn)資源的所有權(quán),從而接管主節(jié)點(diǎn)的資源。

文章名稱:heartbeat中怎么自動(dòng)切換網(wǎng)絡(luò)參數(shù)
本文網(wǎng)址:http://www.muchs.cn/article10/dcjgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、電子商務(wù)Google、ChatGPT虛擬主機(jī)、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)