lvs部署
来源:互联网 发布:qt淘宝兼职刷单流程 编辑:程序博客网 时间:2024/05/16 07:11
lve的全称为linux virtual server,即linux虚拟服务器,是一个虚拟的服务器集群系统。其简单的工作原来为:当用户请求了lvs vip后,lvs根据自身的转发方式和选择的算法,把客户端请求转发到后端服务器,后端服务器接收到请求并做出处理,并把结果返回给客户。
lvs的三种转发方式分别为LVS NAT /LVS DR/LVS TUN
lvs的算法包括rr/wrr等
实现lvs负载均衡技术是基于linux内核模块ipvs,直接在内核中工作
- 环境
192.168.2.118 nginx/mysql主
192.168.2.119 nginx/mysql从
192.168.2.112 lap
192.168.2.111 lvs
上述环境已经部署好,其中nginx代理lap,在111服上部署lvs
对内核做软连接(看具体的版本)
ln -s /usr/src/kernels/2.6.32-696.16.1.el6.x86_64 /usr/src/linux
如果在/usr/src/kernels/下显示空,则安装
yum -y install kernel-devel
- lvs部署
wget -c http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gztar -zxvf ipvsadm-1.24.tar.gzcd ipvsadm-1.24makemake install
- ipvsadm相关参数
-A 添加一台虚拟服务器VIP地址-t 虚拟服务器提供的是tcp协议-s 调度算法-a 在虚拟服务器中增加一台后端真实服务器-p 时间,单位为秒,在访问了某台realserver后,在该时间值内一直访问该台realserver-r 指定真实服务器ip地址-w 后端服务器的权重-d 删除后端服务器-D 删除虚拟服务器-m 设置当前转发方式为NAT模式;-g为直接路由模式;-i为隧道模式
- 配置lvs
手动创建ipvsadm的配置文件并添加内容
ipvsadm -A -t 192.168.2.110:80 -s rripvsadm -a -t 192.168.2.110:80 -r 192.168.2.118:80 -g -w 2ipvsadm -a -t 192.168.2.110:80 -r 192.168.2.119:80 -g -w 2# ipvsadm -D -t 192.168.2.110:80#ipvsadm -d -t 192.168.2.110:80 -r 192.168.2.112:80[root@localhost108 ipvsadm-1.24]# ipvsadm -LnIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 192.168.2.110:80 rr -> 192.168.2.119:80 Route 2 0 0 -> 192.168.2.118:80 Route 2 0 0
lvs服务器和后端服务求绑定vip(临时,重启会自动消失)
VIP=192.168.2.110ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP/sbin/route add -host $VIP dev lo:0
执行ifconfig命令可以查看
在后端服务器抑制arp(临时,重启后会自动消失)
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignoreecho "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
浏览器访问192.168.2.110
如果没有做抑制arp响应,则activeconn和inactconn都会一直显示0,说明并没有访问到页面,即使出来了也可能是因为缓存。
另外,如果停止了其中一个nginx服务,上述中的remoteaddress还会存在,lvs本身并没有健康检查机制。
在112服上运行
while true ;do curl 192.168.2.110 ;sleep 3 ;done;
发现会轮询。
也可以通过脚本来设置vip和arp抑制
#!/bin/shVIP=192.168.2.110case $1 in start) ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP /sbin/route add -host $VIP dev lo:0 echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce sysctl -p >/dev/null 2>&1 echo "RealServer Start OK" exit 0;; stop) ifconfig lo:0 down route del $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 "RealServer Stoped OK" exit 1;;*) echo "please input start or stop";;esac
备注:
1)在安装ipvsadm的时候,运行make出现如下错误
因为内核的软连接没有做好
2)在设置vip的时候,提示SIOCSIFNETMASK: Cannot assign requested address
linux分配的客户端连接端口已经用完,无法建立socket连接。可以尝试重启系统,或者在/etc/sysctl.conf把net.ipv4.ip_local_port_range设置为10000 60000
- lvs部署
- LVS部署(转载)
- LVS+Keepalived 部署
- LVS + Keepalived + mycat部署
- LVS-DR部署
- 突破LVS瓶颈,LVS Cluster部署(OSPF + LVS)
- 突破LVS瓶颈,LVS Cluster部署(OSPF + LVS)
- 突破LVS瓶颈,LVS Cluster部署(OSPF + LVS)
- 突破LVS瓶颈,LVS Cluster部署(OSPF + LVS)
- 突破LVS瓶颈,LVS Cluster部署(OSPF + LVS)
- 突破LVS瓶颈,LVS Cluster部署(OSPF + LVS)
- 突破LVS瓶颈,LVS Cluster部署(OSPF + LVS)
- keepalived + LVS 配置和部署
- lvs+nginx负载均衡部署
- Keepalived+LVS 安装部署文档
- LVS集群部署详细过程(LVS+OSPF)
- 一个公网地址部署LVS/DR模式
- LVS+tomcat负载均衡部署
- 机器学习实战 Python3编译存在的各种问题
- lintcode 2:尾部的零
- C++与matlab存储方式的不同
- XGBoost参数详解
- Java基本类型所占存储空间大小的整理
- lvs部署
- CNN
- springboot 1.5.3 源码分析(四):自定义Conditional注解
- 蓝桥杯练习题之杨辉三角形
- SSL P1786 麻将游戏
- Retrofit详细介绍
- CSS里面的behavior属性的作用
- Hdoj 1001 Sum Problem
- 自己实现printf函数