大家好,又见面了,我是你们的朋友全栈君。
Cent0S下使用LVS+KeepLive,进行负载均衡及高可用web服务器。
通过对本文章的阅读:你可以了解LVS+KeepLive的安装,按照步骤一步一步完成就能实现对2台或N台web服务器进行负载均衡,实现LVS的负载均衡及失效转移。
一、需要的文件:
1、ipvsadm-1.24.tar.gz,下载地址:下载
2、keepalived-1.1.15.tar.gz,下载地址:下载
二、对LVS学习的网站推荐:
2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
2.6.32-431.el6.x86_64/ /usr/src/linux
!!! OpenSSL is not properly installed on your system. !!!
!!! Can not include OpenSSL headers files.
cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/sbin/keepalived /usr/sbin/
8、启动或停止:service keepalived start
sudo chkconfig –add keepalived
sudo chkconfig –level 35 keepalived on
global_defs {
notification_email {
hezx@gaojiasoft.com #故障通知接收者邮箱,可以多个
caoli@gaojiasoft.com
}
notification_email_from hezx@gaojiasoft.com #故障发送者邮箱
smtp_server 192.168.62.130 #邮件服务器的IP
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER #如果是备份LVS,则修改为BACKUP
interface eth0
virtual_router_id 51 #2个LVS必须在一致
priority 100 #如果是备份LVS,则修改得比MASTER小,至少50的差距,比如49
advert_int 1
authentication {
auth_type PASS #主从LVS的时候,PASS一致才可以。
auth_pass 1111
}
virtual_ipaddress {
192.168.62.100 #LVS的对外虚拟IP,可以是多个,这样一般可以再域名解析的时候有帮助,比如电信,联通的IP
192.168.62.99
192.168.62.98
}
}
#虚拟LVS代理80端口
virtual_server 192.168.62.100 8080 {
delay_loop 6
lb_algo wrr #压力最小轮询
lb_kind DR #LVS的路由模式
nat_mask 255.255.255.0
persistence_timeout 10
protocol TCP #指定转发协议,TCP OR UDP
#真实服务器1
real_server 192.168.62.133 8080 {
weight 5 #权重,越大越高
TCP_CHECK {#relserve的状态检测设置部分,单位是秒
connect_timeout 10 #表示10秒无响应超时
nb_get_retry 3 #表示重试次数
dealy_before_retry 3 #表示重试间隔
connect_port 8080
}
}
#真实服务器2
real_server 192.168.62.134 8080 {
weight 1 #权重,越大越高,依据机器配置来设置
TCP_CHECK {#relserve的状态检测设置部分,单位是秒
connect_timeout 10 #表示10秒无响应超时
nb_get_retry 3 #表示重试次数
dealy_before_retry 3 #表示重试间隔
connect_port 8080
}
}
}
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.62.100:8080 wrr persistent 10
-> 192.168.62.134:8080 Route 1 0 0
-> 192.168.62.133:8080 Route 5 0 0
ifconfig eth0 192.168.62.130 //(DIP)
ifconfig eth0:0 192.168.62.100 //(VIP),这个VIP通过防火墙映射到公网IP
route add -host 192.168.62.100 dev eth0:0 //让发往192.168.62.100的请求都经过eth0:0
2)、RelServer 1-N个服务器的配置,每个都要执行下
使用root用户,在任意目录下建议lvs_real.sh文件,将如下文字拷贝进去
#!/bin/bash#Description: Config realserver script
SNS_VIP=192.168.62.100 #对应LVS服务器的VIP
/etc/rc.d/init.d/functions
case “$1” in
start)
/sbin/ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
/sbin/route add -host $SNS_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
sysctl -p >/dev/null 2>&1
echo “RealServer NETWork OK”
;;
stop)
/sbin/ifconfig lo:0 down
/sbin/route del $SNS_VIP >/dev/null 2>&1
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 “RealServer Stoped”
;;
*)
echo “Usage: $0 {start|stop}”
exit 1
esac
exit 0
#———————————
chmod 755 ./lvs_real.sh
启动脚本:
./lvs_real.sh start :
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134245.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...