heartbeat + http/lvs 高可用實例

heartbeat + http 高可用
一,試驗拓撲:
二,兩節點基本配置:
(這裏我先配置的node1,node2也是一樣的)
1、修改主機名
# vim /etc/sysconfig/network
HOSTNAME=node1
2、修改hosts,這裏沒做DNS所以寫hosts
# vim /etc/hosts
192.168.80.141  node1
192.168.80.138  node2
3、配置http服務相關信息
# yum -y install httpd
# echo "node1" > /var/www/html/index.html
# chkconfig httpd off (這裏設置成不啓動,因爲要使用heartbeat啓動)
4、配置ssh雙機互信
# ssh-keygen -t rsa
# ssh-copy-id -i .ssh/id_rsa.pub  root@node1
注:需要注意2節點的時間不要相差太多

三,安裝heartbeat
這裏使用的rpm安裝的:
  1. # yum -y --nogpgcheck localinstall heartbeat-2.1.4-9.el5.i386.rpm heartbeat-pils-2.1.4-10.el5.i386.rpm heartbeat-stonith-2.1.4-10.el5.i386.rpm libnet-1.1.4-3.el5.i386.rpm  
  2.  
  3. # cd /usr/share/doc/heartbeat-2.1.4/   
  4. # cp ha.cf authkeys haresources /etc/ha.d/  
  5. # chmod 600 authkeys  
  6.  
  7. # vim authkeys (添加如下內容md5後面的是個加密的隨機數通過dd if=/dev/urandom count=512 bs=1 | md5sum最後一行產生的)  
  8. auth 1  
  9. 1 md5 3c41810e230a997444836b164ddb7978  
  10.  
  11. # egrep -v "^#|^$" /etc/ha.d/ha.cf   
  12. logfacility local0  
  13. keepalive 2     心跳檢查時間  
  14. deadtime 30     防止分裂  
  15. bcast eth1  # Linux   指定網卡  
  16. auto_failback on    是重新搶回資源  
  17. node node1     節點名稱與hosts對稱  
  18. node node2  
  19. ping 192.168.80.1   指定仲裁  
  20. compression bz2    指定壓縮  
  21. compression_threshold 2   2K以上壓縮  
  22.  
  23. # vim /etc/ha.d/haresources   最後添加  
  24. node1  192.168.80.100/24/eth1/192.168.80.255 httpd  
  25.  
  26. # scp -p  authkeys ha.cf haresources node2:/etc/ha.d  
  27. # service heartbeat start  
  28. # ssh node2 '/etc/rc.d/init.d/heartbeat start'  
  29.  
下面訪問下:
 
  
 

之後可以通過執行cd /usr/share/heartbeat/下的
# ./hb_standby 
2012/08/03_00:41:33 Going standby [all].
進行手動切換,在訪問下,而且也可以可能到80的進程

 

heartbeat + lvs  高可用
一:試驗拓撲如下:

二:配置RS
這裏爲了方便直接使用腳本操作,RS1和RS2的配置一樣:
 
  1. # cat /etc/rc.d/init.d/lvsdrrip   
  2. #!/bin/bash  
  3. #DR server  
  4. VIP=192.168.80.100  
  5. case "$1" in  
  6. start)  
  7.         echo "start LVS of DR"  
  8.         /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up  
  9.         /sbin/route add -host $VIP dev lo:0  
  10.         echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore  
  11.         echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce  
  12.         echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore  
  13.         echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce  
  14.         ;;  
  15. stop)  
  16.         echo "stop LVS of DR"  
  17.         /sbin/ifconfig lo:0 down  
  18.         echo "0" > /proc/sys/net/ipv4/conf/lo/arp_ignore  
  19.         echo "0" > /proc/sys/net/ipv4/conf/lo/arp_announce  
  20.         echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore  
  21.         echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce  
  22.         ;;  
  23. *)  
  24.         echo "Usage:$0 {start|stop}"  
  25.         exit 1  
  26. esac  
  27.  
  28. # chmod +x /etc/rc.d/init.d/lvsdrrip  
  29.  
  30. # yum -y install httpd  
  31. # echo "RS1" > /var/www/html/index.html  
  32.  
  33. # service httpd start  
  34. # service lvsdrrip start  
  35.  
三:配置nod1和node2
(這裏在上個試驗基礎上操作,這次先用圖形的操作)
1、首先關閉2節點的heartbeat服務
2、2節點安裝圖形軟件包
# yum -y --nogpgcheck  localinstall perl-MailTools-1.77-1.el5.noarch.rpm  heartbeat-gui-2.1.4-9.el5.i386.rpm
3、2節點修改配置:
在/etc/ha.d/ha.cf最後添加
crm on
啓動服務
  1. # service heartbeat start  
  2. # ssh node2 '/etc/rc.d/init.d/heartbeat start'  
  3. # passwd hacluster (這裏在那臺登錄,在那個上設置密碼即可)  
  4. # hb_gui & (進入圖形設置) 
4、配置:
點連接,輸入密碼
右鍵,新建資源
 
默認即可
 
添加VIP
 
在添加ipvsadm命令的
 
之後添加排序約束
 
默認即可
 
添加信息
之後啓動2個資源即可
 

 
訪問下看看,並且在node2上可以看到VIP信息
 

下面切換下,可以看到都在node1上了,並且ip addr show也有顯示VIP信息,訪問依舊正常,有輪詢效果
   
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章