LVS+Keepalived负载均衡高可用如此简单?

LVS+Keepalived负载均衡高可用如此简单?,第1张

LVS+Keepalived负载均衡高可用如此简单?

今天简单记下lvs+keepalive实现负载均衡和高可用的功能,仅供参考!这里不描述它们的详细介绍,大家可以自行搜索!

LVS+keepalive网络拓扑图:

一、准备1台vip和4台虚拟机:

vip:192.168.1.100 对外提供服务的ip,通常为
192.168.1.10 LB1_主调度程序IP
192.168.1.13 LB2_从调度程序IP
192.168.1.11 nginx服务器IP
192.168.1.12 apache服务器IP

二、安装准备工作

lsmod|grep ip_vs cat /etc/redhat-release uname –rm ln –s /usr/src/kernels/内核版本  /usr/src/linux ln -s /usr/src/kernels/2.6.32-504.12.2.el6.x86_64/ /usr/src/linux #若tab没有内核版本号出来,安装kernel-devel yum install kernel-devel  libnl* popt* –y

#ipvsadm下载地址(注意版本)

http://www.linuxvirtualserver.org/software/ipvs.html

#安装LVS命令

tar zxvf ipvsadm-1.26.tar.gz cd ipvsadm-1.26 make && make install #将ipvsadm加入内核模块的方法有以下两种 modprobe ip_vs /sbin/ipvsadm #查看下是否加载成功,若有以下内容表示安装成功 [root@php ipvsadm-1.26]# lsmod |grep ip_vs ip_vs                 125694  0  libcrc32c               1246  1 ip_vs ipv6                  334932  25 ip_vs

三。LB增加LVS转发

1。如果有域名,则将域名解析为公共IP

2。配置LVS虚拟IP就是我们所说的VIP

ifconfig eth0:0 192.168.1.100/24 up route add -host 192.168.1.100 dev eth0

3。检查结果

ifconfig eth0:0    Link encap:Ethernet  HWaddr 08:00:27:03:F9:0D   inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

4。配置添加LVS服务和添加RS

这里有必要介绍一下添加集群服务的规则:

格式:IPVSADM-A|E-T|U|FService-Address[-SScheduler]

参数:

[-p[超时]][-M网络掩码]

-A:表示添加新的集群服务(add)

-E:编辑群集服务

-t:表示tcp

-u:表示udp

-f:表示防火墙标记,防火墙

服务地址:集群服务的IP地址,即VIP

-s指定调度算法

-p持久连接的持续时间,如#ipvsadm-Lcn,检查持久连接状态

-M定义网络掩码

ipvsadm-d-t|u|f服务地址删除群集服务

ipvsadm-CClear空所有规则

ipvsadm-R重新加载规则

ipvsadm-s[-n]保存规则(保存)

向群集服务添加RealServer规则:

添加RealServer规则

格式:ipvsadm-a|e-t|u|fservice-address-rserver-address

参数:

[-g|i|m][-w重量]

-a添加新的realserver规则

-e编辑realserver规则

-ttcp协议

-uudp协议

-f防火墙l标记,防火墙标记

服务地址真实服务器的IP地址(真实服务器的IP)

-g表示LVS-DR型号

-i表示定义为LVS-吞模型

-m表示它被定义为LVS-NAT模型

-w定义权重,后跟特定权重

ipvsadm-d-t|u|fservice-address-rserver-address-删除一个realserver

#设置超时(可选) ipvsadm --set 30 5 60 #添加一个实例(类似虚拟主机)用-A ipvsadm -A -t 192.168.1.100:80 -s wrr –p 20 ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.11 -g -w 1 ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.12 -g -w 1

5。检查结果

ipvsadm -L

四、LB删除LVS法

#删除virtual server用ipvsadm –D ipvsadm –D –t 192.168.1.10 –s wrr #删除节点用ipvsadm -d ipvsadm -d -t 192.168.1.100:80 -r 192.168.1.12:80

动词(verb的缩写)RS配置lo并绑定vip

ifconfig lo:0 192.168.1.100/32 up route add –host 192.168.1.100 dev lo

1.RS端抑制arp广播

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

不及物动词保持激活服务高度可用。

安装方法一: yum install openssl* -y yum install kernel-devel  libnl* popt* –y ln -s /usr/src/kernels/2.6.32-504.8.1.el6.x86_64/ /usr/src/linux tar zxvf keepalived-1.1.19.tar.gz cd keepalived-1.1.19 ./configure make && make install

安装方法二: tar zxvf keepalived-1.1.19.tar.gz cd keepalived-1.1.19 ./configure \ --mandir=/usr/loacl/share/man \ --with-kernel-dir=/usr/src/kernels/2.6.32-504.8.1.el6.x86_64/ make && make install

*** 作命令:

/bin/cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/ /bin/cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ mkdir /etc/keepalived –p /bin/cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/ /bin/cp /usr/local/sbin/keepalived /usr/sbin/ /etc/init.d/keepalived start [root@apache ~]# /etc/init.d/keepalived start Starting keepalived:                                       [  OK  ] [root@apache ~]#ps -ef|grep keep root      2864     1  0 07:58 ?        00:00:00 keepalived -D root      2866  2864  0 07:58 ?        00:00:00 keepalived -D root      2867  2864  0 07:58 ?        00:00:00 keepalived -D root      2871  1101  0 07:58 pts/0    00:00:00 grep keep [root@apache ~]# /etc/init.d/keepalived stop  =è成功后停止keepalived服务 Stopping keepalived:                                       [  OK  ]

七。在主服务器中配置keepalived.conf配置文件

! Configuration File for keepalived   global_defs {    notification_email {    291406980@qq.com    }    notification_email_from Alexandre.Cassen@firewall.loc    smtp_server 10.0.0.1    smtp_connect_timeout 30    router_id LVS_7 }   vrrp_instance VI_1 {     state MASTER  #因为这里是主,所以选用MASTER                         interface eth0     virtual_router_id 55     priority 150  #这个值一定要比从(slave)的大     advert_int 1     authentication {         auth_type PASS         auth_pass 1111     }     virtual_ipaddress {          192.168.1.100/24  #vip     } }

八、在从(slave)keepalived配置文件keepalived.conf中

! Configuration File for keepalived global_defs {    notification_email {    291406980@qq.com    }    notification_email_from Alexandre.Cassen@firewall.loc    smtp_server 10.0.0.1    smtp_connect_timeout 30    router_id LVS_2 } vrrp_instance VI_1 {     state BACKUP     #这里是从(slave),选用BACKUP     interface eth0     virtual_router_id 55     priority 100     #这个值小于主(master)的150     advert_int 1     authentication {         auth_type PASS         auth_pass 1111     }     virtual_ipaddress {         192.168.1.100/24  #vip     } }

九。最后,主机和从机都需要重启keepalived。

/etc/init.d/keepalived start

我这里有两个站点:apache和nginx!当你进入192.168.1.100的vip,就会被调度到不同的站点!以下是截图:

X.LVS集群分发请求RS的负载不均衡问题

主要有以下几点:

1.会话保留的原因,尽量不要在负载均衡器上保留会话。

2.2的设置。LVS自己的会话维护参数应该优化,尽可能用cookies或者session代替。

3.设置为3。LVS调度算法,如rrwrrwlclc算法

4.后端rs节点的会话保持参数,如apache的keealive参数。

5.在访问量少的情况下,不平衡现象明显。

6.用户发送的请求的长度与请求的资源量有关。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/783574.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-04
下一篇 2022-05-04

发表评论

登录后才能评论

评论列表(0条)

保存