LVS负载均衡服务
LVS负载均衡调度技术是在Linux内核中实现的,因此被称为Linux虚拟服务器。使用LVS时,不能直接配置内核中的ipvs,而需要使用ipvs的管理工具ipvsadm进行管理。
VIP 虚拟IP
RIP 真实IP
DIP Director IP,连接外网的IP地址
CIP Client 客服端主机IP
1.IP虚拟服务器软件IPVS
VS/NAT 技术:通过网络地址转换将一组服务器构成一个高性能的、高可用的虚拟服务器。
NAT(Network Address Translation)、TUN(Tunneling)、DR(Direct Routing)、FULL Network Address Translation
NAT模式:
改写目标地址和目标端口,
将请求的报文DNAT和响应报文SNAT,通过调度器地址重写然后再转发给内部的服务器,报文返回时再改写成原来得地址。调度器有记录报文的哈希表,然后返回对应的地址。
由于数据包来回都需要经过调度器,因此,要开启内核转发net.ipv4.ip_forward-1
TUNNEL模式
后台直接将报文返回给客户
DR模式:
Direct Routing通过改写请求报文的目标MAC地址,将请求发送给真实的服务器。但是要求调度器与真实的服务器都有一块网卡连在同一物理设备上,必须在同一个局域网环境。
注意:节点的VIP绑定和ARP抑制问题。
SNAT
Lvs安装,要与系统内核版本号一致。
lsmod list modules
lsmod | grep ip_vs 查看内核模块是否有ipvs
使用1.2.4版本的支持2.6.*内核的lvs软件
wget
添加软链接:
ln -s /usr/src/kernels/2.6.32-573.el6.x86_64/ /usr/src/linux
ll /usr/src/ | grep linux 查看软连接状态,不能为红色
如果没有/usr/src/kernels/2.6.32-573.el6.x86_64, 是因为缺少该软件包,可以通过yum install kernel-devel -y 安装
安装lvs
make && make install
ipvsadm 加载内核
配置LVS
ipvsadm -C 清空
设置超时参数:ipvsadm --set 30 5 60
设置主机端口、算法、超时时间:ipvsadm -A -t 192.168.6.6:80 -s wrr -p 20
查看配置选项:ipvsadm -n -L
添加Real Server:
ipvsadm -a -t 192.168.6.6:80 -r 192.168.6.12:80 -g -w 1
然后再RS端绑定VIP
ifconfig lo:9 192.168.6.6 netmask 255.255.255.255 up
route add -host 192.168.6.6 dev lo
然后抑制arp:
watch --interval=1 ipvsadm -Ln
一秒钟查看一次