LVS-NAT
来源:互联网 发布:怎么购买备案域名 编辑:程序博客网 时间:2024/05/22 15:04
LVS-NAT
简介
工作原理:就是把客户端发来的数据包的IP头的目的地址,在负载均衡器上换成其中一台RS的IP地址,并发至此RS来处理,RS处理完成后把数据交给经过负载均衡器,负载均衡器再把数据包的原IP地址改为自己的IP,将目的地址改为客户端IP地址即可。期间,无论是进来的流量,还是出去的流量,都必须经过负载均衡器。
优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,只有负载均衡器需要一个合法的IP地址。
缺点:扩展性有限。当服务器节点增长过多时,负载均衡器将成为整个系统的瓶颈,因为所有的请求包和应答包的流向都经过负载均衡器。当服务器节点过多时,大量的数据包都交汇在负载均衡器那,速度就会变慢!
集群上各IP地址说明
CIP:客户端ip,用于请求集群服务器DIP:负载ip,Director用于连接内外网的Ip地址,物理网卡的ipVIP:集群ip,为Director用户向客户提供服务的ip地址RIP:真实服务器ip,私有地址
工作过程
客户端访问服务器,访问请求到达调度器,调度器通过网络地址转换,调度器重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的Real Server;Real Server的相应包通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程。
第一步,客户端访问VIP1的网站,发送的请求包是源地址是自己的IP地CIP,目标地址直接访问的是Director的VIP,请求显示某一个页面,而不是去直接访问RealServer里面的IP地址(RealServer的IP地址是私有的IP地址,需要经过NAT的方式将内部IP地址转化之后的VIP才能在公网上运作)
步骤二:客户端访问调度器时,调度器通过网络地址转换,调度器重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器;
步骤三:真实服务器的响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程。
实验配置
实验环境
四台机器
Director节点:(eth0 192.168.10.30 eth1 192.168.20.30)Client:(eth1 192.168.10.1)Real server1: (eth0 192.168.10.10)Real server2: (eth0 192.168.10.20)负载调度器有两个网卡,内网(192.168.10.0),外网(192.168.20.0),real serve属于内网,内网连外网要注意网关,Client只是为了方便检测,可不要,直接在Director server上检测
Director server配置
添加外网网卡
打开路由转发功能
[root@Director ~]#vim /etc/sysctl.conf //将……net.ipv4.ip_forward = 0……//改为net.ipv4.ip_forward = 1[root@Director ~]# sysctl -p//加载配置,是指sysctl.conf里面的配置生效
安装LVS管理工具
[root@Director ~]#rpm -ivh /mnt/Packages/ipvsadm-1.26-4.el6.x86_64.rpm
配置Director规则
[root@Director ~]#ipvsadm -A -t 192.168.20.30:80 -s rr//rr表示轮询,round-robinA,表示添加;-t,表示TCP的服务,后面书写格式为VIP:Port;-s设置调度算法[root@Director ~]#ipvsadm -a -t 192.168.20.30:80 -r 192.168.10.10 -m//添加一条RealServer[root@Director ~]#ipvsadm -a -t 192.168.20.30:80 -r 192.168.10.20 -m //添加第二条RealServer-a,表示添加real server的地址;-r,表示realserver地址; -m,表示masquerade,也就是NAT方式LVS
查看规则与保存
[root@Director ~]#ipvsadm -Ln-> RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 192.168.20.30:80 rr-> 192.168.10.10:80 Masq 1 0 0 -> 192.168.10.20:80 Masq 1 0 0 ActiveConn是活动连接数,也就是tcp连接状态的ESTABLISHEDInActConn 指非活跃连接数, TCP ESTABLISH状态以外的连接都称为不活跃连接。Weight 权重比例[root@Director ~]#/etc/init.d/ipvsadm save//可以看到保存路径
Real server1配置
添加网关
[root@RS1 ~]# route add default gw 192.168.10.30//可到配置网卡文件中永久添加[root@RS1 ~]# ping 192.168.20.30//检测是否通信
安装httpd服务并开启
[root@RS1 ~]# yum -y install httpd[root@RS1 ~]# service httpd restart
创建测试网页
[root@RS1 ~]# echo web10 > /var/www/html/index.html
Real server2配置
添加网关
[root@RS2 ~]# route add default gw 192.168.10.30//可到配置网卡文件中永久添加[root@RS2 ~]# ping 192.168.20.30//检测是否通信
安装httpd服务并开启
[root@RS2 ~]# yum -y install httpd[root@RS2 ~]# service httpd restart
创建测试网页
[root@RS2 ~]# echo web20 > /var/www/html/index.html
测试
可直接在负载调度器上检测
[root@Director ~]# curl 192.168.10.10web10[root@Director ~]# curl 192.168.10.20web20[root@Director ~]# curl 192.168.20.30web20[root@Director ~]# curl 192.168.20.30web10
ipvsadm命令其他参数
命令参数
[root@Director ~]# ipvsadm --helpipvsadm v1.26 2008/5/15 (compiled with popt and IPVS v1.2.1)Usage:ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask] [--pe persistence_engine]ipvsadm -D -t|u|f service-addressipvsadm -Cipvsadm -Ripvsadm -S [-n]
命令使用
//查看客户端连接分发器和Real Server的情况[root@Director ~]# ipvsadm -Lnc IPVS connection entriespro expire state source virtual destinationTCP 01:54 TIME_WAIT 192.168.20.1:52815 192.168.20.30:80 192.168.10.10:80TCP 01:56 TIME_WAIT 192.168.20.1:52818 192.168.20.30:80 192.168.10.20:80TCP 01:56 TIME_WAIT 192.168.20.1:52819 192.168.20.30:80 192.168.10.10:80TCP 01:54 TIME_WAIT 192.168.20.1:52816 192.168.20.30:80 192.168.10.20:80//查看分发情况[root@Director ~]# ipvsadm -L -n --statsIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes-> RemoteAddress:PortTCP 192.168.20.30:80 85 399 304 35542 28839-> 192.168.10.10:80 42 202 177 19855 17424-> 192.168.10.20:80 43 197 127 15687 11415
- lvs nat
- LVS-NAT
- LVS-NAT
- lvs-nat
- LVS-NAT
- LVS/NAT:200709
- LVS NAT / DR
- LVS NAT模式简介
- Lvs NAT mode
- lvs + tomcat(nat)
- LVS/NAT学习笔记
- LVS/NAT 操作笔记
- LVS-NAT模型实例
- heartbeat+ldirectord+lvs nat
- LVS NAT 配置步骤
- LVS-NAT简单搭建
- LVS-NAT模式实现
- LVS ---nat模式
- HDU
- AC自动机以及KMP模板
- JAVA中的注释
- Python面试题
- 群居影响力
- LVS-NAT
- WPF 使用匿名类作为显示的Model
- 浙江中医药大学暑期训练测试赛八G
- uva10887 Concatenation of Languages
- [洛谷P1273]有线电视网
- C语言之二叉树(包括遍历的实现)
- ViewPager数据加载错乱的问题
- android自定义view的长按事件的执行时间
- Android AES加密工具类