拱墅区哪里有网站建设,厦门旅游网站建设目的,30分钟seo网站,企业网络营销策划方案书范例1.LVS工作模式和相关命令
1.1LVS集群工作模式
- lvs-nat#xff1a;修改请求报文的目标IP,多目标IP的DNAT- lvs-dr#xff1a;操纵封装新的MAC地址#xff08;直接路由#xff09;- lvs-tun#xff1a;隧道模式
1.1.1 LVS的NAT模式 lvs-nat#xff1a;本质是多目标IP的…1.LVS工作模式和相关命令
1.1LVS集群工作模式
- lvs-nat修改请求报文的目标IP,多目标IP的DNAT- lvs-dr操纵封装新的MAC地址直接路由- lvs-tun隧道模式
1.1.1 LVS的NAT模式 lvs-nat本质是多目标IP的DNAT通过将请求报文中的目标地址和目标端口修改为某处的RS的RIP和
PORT实现转发
1RIP和DIP应在同一个IP网络且应使用私网地址RS的网关要指向DIP
2请求报文和响应报文都必须经由lvs服务器转发lvs服务器易于成为系统瓶颈
3支持端口映射可修改请求报文的目标PORT
4VS必须是Linux系统RS可以是任意OS系统
1.1.2 IP隧道 1. RIP和DIP可以不处于同一物理网络中RS的网关一般不能指向DIP,且RIP可以和公网通信。也就是 说集群节点可以跨互联网实现。DIP, VIP, RIP可以是公网地址。
2. RealServer的通道接口上需要配置VIP地址以便接收DIP转发过来的数据包以及作为响应的 报文源IP。
3. DIP转发给RealServer时需要借助隧道隧道外层的IP头部的源IP是DIP目标IP是RIP而 RealServer响应给客户端的IP头部是根据隧道内层的IP头分析得到的源IP是VIP目标IP是CIP
4. 请求报文要经由Director但响应不经由Director,响应由RealServer自己完成
5. 不支持端口映射
6. RS的OS须支持隧道功能 一般来说隧道模式常会用来负载调度缓存服务器组这些缓存服务器一般放置在不同的网络环境可以就近 折返给客户端。在请求对象不在Cache服务器本地命中的情况下Cache服务器要向源服务器发送请求将结 果取回最后将结果返回给用户。 1.1.3直接路由
直接路由Direct Routing简称 DR 模式采用半开放式的网络结构与 TUN
模式的结构类似但各节点并不是分散在各地而是与调度器位于同一个物理网络。
负载调度器与各节点服务器通过本地网络连接不需要建立专用的 IP 隧道
直接路由LVS默认模式,应用最广泛,通过请求报文重新封装一个MAC首部
进行转发源MAC是DIP所在的接口的MAC目标MAC是某挑选出的RS的RIP所在接口的MAC地址源
IP/PORT以及目标IP/PORT均保持不变 DR模式的特点
1. Director和各RS都配置有VIP
2. 确保前端路由器将目标IP为VIP的请求报文发往Director
- 在前端网关做静态绑定VIP和Director的MAC地址- 在RS上使用arptables工具 arptables -A IN -d $VIP -j DROP arptables -A OUT -s $VIP -j mangle --mangle-ip-s $RIP 在RS上修改内核参数以限制arp通告及应答级别 /proc/sys/net/ipv4/conf/all/arp_ignore /proc/sys/net/ipv4/conf/all/arp_announce RS的RIP可以使用私网地址也可以是公网地址RIP与DIP在同一IP网络RIP的网关不能指向DIP以确保响应报文不会经由Director
4. RS和Director要在同一个物理网络
5. 请求报文要经由Director但响应报文不经由Director而由RS直接发往Client
6. 不支持端口映射端口不能修改
7. 无需开启 ip_forward
8. RS可使用大多数OS系统
1.1.4 LVS工作模式总结和比较
地方NATTUNDR优点端口转换WAN性能最好缺点性能瓶颈服务器支持隧道模式不支持跨网段真实服务器要求anyTunnelingNon-arp device支持网络private私网LAN/WAN私网/公网LAN私网真实服务器数量low (10~20)High (100)High (100)真实服务器网关lvs内网地址Own router网工定义Own router网工定义
2.ipvsadm工具
2.1ipvsadm工具选项说明 -A: 添加虚拟服务器 -D: 删除整个虚拟服务器 -s: 指定负载调度算法(轮询: rr、加权轮询: wrr、最少连接: lc、加权最少连接: wlc) -a: 添加真实服务器节点服务器 -d: 删除某一个节点 -t: 指定VIP地址及TCP端口 -r: 指定RIP地址及TCP端口 -m: 表示使用NAT群集模式 -g: 表示使用DR模式 -i: 表示使用TUN模式 一w: 设置权重(权重为0时表示暂停节点) -p 60: 表示保持长连接60秒 -l: 列表查看 LVS虚拟服务器(默认为查看所有) -n: 以数字形式显示地址、端口等信息常与-l“选项组合使用。ipvsadm -ln #管理集群服务 ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask] [--pe persistence_engine] [-b sched-flags] ipvsadm -D -t|u|f service-address #删除 ipvsadm –C #清空 ipvsadm –R #重载,相当于ipvsadm-restore ipvsadm -S [-n] #保存,相当于ipvsadm-save#管理集群中的RS ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight] ipvsadm -d -t|u|f service-address -r server-address ipvsadm -L|l [options] ipvsadm -Z [-t|u|f service-address] 选项 lvs类型 -g: gateway, dr类型默认 -i: ipip, tun类型 -m: masquerade, nat类型 -w weight权重 例子 ipvsadm -A -t 12.0.0.1:80 -s rr ipvsadm -a -t 12.0.0.1:80 -r 192.168.80.11:80 -m yum install ipvsadm Unit File: ipvsadm.service 主程序/usr/sbin/ipvsadm 规则保存工具/usr/sbin/ipvsadm-save 规则重载工具/usr/sbin/ipvsadm-restore 配置文件/etc/sysconfig/ipvsadm-config ipvs调度规则文件/etc/sysconfig/ipvsadm 3.LVS DR模式部署
3.1原理解释 客户机发起请求经过调度服务器lvs经过算法调度去访问真实服务器RS 由于不原路返回客户机不知道真实主机的ip地址 所以只能通过调度服务器的外网ipvip去反回报文信息。 第一次访问完整不考虑实际问题 客户端----外网地址12.0.0.100 12.0.0.100----客户端 #12.0.0.18-----客户端 客户端会直接丢弃 对每台真实服务器配置外网地址 12.0.0.100 12.0.0.100------客户端 问题1 IP 地址冲突的 路由器发送ARP请求广播 ARP----广播去找ip地址解析成mac地址 默认使用调度服务器上的外网地址vip地址响应 在真实服务器上修改内核参数 使真实服务器只对自己服务器上的真实IP地址响应ARP解析。 第二次再有访问请求 问题2 路由器上绑定了 真实服务器1的mac信息 #请求到达真实服务器 在真实服务器上修改内核参数 只对所有服务器真实网卡上的地址进行反馈解析 3.2实际操作 #环境简介 DR 服务器192.168.91.100 web 服务器1192.168.91.101 web 服务器2192.168.91.103 vip虚拟回环192.168.91.188 客户端192.168.91.200 3.2.1配置负载调度器 systemctl stop firewalld.service setenforce 0 [rootlocalhost ~]#systemctl stop firewalld.service [rootlocalhost ~]#setenforce 0 IP Virtual Server version 1.2.1 (size4096) Prot LocalAddress:Port Scheduler Flags - RemoteAddress:Port Forward Weight ActiveConn InActConn [rootlocalhost ~]#yum install ipvsadm.x86_64 -y #安装服务 #配置虚拟IP地址VIP192.168.91.188 [rootlocalhost network-scripts]#cp ifcfg-ens33 ifcfg-ens33:0 #配置虚拟网卡若为隧道模式ifcfg-tunl0 [rootlocalhost network-scripts]#vim ifcfg-ens33:0 #删除dns与网关注意子网 NAMEens33:0 DEVICEens33:0 IPADDR192.168.91.188 NETMASK255.255.255.255 [rootlocalhost network-scripts]#systemctl restart network [rootlocalhost network-scripts]#ifup ifcfg-ens33:0#启动网卡 [rootlocalhost network-scripts]#ifconfig ifcfg-ens33:0 #调整/proc响应参数 [rootlocalhost network-scripts]# vi /etc/sysctl.conf net.ipv4.ip_forward 0 net.ipv4.conf.all.send_redirects 0 net.ipv4.conf.default.send_redirects 0 net.ipv4.conf.ens33.send_redirects 0 [rootlocalhost network-scripts]#sysctl -p#刷新配置 #调整/proc响应参数 对于 DR 群集模式来说由于 LVS 负载调度器和各节点需要共用 VIP 地址应该关闭 Linux 内核的重定向参数响应服务器不是一台路由器那么它不会发送重定向所以可以关闭该功能 #配置负载分配策略 [rootlocalhost ~]#modprobe ip_vs [rootlocalhost ~]#cat /proc/net/ip_vs#加载模块 [rootlocalhost network-scripts]#ipvsadm-save /etc/sysconfig/ipvsadm [rootlocalhost network-scripts]#systemctl start ipvsadm.service [rootlocalhost network-scripts]#ipvsadm -C [rootlocalhost ~]#ipvsadm -A -t 192.168.91.188:80 -s rr [rootlocalhost ~]#ipvsadm -a -t 192.168.91.188:80 -r 192.168.91.101:80 -g [rootlocalhost ~]#ipvsadm -a -t 192.168.91.188:80 -r 192.168.91.103:80 -g#添加真实服务器-a 指定VIP地址及TCP端口-t 指定RIP地址及TCP端口 -r 指定DR模式-g [rootlocalhost network-scripts]#ipvsadm IP Virtual Server version 1.2.1 (size4096) Prot LocalAddress:Port Scheduler Flags - RemoteAddress:Port Forward Weight ActiveConn InActConn TCP localhost.localdomain:http rr - 192.168.91.101:http Route 1 0 0 - 192.168.91.103:http Route 1 0 0 [rootlocalhost network-scripts]#ipvsadm-save /etc/sysconfig/ipvsadm #保存设置 3.2.2节点服务器 节点1 [rootlocalhost ~]#systemctl stop firewalld.service [rootlocalhost ~]#setenforce 0 [rootlocalhost ~]#yum install httpd -y [rootlocalhost ~]#systemctl start httpd [rootlocalhost ~]#cd /etc/sysconfig/network-scripts/ [rootlocalhost network-scripts]#cp ifcfg-lo ifcfg-lo:0 [rootlocalhost ~]#ifconfig lo:0 192.168.91.188 32 [rootlocalhost ~]#ifconfig lo:0 192.168.91.188 255.255.255.255 [rootlocalhost network-scripts]#vim ifcfg-lo:0#修改回环网卡名IP地址子网掩码 DEVICElo:0 IPADDR192.168.91.188 NETMASK255.255.255.255 NETWORK127.0.0.0 [rootlocalhost network-scripts]#route add -host 192.168.91.188 dev lo:0 #设置路由 [rootlocalhost network-scripts]#route -n#开机执行命令或者写入 /etc/profile 文件 [rootlocalhost network-scripts]#vim /etc/rc.d/rc.local /usr/sbin/route add -host 192.168.91.188 dev lo:0 [rootlocalhost network-scripts]#chmod x /etc/rc.d/rc.local[rootlocalhost network-scripts]#ll /etc/rc.d/rc.local -rwxr-xr-x. 1 root root 484 11月 17 16:56 /etc/rc.d/rc.local [rootlocalhost network-scripts]#vim /etc/sysctl.conf #添加系统只响应目的IP为本地IP的ARP请求 #系统不使用原地址来设置ARP请求的源地址而是物理mac地址上的IP [rootlocalhost network-scripts]#sysctl -p net.ipv4.conf.all.arp_ignore 1 net.ipv4.conf.all.arp_announce 2 net.ipv4.conf.default.arp_ignore 1 net.ipv4.conf.default.arp_announce 2 net.ipv4.conf.lo.arp_ignore 1 net.ipv4.conf.lo.arp_announce 2 节点2 [rootlocalhost ~]#systemctl stop firewalld.service [rootlocalhost ~]#setenforce 0 [rootlocalhost ~]#yum install httpd -y [rootlocalhost ~]#systemctl start httpd [rootlocalhost ~]#cd /etc/sysconfig/network-scripts/ [rootlocalhost network-scripts]#cp ifcfg-lo ifcfg-lo:0 [rootlocalhost network-scripts]#vim ifcfg-lo:0 #修改回环网卡名IP地址子网掩码DEVICElo:0 IPADDR192.168.91.188 NETMASK255.255.255.255 NETWORK127.0.0.0[rootlocalhost network-scripts]#route add -host 192.168.91.188 dev lo:0 #设置路由[rootlocalhost network-scripts]#route -n #开机执行命令或者写入 /etc/profile 文件 [rootlocalhost network-scripts]#vim /etc/rc.d/rc.local /usr/sbin/route add -host 192.168.91.188 dev lo:0 [rootlocalhost network-scripts]#chmod x /etc/rc.d/rc.local [rootlocalhost network-scripts]#ll /etc/rc.d/rc.local -rwxr-xr-x. 1 root root 484 11月 17 16:56 /etc/rc.d/rc.local [rootlocalhost network-scripts]#vim /etc/sysctl.conf #添加系统只响应目的IP为本地IP的ARP请求 #系统不使用原地址来设置ARP请求的源地址而是物理mac地址上的IP [rootlocalhost network-scripts]#sysctl -p net.ipv4.conf.all.arp_ignore 1 net.ipv4.conf.all.arp_announce 2 net.ipv4.conf.default.arp_ignore 1 net.ipv4.conf.default.arp_announce 2 net.ipv4.conf.lo.arp_ignore 1 net.ipv4.conf.lo.arp_announce 2