heartbeat + http 高可用
一,試驗拓撲:
二,兩節點基本配置:
(這裏我先配置的node1,node2也是一樣的)
1、修改主機名
(這裏我先配置的node1,node2也是一樣的)
1、修改主機名
# vim /etc/sysconfig/network
HOSTNAME=node1
HOSTNAME=node1
2、修改hosts,這裏沒做DNS所以寫hosts
# vim /etc/hosts
192.168.80.141 node1
192.168.80.138 node2
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啓動)
# 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
# ssh-copy-id -i .ssh/id_rsa.pub root@node1
注:需要注意2節點的時間不要相差太多
三,安裝heartbeat
這裏使用的rpm安裝的:
- # 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
- # cd /usr/share/doc/heartbeat-2.1.4/
- # cp ha.cf authkeys haresources /etc/ha.d/
- # chmod 600 authkeys
- # vim authkeys (添加如下內容md5後面的是個加密的隨機數通過dd if=/dev/urandom count=512 bs=1 | md5sum最後一行產生的)
- auth 1
- 1 md5 3c41810e230a997444836b164ddb7978
- # egrep -v "^#|^$" /etc/ha.d/ha.cf
- logfacility local0
- keepalive 2 心跳檢查時間
- deadtime 30 防止分裂
- bcast eth1 # Linux 指定網卡
- auto_failback on 是重新搶回資源
- node node1 節點名稱與hosts對稱
- node node2
- ping 192.168.80.1 指定仲裁
- compression bz2 指定壓縮
- compression_threshold 2 2K以上壓縮
- # vim /etc/ha.d/haresources 最後添加
- node1 192.168.80.100/24/eth1/192.168.80.255 httpd
- # scp -p authkeys ha.cf haresources node2:/etc/ha.d
- # service heartbeat start
- # ssh node2 '/etc/rc.d/init.d/heartbeat start'
下面訪問下:
之後可以通過執行cd /usr/share/heartbeat/下的
# ./hb_standby
2012/08/03_00:41:33 Going standby [all].
進行手動切換,在訪問下,而且也可以可能到80的進程
heartbeat + lvs 高可用
一:試驗拓撲如下:
一:試驗拓撲如下:
- # cat /etc/rc.d/init.d/lvsdrrip
- #!/bin/bash
- #DR server
- VIP=192.168.80.100
- case "$1" in
- start)
- echo "start LVS of DR"
- /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
- /sbin/route add -host $VIP dev lo:0
- echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
- echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
- echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
- echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
- ;;
- stop)
- echo "stop LVS of DR"
- /sbin/ifconfig lo:0 down
- echo "0" > /proc/sys/net/ipv4/conf/lo/arp_ignore
- echo "0" > /proc/sys/net/ipv4/conf/lo/arp_announce
- echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore
- echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce
- ;;
- *)
- echo "Usage:$0 {start|stop}"
- exit 1
- esac
- # chmod +x /etc/rc.d/init.d/lvsdrrip
- # yum -y install httpd
- # echo "RS1" > /var/www/html/index.html
- # service httpd start
- # service lvsdrrip start
三:配置nod1和node2
(這裏在上個試驗基礎上操作,這次先用圖形的操作)
1、首先關閉2節點的heartbeat服務
(這裏在上個試驗基礎上操作,這次先用圖形的操作)
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
# 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
啓動服務
在/etc/ha.d/ha.cf最後添加
crm on
啓動服務
- # service heartbeat start
- # ssh node2 '/etc/rc.d/init.d/heartbeat start'
- # passwd hacluster (這裏在那臺登錄,在那個上設置密碼即可)
- # hb_gui & (進入圖形設置)
4、配置:
點連接,輸入密碼
點連接,輸入密碼
右鍵,新建資源
默認即可
添加VIP
在添加ipvsadm命令的
之後添加排序約束
默認即可
添加信息
之後啓動2個資源即可
訪問下看看,並且在node2上可以看到VIP信息
下面切換下,可以看到都在node1上了,並且ip addr show也有顯示VIP信息,訪問依舊正常,有輪詢效果