lvs+heartbeat安装部署笔记

网络拓补

 

角色

网卡

IP

备注

Ldirectord1

Eth0

192.168.1.1

Eth1用来做心跳线检测

Eth1

100.0.0.1

Ldirectord2

Eth0

192.168.1.2

Eth1用来做心跳线检测

Eth1

100.0.0.2

Realserver1

Eth0

192.168.1.3


Lo:0

192.168.1.100

Realserver2

Eth0

192.168.1.4


Lo:0

192.168.1.100

VIP

192.168.1.100





 

Ldirectored服务器配置

 

系统配置

 

setenforce 0

service iptables stop

sed –i ‘/ net.ipv4.ip_forward /s/0/1/’ /etc/sysctl.conf

sysctl –p

echo “ldirectored1 192.168.1.1” >>/etc/hosts

echo “ldirectored2 192.168.1.2” >>/etc/hosts

hostname ldirectored1

#另一台 hostname ldirectored2

sed -i ‘/HOSTNAME/s/\=.*$/\= ldirectored1/‘ /etc/sysconfig/network

#另一台 sed -i ‘/HOSTNAME/s/\=.*$/\= ldirectored2/‘ /etc/sysconfig/network

ifconfig eth1 100.0.0.1 netmask 255.0.0.0 up

#另一台 ifconfig eth1 100.0.0.2 netmask 255.0.0.0 up
 

安装ipvsadm-1.24.tar.gz、libnet.tar.gz和heartbeat-2.1.3.tar.gz

 

#lvs install

tar zxvf ipvsadm-1.24.tar.gz

cd ipvsadm-1.24

ln -s /usr/src/kernels/2.6.18-92.el5-x86_64/ /usr/src/linux #这里需要注意,不同系统文件名不同

make

make install

cd ../

#heartbeat

tar zxvf libnet.tar.gz

cd libnet

./configure

make

make install

cd ../

tar zxvf heartbeat-2.1.3.tar.gz

cd heartbeat-2.1.3

./ConfigureMe configure

make

make install

groupadd hacluster

groupadd haclient

useradd hacluster -g hacluster
 

配置lvs和heartbeat

 

cat <<EOF>>/etc/ha.d/authkeys

auth 3

#1 crc

#2 sha1 HI!

3 md5 Hello!

EOF

chmod 600 /etc/ha.d/authkeys

 

cat <<EOF>>/etc/ha.d/ha.cf

debugfile /var/log/ha-debug

logfile /var/log/ha-log

logfacility local0

keepalive 1

deadtime 20

warntime 10

udpport 694

bcast eth1

ucast eth1 100.0.0.2 #两台ip不一样,写对方的心跳线ip地址

#另一台 ucast eth1 100.0.0.1

auto_failback off

node ldirectored1

node ldirectored2

EOF

 

cat <<EOF>>/etc/ha.d/haresources

ldirectored1 IPaddr::192.168.1.100/16/eth0/192.168.1.255 ldirectord::ldirectord.cf.100

#另一台ldirectored2 IPaddr::192.168.1.100/16/eth0/192.168.1.255 ldirectord::ldirectord.cf.100

EOF

 

cat <<EOF>>/etc/ha.d/ldirectord.cf

checktimeout=3

checkinterval=5

autoreload=yes

quiescent=no

 

virtual=192.168.1.100:12000

real=192.168.1.3:12000 gate 1

real=192.168.1.4:12000 gate 1

checkport=12000

protocol=tcp

checktype=on

service=none

scheduler=wrr

EOF
 

启动heartbeat服务

 

service heartbeat start
 

realserve服务器配置

 

setenforce 0

service iptables stop

cat <<EOF>>/etc/sysctl.conf

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

EOF

sysctl –p

cat <<EOF>/etc/sysconfig/network-scripts/ifcfg-lo:0

DEVICE=lo:0

BOOTPRO=static

ONBOOT=yes

IPADDR=192.168.1.100

NETMASK=255.255.255.255

EOF

ifup lo:0