设为首页 收藏本站
查看: 848|回复: 0

[经验分享] Lvs+Keepalived高可用负载均衡配置

[复制链接]

尚未签到

发表于 2018-12-31 07:00:58 | 显示全部楼层 |阅读模式
   Lvs+Keepalived高可用负载均衡配置
  环境介绍:
vip=192.168.3.80   (负载均衡虚拟ip)
lvs+keepalived_master          eth0:172.20.27.81  eth1:192.168.3.81 (1核1G)
lvs+keepalived_back             eth0:172.20.27.82  eth1:192.168.3.82 (1核1G)
web01                                    eth0:172.20.27.83  eth1:192.168.3.83 (1核1G)
web02                                    eth0:172.20.27.84  eth1:192.168.3.84 (1核1G)
  一、在(lvs主备节点)安装
1.安装依赖包:
yum install -y gcc gcc-c++ makepcre pcre-devel kernel-devel openssl-devel libnl-devel popt-devel popt-static
modprobe -l | grep ipvs //检查linux内核是否集成lvs模块:
echo "1" >/proc/sys/net/ipv4/ip_forward //开启路由转发功能:  2.安装ipvsadm
wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz
tar zxvf ipvsadm-1.26.tar.gz
cd ipvsadm-1.26
make && make install  3.安装keepalived
3.1安装配置keepalived
wget http://www.keepalived.org/software/keepalived-1.2.15.tar.gz
tar zxvf keepalived-1.2.15.tar.gz
cd keepalived-1.2.15
./configure --prefix=/usr/local/keepalived
make && make install  3.2将keepalived配置成系统服务
cp /usr/local/keepalived/etc/rc.d/init.d/keepalived  /etc/init.d/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived/
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/  3.3修改keepalived配置文件
3.3.1修改lvs+keepalived_master的keepalived配置文件
echo '' >/etc/keepalived/keepalived.conf //清空配置文件,自己写
vim /etc/keepalived/keepalived.conf! Configuration File forkeepalived
global_defs {
notification_email {
331095659@qq.com    #故障接受联系人
}
notification_email_from 331095659@qq.com    #故障发送人
smtp_server 127.0.0.1   #本机发送邮件
smtp_connect_timeout 30
router_id LVS_MASTER   #lvs+keepalived_back上修改为LVS_BACKUP
}
vrrp_instance VI_1 {
state MASTER    #lvs+keepalived_back上修改为BACKUP
interface eth1
virtual_router_id 51   #虚拟路由标识,主从相同
priority 100   #lvs+keepalived_back上修改为90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111   #主从认证密码必须一致
}
virtual_ipaddress {    #Web虚拟IP(VTP)
192.168.3.80
}
}
virtual_server 192.168.3.80 80 { #定义虚拟IP和端口
delay_loop 6    #检查真实服务器时间,单位秒
lb_algo wlc      #设置负载调度算法,wlc为加权最少链接(Weighted Least Connections)比较多
lb_kind DR      #设置LVS负载均衡DR模式
persistence_timeout 60 #同一IP的连接60秒内被分配到同一台真实服务器
protocol TCP    #使用TCP协议检查realserver状态
real_server 192.168.3.83 80 {  #第一个web服务器
weight 3          #节点权重值
TCP_CHECK {       #健康检查方式
connect_timeout 3 #连接超时
nb_get_retry 3    #重试次数
delay_before_retry 3  #重试间隔/S
}
}
real_server 192.168.3.84 80 {  #第二个web服务器
weight 3
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}  3.3.2修改lvs+keepalived_back的keepalived配置文件
echo '' >/etc/keepalived/keepalived.conf //清空配置文件,自己写
vim /etc/keepalived/keepalived.conf! Configuration File forkeepalived
global_defs {
notification_email {
331095659@qq.com   
}
notification_email_from 331095659@qq.com   
smtp_server 127.0.0.1  
smtp_connect_timeout 30
router_id LVS_BACKUP
}
vrrp_instance VI_1 {
state BACKUP   
interface eth1
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress
192.168.3.80
}
}
virtual_server 192.168.3.80 80 {
delay_loop 6
lb_algo wlc
lb_kind DR
persistence_timeout 60
protocol TCP
real_server 192.168.3.83 80 {
weight 3
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.3.84 80 {
weight 3
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}  3.4 启动keepalived(lvs主备节点都启动)
service keepalived restart
echo 'service keepalived start' >>/etc/rc.local  二、分别在两台Web(web01和web02)服务器编写脚本并启动
vim /etc/init.d/real.sh
#!/bin/bash
#description : start realserver
VIP=192.168.3.80 //keepalived虚拟ip
. /etc/init.d/functions
case "$1" in
start)
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
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
echo "LVS RealServer Start OK"
;;
stop)
/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 "LVS RealServer Stoped OK"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esacchmod +x /etc/init.d/real.sh
/etc/init.d/real.sh start
echo "/etc/init.d/real.sh start" >> /etc/rc.local  三、测试及常用命令
常用命令:
ipvsadm -ln #显示集群中服务器ip信息
ip addr       #显示VTP绑定在哪个服务器上
tail -f /var/log/messger
(从日志中可知,主机出现故障后,备机立刻检测到,此时备机变为MASTER角色,并且接管了主机的虚拟IP资源,最后将虚拟IP绑定在eth1设备上)



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-657748-1-1.html 上篇帖子: 基于Keepalived构建高可用集群配置实例(HA Cluster) 下篇帖子: Nginx+Keepalived实现负载均衡高可用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表