本文共 5025 字,大约阅读时间需要 16 分钟。
#modprobe ip_vs
#yum install libnl -ydir2:#yum install gcc gcc-c++ -y#yum install kernel-devel -y#yum-y install keepalived ipvsadm#modprobe ip_vs
#yum install libnl -y三、修改配置文件:global_defs {
notification_email {
root@localhost #默认三个地址,修改可用地址
}
notification_email_from root@localhost
smtp_server localhost
smtp_connect_timeout 30
router_id xuegod63 #标识当前节点名字,两个节点的此项需要不相同。
}
#默认的配置文件中,使用第三方 smtp 服务器,但这在现实中几乎没有意义,发不出邮件,我们将其挃定为 localhost, 我们也可以将通知信息的发送交给本地 sendmail 服务处理。
vrrp_instance apache { #定义一个实例,一个集群就是一个实例。 默认VI_1 可以随意改,双击可以定义2个实例。
state MASTER #指定 A 节点为主节点 备用节点上设置为 BACKUP 即可interface eth0 #绑定虚拟 IP 的网络接口virtual_router_id 51 #VRRP 组名,两个节点的设置必须一样,以指明各个节点属于同一 VRRP 组priority 100 #主节点的优先级(1-254 之间),备用节点必须比主节点优先级低advert_int 1 #组播信息发送间隔,两个节点设置必须一样authentication { #设置验证信息,两个节点必须一致 auth_type PASS auth_pass 1111}virtual_ipaddress { 192.168.146.30 #指定虚拟 IP, 两个节点设置必须一样}
}
#类似添加虚拟一个服务 ipvsadm -A -t 192.168.1.70:80 -s rr
virtual_server 192.168.146.30 80 { #对虚拟IP63添加LVS相关内容
delay_loop 6 #Keepalived 多长时间监测一次 RSlb_algo rr #分发算法lb_kind DR #DR 模式nat_mask 255.255.255.0persistence_timeout 50 #同一IP 50秒内的请求都发到同个real server ,这个会影响LVS的 rr 调度算法, 同一 IP 超过 50 秒后,再次访问,才会被转发到另一台 real server 上。 persistence 持久性的意思,#如果要测试是否轮询就要删除这行代码protocol TCPreal_server 192.168.146.33 80 { #配置服务节点 1,需要指定 realserver 的真实 IP 地址和端口,IP 不端口之间用空格隔开 weight 1 #配置服务节点的权值,权值大小用数字表示,数字越大,权值越高,设置权值大小可以为不同性能的服务器 TCP_CHECK { #这段内容手动添加,爸以前的内容删除 connect_timeout 3 #表示 3 秒无响应超时 nb_get_retry 3 #表示重试次数 delay_before_retry 3 #表示重试间隔 connect_port 80 #检测端口 }}real_server 192.168.146.34 80 { weight 1 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 connect_port 80 }}
}
vrrp_instance nginx {
state BACKUPinterface eth0virtual_router_id 52priority 90advert_int 1authentication { auth_type PASS auth_pass 11112}virtual_ipaddress { 192.168.146.29}
}
virtual_server 192.168.146.29 80 {
delay_loop 6lb_algo rrlb_kind DRnat_mask 255.255.255.0persistence_timeout 50 #如果要测试是否轮询就要删除这行代码protocol TCP
real_server 192.168.146.33 80 {
weight 1 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3
connect_port 80
}
}
real_server 192.168.146.34 80 {
weight 1 TCP_CHECK{ connect_timeout 3 nb_get_retry 3 delay_before_retry 3
connect_port 80
}}
}
四、2个rs服务器上建立测试网页文件#echo rs2 > /var/www/html/index.html #第2台机器
五、rs1和rs2配置vip:#!/bin/bash
#chkconfig:2345 80 90
#description:start relserver
VIP=192.168.146.30
source /etc/init.d/functions #加载环境变量(可以加载所有的环境变量)
case $1 in
start)
echo 'start LVS of Realserver DR' /sbin/ifconfig lo:1 $VIP broadcast $VIP netmask 255.255.255.255 up /sbin/route add -host $VIP dev lo:1 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)
/sbin/ifconfig lo:1 down echo 'Close LVS of Realserver DR' 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
#/etc/init.d/lvsrsdr start
#chkconfig --add lvrsdr
#chkconfig lvsrsdr on
#!/bin/bash
#chkconfig:2345 80 90
#description:start relserver
VIP=192.168.146.29
source /etc/init.d/functions #加载环境变量(可以加载所有的环境变量)
case $1 in
start)
echo 'start LVS of Realserver DR' /sbin/ifconfig lo:2 $VIP broadcast $VIP netmask 255.255.255.255 up /sbin/route add -host $VIP dev lo:2 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)
/sbin/ifconfig lo:2 down echo 'Close LVS of Realserver DR' 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
#/etc/init.d/lvsrsdr start
#chkconfig --add lvrsdr2
#chkconfig lvsrsdr2 on
打开一个测试机器 :
curl
或者:
elinks -dump
转载于:https://blog.51cto.com/hzcto/2405330