假設有2台web伺服器在提供web服務,一台作為主節點,IP為172.16.26.10 另一頭作為備用節點,IP為172.16.26.30. VIp為192.168.100.10
對于高可用叢集來說,做高可用的nginx一定不能開機啟動
先把nginx從開機自動啟動中去掉chkconfig nginx of
下面來配置2個節點
第一個節點上用ssh指令啟動第二個節點 關閉也是如此
第二個節點在第一個節點上啟動
配置雙機互信:
node1上:
ssh-keygen -t rsa
ssh-copy-id -i .ssh/id_rsa.pub [email protected]
node2上:
ssh-copy-id -i .ssh/id_rsa.pub [email protected]
編輯主機名:
vim /etc/hosts
添加内容
172.16.26.20 node1.mage.com node1
172.16.26.30 node2.mage.com node2
給node2同樣主機名
隻需在node1上執行指令scp /etc/hosts node2:/etc/hosts
下載下傳heartbeat安裝包
heartbeat-2.1.4-9.el5.i386.rpm 核心包
heartbeat-stonith-2.1.4-10.el5.i386.rpm 也需要安裝,依賴于libnet
heartbeat-gui-2.1.4-9.el5.i386.rpm 基于圖形界面配置CRM的軟體
libnet-1.1.4-3.el5.i386.rpm
heartbeat-ldirectord-2.1.4-9.el5.i386.rpm 将LVS directory配置成高可用的軟體,還可以檢測Directory後端服務的健康狀态
perl-MailTools-1.77-1.el5.noarch.rpm 依賴的軟體包
heartbeat-pils-2.1.4-10.el5.i386.rpm 可動态安裝的子產品,可以将很多服務配置成高可用的服務,并且提供服務配置接口,基本插件,必須要安裝
通過配置yum源來安裝
yum -y --nogpgcheck localinstall *.rpm
給node2同樣的軟體
在node1上scp -r i386/ node2:/root
在node2上也執行yum -y --nogpgcheck localinstall *.rpm
配置heartbeat
1 編輯heartbeat主配置檔案/etc/ha.d/ha.c修改内容
#keepalive 2 //心跳資訊的預設傳輸時間
#deadtime 30 //死亡時間
#warntime 10 //警告時間
#initdead 120 //OS啟動時,網卡的啟動需要的時間
#udpport 694 //心跳資訊的端口
#baud 19200 //串行線纜的端口
auto_failback on //資源回複的時候是否回來
node node1.mage.com
node node2.mage.com
ping 192.168.1.1 //指向網關
2 擷取随機數
dd if=/dev/urandom count=1 bs=512 | md5sum
vim authkeys 添加内容
auth 1
1 sha1 66128004251cdc459e49bcebd5fc639a
改變權限chmod 600 /etc/ha.d/authkeys
3 定義主節點vim haresources 添加内容
node1.mage.com 192.168.100.10/24/eth0/192.168.100.255 nginx
#cd /etc/ha.d
#scp -p ha.cf authkeys haresources node2:/etc/ha.d/
4 啟動和關閉heartbeat
node1上service heartbeat start |stop
service node2 `service heartbeat start`
cd /usr/lib/heartbeat
./hb_standby 可檢視heartbeat的狀态
5 通過圖形化的一個接口來配置叢集:
vim /etc/ha.d/ha.cf
#crm
crm respawn
給node2同樣的配置scp /etc/ha.d/ha.cf node2:/etc/ha.d
crm_mon 可以顯示目前節點的狀态資訊
crm_sh 進入指令行模式
crmadmin –status node1 顯示node1的狀态資訊
hb_gu 可打開圖形界面進行配置
不再給出過程