LVS学习笔记--DR模式部署
一、部署环境:
服务器版本:CentOS6.5(Finnal)
网络拓扑:
二、需求分析:调度服务器与网页服务器均在同一网段局域网环境,用户提交的请求会经过调度器的分配指定到网页服务器,同时保证服务高可用性(任意一台网站服务器宕机后调度器会剔除它直至服务器恢复至正常;主调度器宕机后从调度器会接管它直至其恢复正常。)。
三、相关配置:
部署调度器LVS服务脚本:
#!/bin/sh mkdir tools cd tools/ # yum install lrzsz # rz # ls wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz # ls -lrt tar zxvf ipvsadm-1.24.tar.gz cd ipvsadm-1.24 # ls # uname -r ln -s /usr/src/kernels/2.6.32-431.17.1.el6.x86_64 /usr/src/linux # ll /usr/src/ |grep linux # ls make make install ipvsadm # lsmod|grep ip_vs
调度器配置脚本:
#!/bin/sh # ipvs_ctl Start/Stop ipvsadm portmapper # # chkconfig: 345 96 97 # # description: IPVSadm # # processname: ipvs_ctl#create by stephen#2014-07-01 VIP=(192.168.2.29# 192.168.2.28 ) RIP=(192.168.2.19192.168.2.20 ) GW=192.168.2.1. /etc/init.d/functionsstart(){ for ((i=0;i<${#VIP[*]};i++)) doifconfig eth1:$i ${VIP[$i]} broadcast ${VIP[$i]} netmask 255.255.255.255 up# ifconfig eth1:$iroute add -host ${VIP[$i]} dev eth1:$i# echo "1" >/proc/sys/net/ipv4/ip_forwardipvsadm -Cipvsadm -A -t ${VIP[$i]}:80 -s rr -p 600for ((j=0;j<${#RIP[*]};j++))doipvsadm -a -t ${VIP[$i]}:80 -r ${RIP[$j]}:80 -gdone# ipvsadm done }stop(){ for ((i=0;i<${#VIP[*]};i++)) doifconfig eth1:$i down# route del -host ${VIP[$i]} dev eth1:$i# ipvsadm -Cipvsadm -D -t ${VIP[$i]}:80for ((j=0;j<${#RIP[*]};j++))doarping -c 1 -I eth1 -s ${VIP[$i]} $GW >/dev/null 2>&1done done }case "$1" in start)action "ipvs started" /bin/truestart ;; stop)action "ipvs stopped" /bin/truestop ;; *)echo "Usage:$0 {start|stop}" ;; esac
真实服务器配置脚本:
#!/bin/sh # created by stephen#2014-07-01# description: config real server lo and apply non-arpVIP=(192.168.2.29# 192.168.2.28 ). /etc/init.d/functionsstart(){for ((i=0;i<${#VIP[*]};i++))doifconfig lo:$i ${VIP[$i]} broadcast ${VIP[$i]} netmask 255.255.255.255 upifconfig lo:$iroute add -host ${VIP[$i]} dev lo:$idoneecho "1" >/proc/sys/net/ipv4/conf/lo/arp_ignoreecho "2" >/proc/sys/net/ipv4/conf/lo/arp_announceecho "1" >/proc/sys/net/ipv4/conf/all/arp_ignoreecho "2" >/proc/sys/net/ipv4/conf/all/arp_announce }stop(){for ((i=0;i<${#VIP[*]};i++))doifconfig lo:$i downdoneif [ ${#VIP[*]} -le 1 ];thenecho "0" >/proc/sys/net/ipv4/conf/lo/arp_ignoreecho "0" >/proc/sys/net/ipv4/conf/lo/arp_announceecho "0" >/proc/sys/net/ipv4/conf/all/arp_ignoreecho "0" >/proc/sys/net/ipv4/conf/all/arp_announce fi } case "$1" in start)action "realserver vip is tied" /bin/truestart ;; stop)action "realserver vip is canceled" /bin/truestop ;; *)echo "Usage:$0 {start|stop}" ;; esac
真实服务器高可用性配置脚本:
#!/bin/sh #created by stephen#2014-07-02 VIP=192.168.2.29 PORT=80 RIP=(192.168.2.19192.168.2.20 ) while true dofor ((i=0;i<${#RIP[*]};i++))doPORT_COUNT=`nmap ${RIP[$i]} -p $PORT|grep open|wc -l`if [ $PORT_COUNT -ne 1 ];thenif [ `ipvsadm -Ln|grep ${RIP[$i]}|wc -l` -ne 0 ];thenipvsadm -d -t $VIP:$PORT -r ${RIP[$i]}:$PORT >/dev/null 2>&1fielseif [ `ipvsadm -Ln|grep ${RIP[$i]}|wc -l` -eq 0 ];thenipvsadm -a -t $VIP:$PORT -r ${RIP[$i]}:$PORT -gfifidonesleep 10 done
调度器高可用性配置脚本:
#!/bin/sh #created by stephen#2014-07-02 DIP=192.168.2.21 VIP=192.168.2.29 PORT=22 while true doPORT_COUNT=`nmap $DIP -p $PORT|grep open|wc -l`if [ $PORT_COUNT -ne 1 ];thenif [ `ipvsadm -Ln|grep $VIP|wc -l` -eq 0 ];then/etc/init.d/ipvs_ctl startfielseif [ `ipvsadm -Ln|grep $VIP|wc -l` -eq 1 ];then/etc/init.d/ipvs_ctl stopfi fisleep 5 done
其他
1. 开启80端口:
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT /etc/init.d/iptables save /etc/init.d/iptables restart
2. 配置完调度器后,修改其执行权限并把配置文件添加到自启动项:
cp ipvs_ctl /etc/init.d/ipvs_ctl chmod 700 /etc/init.d/ipvs_ctl chkconfig --add ipvs_ctl chkconfig --list|grep ipvs
3. 由于我们是通过查看服务器端口开启状况来实现探测的,在这里会使用到nmap:
yum install nmap -y
4. 修改调度器高可用性配置文件执行权限,并在后台执行,以及查看、取消后台进程命令:
chmod 700 check_lb.sh sh check_lb.sh & watch ipvsadm -Ln --stats jobs fg
5. 使用tcpdump抓包分析网络流量:
tcpdump -i eth1 tcp port 80 -s 1500
转载于:https://blog.51cto.com/zhoufwind/1433684
LVS学习笔记--DR模式部署相关推荐
- LVS负载均衡DR模式部署
目录: 1. 拓扑图 2. 搭建环境 3. LVS服务器部署 4. 测试 1. 拓扑图 LVS-DR模式采的IP地址全部为外网IP. 本例中IP的设置全部采用临时设置IP的方式,重启后会失效. 用户请 ...
- LVS+Keepalived之DR模式配置
LVS+Keepalived之DR模式配置 理论基础 LVS直接配置DR模式,会存在一个问题,LVS负载均衡器是单点,容易发生单点故障,这样就会造成所有的服务都无法访问,这是不能容忍的. 解决单点故障 ...
- OGG学习笔记04-OGG复制部署快速参考
OGG学习笔记04-OGG复制部署快速参考 源端:Oracle 10.2.0.5 RAC + ASM 节点1 Public IP地址:192.168.1.27 目标端:Oracle 10.2.0.5 ...
- php lvs,LVS(四)LVS集群DR模式
LVS集群DR模式 系统:CentOS-7-x86_64-Minimal-1611.iso 三台虚拟机网络规划: Director (桥接网卡) enp0s3DIP:192.168.43.201 19 ...
- CAS单点登录学习笔记二之部署CAS Server
CAS Server 服务器部署 [b]简介[/b] CAS Server 是一套基于 Java 实现的服务,该服务以一个 Java Web Application 单独部署在与 servlet2.3 ...
- 设计模式 - 学习笔记 - 工厂模式Factory Pattern
设计模式 - 学习笔记 - 工厂模式Factory Pattern 1. 简单工厂 1.1 应用场景 1.2 UML 1.3 优劣分析 好处 缺点 1.4 代码示例 抽象产品 AbstractProd ...
- LVS学习笔记--概念
最近在学习南非蚂蚁大大的博客上的一些文章,主要在学习LVS,现在就是将自己学习到的内容记录下来,做一个学习笔记与大家分享. 南非蚂蚁大大的博客是http://ixdba.blog.51cto.com ...
- Python学习笔记:Day15 部署Web App
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- LVS学习笔记及总结(思维导图版)
下图是我在跟随马哥的脚步学习LVS过程中的学习笔记,以此为蓝本总结的,若有不足之处请谅解! 转载于:https://blog.51cto.com/kalaguiyin/1703954
最新文章
- CSVHelper在Asp.Net MVC中的使用
- C#进行MapX二次开发之鹰眼实现
- STM32开发 -- PMIC、I2C详解
- 防火墙(10)——禁止含有某些敏感字段发出去、限制连接数量(单ip地址)
- where is page layout xml template being initialized - hard code in ctr
- 为对抗训练的理论工作添砖加瓦:选择核心子集进行训练,大大缩短训练时间...
- 基于报文大小的策略路由
- 如何修复MySQL配置文件?
- Siemens M65...
- 20172301 2017-2018-2 《程序设计与数据结构》第十周学习总结
- Windows10无法修改图标字体和菜单栏字体问题 —— regedit注册表修改
- Ubuntu本地hosts泛解析
- 所发生的分手快乐东风
- 北大igem生物计算机,北京大学iGEM团队在2018国际大赛中再获佳绩
- 深度测评Skype和有话通网络电话哪个好
- (原创、不是重复文章)xxx GiB reserved in total by PyTorch的问题
- vue3中不支持filters过滤器
- 关于RxJava防抖操作
- 基于Xilinx XCZU9EG与ADRV9009 开源无线通信算法验证平台
- 计算机等级考试二级office考点教材+课程资料+考试题库软件
热门文章
- Docker容器镜像删除不掉解决办法?
- php和js搜索框,利用PHP+JS实现搜索自动提示(实例)_php技巧
- [Ext JS6] Grid 某些行不允许删除和选择的实现
- Java 数字签名原理及产生
- Windows下使用taskkill 命令批量结束进程
- ShardingSphere RAW JDBC 分布式事务XA 代码示例
- ensp期末综合实验_时间表来了!洛阳中小学期末考试25日开始
- idea 添加servlet依赖_详解如何使用IntelliJ IDEA新建一个Servlet项目
- android没有蓝牙设备,【Android】没有触发LeScanCallback导致无法搜索到蓝牙设备
- IDEA代码自动换行