LVS+Keepalived负载均衡配置部署
来源:互联网 发布:逻辑回归算法概念 编辑:程序博客网 时间:2024/05/29 14:06
http://www.ituring.com.cn/article/179806
相关概念
- 维基百科-LVS
- 百度百科-LVS
- LVS中文站点
- LVS中文手册
一、准备工作
1. 服务器、操作系统(当前CentOS6.6 x86_64)
、网络环境(服务期间网络互通)
;
# 操作系统:CentOS6.6 x86_64# 服务器 (LVS主备各1台,WEB服务器3台,图片服务器2台)WEBServer负载虚拟IP:192.168.0.20IMGServer负载虚拟IP:192.168.0.30LVS主:192.168.0.11LVS备:192.168.0.12WebServer1: 192.168.0.21WebServer2: 192.168.0.22WebServer3: 192.168.0.23IMGServer1: 192.168.0.31IMGServer2: 192.168.0.32
2. 关闭SELinux(改完需重启服务器)
;
# 关闭SELinuxsed -i 's#^SELINUX=.*#SELINUX=disabled#' /etc/sysconfig/selinux # 重启服务器reboot
3. Iptables开启需要端口,如80;
# Iptables 开启相应端口iptables -A INPUT -p tcp -s 0/0 --dport 80 -j ACCEPT iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
二、LVS主机安装Keepalived,ipvsadm
1. 安装依赖包
yum -y install wget popt popt-devel popt-static libnl libnl-devel kernel-devel; ln -s /usr/src/kernels/$(uname -r)/ /usr/src/linux;
2. 安装 Keepalived,ipvsadm(YUM安装或TarBall安装)
# YUM安装 Keepalived,ipvsadmyum -y install keepalived ipvsadm;# TarBall安装Keepalivedwget http://www.keepalived.org/software/keepalived-1.2.15.tar.gz;tar xvf keepalived-1.2.15.tar.gz -C /usr/local/src/;cd /usr/local/src/keepalived-1.2.15/;./configure \--bindir=/usr/bin \--sbindir=/usr/sbin \--sysconf=/etc \--with-kernel-dir=/usr/src/kernels/$(uname -r)/;make;make install;# TarBall安装ipvsadmwget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz; tar xvf ipvsadm-1.26.tar.gz -C /usr/local/src/;cd /usr/local/src/ipvsadm-1.26/;make;make install;
3. 创建ipvsadm配置文件,启动并加入开机启动
/etc/init.d/ipvsadm save; /etc/init.d/ipvsadm start;chkconfig ipvsadm on;
4. 配置并启动keepalived
# 备份keepalived配置文件cd /etc/keepalived/;[ -f "keepalived.conf" -a ! -f "keepalived.conf.default" ] && mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.default;[ -f "keepalived.conf" ] && mv keepalived.conf keepalived.conf.$(date +%F_%T);# 创建 Keepalived 配置文件(需先修改 virtual_ipaddress,virtual_server,real_server 配置的IP)cat >> /etc/keepalived/keepalived.conf <<KEEPALIVED! Configuration File for keepalivedglobal_defs { notification_email { mr@mruse.cn } notification_email_from xxx@163.com smtp_server smtp@163.com smtp_connect_timeout 30 router_id LVS_1}vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 60 priority 100 advert_int 1 authentication { auth_type PASS auth_pass MrUse } virtual_ipaddress { 192.168.0.20 192.168.0.30 }}virtual_server 192.168.0.21 80 { delay_loop 3 lb_algo rr lb_kind DR persistence_timeout 3 protocol TCP real_server 192.168.0.22 80 { weight 3 TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } real_server 192.168.0.23 80 { weight 3 TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } }}virtual_server 172.16.100.130 80 { delay_loop 3 lb_algo rr lb_kind DR persistence_timeout 3 protocol TCP real_server 192.168.0.31 80 { weight 3 TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } real_server 192.168.0.32 80 { weight 3 TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } }}KEEPALIVED# 启动Keepalived并加入开机启动/etc/init.d/keepalived restart;chkconfig keepalived on;
5. 记录Keepalived日志
# 注释Keepalived默认配置grep ^KEEPALIVED_OPTIONS /etc/sysconfig/keepalived && sed -i 's#^KEEPALIVED_OPTIONS#\#KEEPALIVED_OPTIONS#g' /etc/sysconfig/keepalived;# 更新keepalived配置echo 'KEEPALIVED_OPTIONS="-D -d -S 0"' >> /etc/sysconfig/keepalived;/etc/init.d/keepalived restartgrep "# CmsTop Keepalived" /etc/rsyslog.conf||cat >> /etc/rsyslog.conf <<SYSLOG# CmsTop Keepalived $(date +%F)# keepalived -D -d -S 0local0.* /var/log/keepalived.logSYSLOG/etc/init.d/rsyslog restart
6. 为真实服务器 WebServer, IMGServe创建配置启动脚本(需修改IP地址)
[ -f "/etc/init.d/lvsr" ] && mv /etc/init.d/lvsr /etc/init.d/lvsr.$(date +%F_%T)cat >> /etc/init.d/lvsr <<LVSR#!/bin/bashSNS_VIP=172.16.100.120/etc/rc.d/init.d/functionsstart(){ /sbin/ifconfig lo:0 \$SNS_VIP netmask 255.255.255.255 broadcast \$SNS_VIP up /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 "LVS RealServer Start 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 "LVS RealServer Stoped"}case "\$1" in start) start; ;; stop) stop; ;; restart) stop; start; ;; status) /sbin/ifconfig|tail -5 ;; *) echo "Usage: \$0 {start|stop|restart|status}" exit 1esacexit 0LVSR# 修改依赖文件及启动脚本权限并启动chmod +x /etc/init.d/lvsr;chmod +x /etc/rc.d/init.d/functions;/etc/init.d/lvsr start# 加入开机启动grep ^/etc/init.d/lvsr /etc/rc.local || echo '/etc/init.d/lvsr start' >> /etc/rc.local
三、查看状态、测试排错
1. 重启Keepalived,在LVS服务器上查看状态
/etc/init.d/keepalived restart;/etc/init.d/ipvsadm status;
2. 测试排查思路
# 查看配置文件,查看ip# 查看Iptables是否开启相应端口# 查看网络,服务器间及与虚拟IP是否可以通信# 查看Keepalived,ipvsadm是否正常启动# 查看错误日志
0 0
- LVS+Keepalived负载均衡配置部署
- LVS+Keepalived负载均衡配置部署
- lvs+keepalived 负载均衡keepalived.conf配置
- LVS+keepalived负载均衡
- LVS+keepalived负载均衡
- LVS+keepalived负载均衡
- lvs+keepalived 负载均衡
- lvs+keepalived 负载均衡
- LVS+KEEPALIVED负载均衡
- lvs keepalived 负载均衡
- LVS+keepalived负载均衡
- 负载均衡(LVS+keepalived)
- LVS+keepalived负载均衡
- 负载均衡 lvs+keepalived
- LVS+keepalived负载均衡
- lvs +keepalived负载均衡
- Linux下部署lvs+keepalived实现高可用负载均衡
- LVS + keepalived 实现负载均衡
- maven中pom文件解析
- 设计模式——工厂模式
- 比较器Comparator 和 Comparable的简单区别
- java项目怎么打成可运行的jar包
- 学习一下 冒泡排序
- LVS+Keepalived负载均衡配置部署
- 网络图片下载到本地相册
- Mac终端多窗口tmux
- QT中定义类,类中自定义的结构体,但是编译报错说这个结构体未声明
- ubuntu上用apt安装php7.1的扩展
- perl调试
- ubuntu16.04+cuda8.0+caffe
- C#【异常处理】调用dll。GetProcAddress 托管的 PInvoke 签名与非托管的目标签名不匹配?
- Linux中关于scp的用法