文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>heartbeat + lvs

heartbeat + lvs

时间:2006-07-03  来源:sqp1982

这篇文章写得是lvs + heartbeat , 完全是我自己做出来的感受,当然有些东西我还不是十分了解:)

    测试的机器有4台
    10.96.100.237 虚拟ip(对外提供的)
    10.96.100.233 heartbeat Load Balancer
    10.96.100.234 heartbeat backup
    10.96.100.235 realserver
    10.96.100.236 realserver

    首先在node1,node2上装centos 4.3 系统
    node1
   cat /etc/hosts
   # Do not remove the following line, or various programs
   # that require network functionality will fail.
   127.0.0.1               localhost.localdomain localhost
   10.96.100.233           node1.lvs.com.cn
   10.96.100.234           node2.lvs.com.cn
   
    cat /etc/sysconfig/network-scirpts/ifcfg-eth0
    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=10.96.100.233
    NETMASK=255.255.255.0

   下载heartbeat软件,libnet软件(heartbeat需要的)
    groupadd -g 694 haclient
    useradd -u 694 -g haclient hacluster
    tar -zvxf libnet.tar.gz
    cd libnet
    ./configure && make && make install
    tar -zvxf heartbeat-2.0.4.tar.gz
    cd heartbeat-2.0.4
    ./ConfigureMe configure --disable-swig --disable-snmp-subagent
    && make && make install
    cp doc/ha.cf doc/haresources doc/authkeys /etc/ha.d/
    cp ldirectord/ldirectord.cf /etc/ha.d/
    chkconfig --add heartbeat
    chkconfig --del ldirectord
   
logfile /var/log/ha-log
logfacility     local0
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport 694
baud    19200
bcast   eth0            # Linux
mcast eth0 225.0.0.1 694 1 0
auto_failback on
node    node1.lvs.com.cn
node    node2.lvs.com.cn
respawn root /usr/lib/heartbeat/ipfail
apiauth ipfail gid=root uid=root

grep -v -E '^#|^$' /etc/ha.d/haresources
node1.lvs.com.cn IPaddr::10.96.100.237/24/eth0:0 ipvsadm ldirectord

grep -v -E '^#|^$' /etc/ha.d/ldirectord.cf
checktimeout=3
checkinterval=1
fallback=127.0.0.1:80
autoreload=yes
quiescent=yes
virtual=10.96.100.237:80
        real=10.96.100.235:80 gate
        real=10.96.100.236:80 gate
        fallback=127.0.0.1:80 gate
        service=http
        scheduler=rr
        #persistent=600
        #netmask=255.255.255.255
        protocol=tcp

 

认证文件(/etc/ha.d/authkeys),选取一种认证方式,这个文件的权限必须是600:

auth 1

1 crc

#2 sha1 sha1_any_password

#3 md5 md5_any_password

安装ipvsadm
rpm -ivh ipvsadm-***.rpm
cat /etc/sysconfig/ipvsadm
-A -t 10.96.100.237:80 -s wlc
-a -t 10.96.100.237:80 -r 10.96.100.235:80 -g -w 1
-a -t 10.96.100.237:80 -r 10.96.100.236:80 -g -w 1

node2的配置需要与node1完全一致即可.

realserver
cat /etc/sysconfig/network-scripts/ifcfg-eth0:0
DEVICE=eth0:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.96.100.237
NETMASK=255.255.255.255
BROADCAST=10.96.100.237

cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.96.100.236
NETMASK=255.255.255.0
GATEWAY=10.96.100.254

grep -v -E '^$|^#' /etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.conf.all.arp_ignore = 1 (忽略arp)
net.ipv4.conf.all.arp_announce = 2 (禁止arp广播)

sysctl -p 使设置生效

其他的realserver 与这个配置相同
reboot 这四台机器

如果一切顺利
http://10.96.100.237 不停的刷新她会访问10.96.100.235,236
当然235,236要装http server

测试heartbeat 拔掉网线看backup 会不会接管,注意查看/var/log/ha-log
将网线插回,看load blancer 是不是会接管,因为这是active/standby的模式
正常的话互相切换不会有问题

测试 ldirectord , 将235的网线拔掉, 看看他是不是只访问236
可以通过ipvsadm -l -c 查看

如果正常他不会访问235了

如果有问题可以与我联系
[email protected]

:)

参考文章
http://zh.linuxvirtualserver.org/node/95
相关阅读 更多 +
排行榜 更多 +
我狙击打的贼准

我狙击打的贼准

飞行射击 下载
暗夜编年史

暗夜编年史

飞行射击 下载
狙击先生子弹行动

狙击先生子弹行动

飞行射击 下载