1、环境说明
  系统版本:ubuntu14.04
  LVS服务器:14.17.64.3
  真实服务器:14.17.64.4-12
  VIP:14.17.64.13
  部署目的:用户请求14.17.64.13的报文转发至14.17.64.4-12上进行负载均衡。
2、安装LVS
  由于LVS像iptables一样是工作在内核层,所以只需要安装模块ip_vs就可以了,并没有后台进程在跑
  #aptitude install ipvsadm
  # ipvsadm -v
  ipvsadm v1.26
  # lsmod |grep ip_vs     #查看内核模块,有代表ipvsadm加载进内核当中,此时LVS安装完毕
  ip_vs                 136701  0
  nf_conntrack           96976  1 ip_vs
  libcrc32c              12644  3 xfs,btrfs,ip_vs
  # ipvsadm -L -n       #查看lvs规则
  IP Virtual Server version 1.2.1 (size=4096)
  Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
  root@ubun
  # ipvsadm -L -c   #查看连接情况
3、配置LVS VIP服务
  -A是添加一条虚拟服务器记录,即VIP。此处配置要选择算法。
  #ipvsadm -A-t 14.17.64.13  -s wrr -p 300     #代理转发所有去往该IP TCP的报文,-s指定算法wrr为加权轮询算法,-p会话保持时间(默认值是300s)
  #ipvsadm -A-t 14.17.64.13:80 -s wrr -p 20    #代理转发去往该IP TCP80端口的报文
  VIP维护:
  使用-E修改VIP设置
例:ipvsadm -E -t 14.17.64.13 -s wrr -p 40 #可修改会话保持时间与算法。
  使用-D删除VIP设置
  例:ipvsadm -D -t 14.17.64.13    #删除该条VIP
4、配置LVS RIP规则
  -a是添加VIP要对哪些真实服务器IP(即RIP)进行负载(默认是DR模式即-g)。
  ipvsadm -a -t 14.17.64.13 -r 14.17.64.4 -g -w 1   #-r指定真实服务器IP,-g为选择DR模式(-m为NAT模式,-t为tunnel模式),-w选择权重。
  ipvsadm -a -t 14.17.64.13 -r 14.17.64.5 -g -w 1
  ipvsadm -a -t 14.17.64.13 -r 14.17.64.6 -g -w 1
  ipvsadm -a -t 14.17.64.13 -r 14.17.64.7 -g -w 1
  ipvsadm -a -t 14.17.64.13 -r 14.17.64.8 -g -w 1
  ipvsadm -a -t 14.17.64.13 -r 14.17.64.9 -g -w 1
  ipvsadm -a -t 14.17.64.13 -r 14.17.64.10 -g -w 1
  ipvsadm -a -t 14.17.64.13 -r 14.17.64.11 -g -w 1
  ipvsadm -a -t 14.17.64.13 -r 14.17.64.12 -g -w 1
  #如果只对tcp 80端口进行负载,可使用如下命令
  #ipvsadm -a-t14.17.64.13:80 -r 14.17.64.4:80 -g -w 1
  RIP维护:
  使用-e修改RIP配置
  例:ipvsadm -e -t14.17.64.13 -r 14.17.64.6 -g -w 4    #修改这条RIP规则的权重。
  使用-d删除RIP配置
  例:ipvsadm -d -t14.17.64.13 -r 14.17.64.6 -g -w 1   #删除该条RIP配置
5、在真实服务器上配置VIP
  在真实服务器上都配置上VIP,即14.17.64.13地址。
  #ifconfig lo:1314.17.64.13 netmask 255.255.255.255
6、在真实服务器上关闭ARP响应
  关闭真实服务器上loop口的arp回应,其它口的无须关闭。
  默认arp_ignore和arp_announce的参数都是0,即回应所有目的IP是本机的arp请求。
  在所有真实服务器上进行如下操作:
  echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore         #只回答目标IP地址是来访网络接口本地地址的ARP查询请求。
  echo "2">/proc/sys/net/ipv4/conf/all/arp_announce      #对查询目标使用最适当的本地地址。
  #此处可以进行测试,在测抑制arp前,能ping通VIP地址。在抑制arp后,在前端交换机上清掉arp缓存,再ping VIP就不通了。但物理eth0网卡IP还是能通的。
  arp含义参考地址:http://www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html
  接下来在lvs上配置VIP:
  ifconfig lo:13 14.17.64.13 netmask255.255.255.255
7、开启内核转发功能
  在lvs上开启内核转发功能。
  #echo  'net.ipv4.ip_forward=1'  >>/etc/sysctl.conf
  #sysctl -p
8、LVS测试
  由于真实服务器上未搭建http服务,但我设置的lvs是转发所有tcp连接,所以我通过ssh到VIP上进行测试。
  #iptables -L -c  #查看lvs转发记录,确定请求转发成功。
  TCP 14:59 ESTABLISHED 242.103.143.219.broad.bj.bj.dynamic.163data.com.cn:5197714.17.64.13:22  14.17.64.10:22
  至此lvs搭建成功。
9、lvs补充思考
  1、  自身无法对真实服务器保活,如果出现服务器down情况,还会向down的服务器转发请求。
  解决方法是keepalived或自已写脚本来监测连通性再清除相应规则。
  2、一台LVS服务器会出现单点故障,需要有备份LVS服务器
  解决方法是keepalived来进行LVS故障接管。

Ubuntu LVS DR模式生产环境部署的更多相关文章

  1. 一个公网地址部署LVS/DR模式

    http://blog.chinaunix.net/uid-7411781-id-3436142.html 一个公网地址部署LVS/DR模式   网上看了很多关于LVS的文章,在选取2种模式LVS/D ...

  2. LVS+Keepalived 高可用环境部署记录(主主和主从模式)

    之前的文章介绍了LVS负载均衡-基础知识梳理, 下面记录下LVS+Keepalived高可用环境部署梳理(主主和主从模式)的操作流程: 一.LVS+Keepalived主从热备的高可用环境部署 1)环 ...

  3. ubuntu Django + Uwsgi + Nginx 的生产环境部署

    一.概述 使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了.比如静态文件处理,安全,效率等等,本篇 ...

  4. 第三百九十八节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5系统环境设置

    第三百九十八节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5系统环境设置 1.Linux安装配置 注意事项: 虚拟机网卡桥接模式 不要拨VPN 如果,网络怎么都 ...

  5. 深度学习Tensorflow生产环境部署(上·环境准备篇)

    最近在研究Tensorflow Serving生产环境部署,尤其是在做服务器GPU环境部署时,遇到了不少坑.特意总结一下,当做前车之鉴. 1 系统背景 系统是ubuntu16.04 ubuntu@ub ...

  6. Vue生产环境部署

    前面的话 开发时,Vue 会提供很多警告来帮助解决常见的错误与陷阱.生产时,这些警告语句却没有用,反而会增加载荷量.再次,有些警告检查有小的运行时开销,生产环境模式下是可以避免的.本文将详细介绍Vue ...

  7. 第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置

    第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置 软件版本  uwsgi- ...

  8. HyperLedger Fabric 1.4 kafka生产环境部署(11.1)

    11.1 Kafka模式简介       上一章介绍的Solo模式只存在一个排序(orderer)服务,是一种中心化结构,一旦排序(orderer)服务出现了问题,整个区块链网络将会崩溃,为了能在正式 ...

  9. lvs之 lvs+nginx+tomcat_1、tomcat_2+redis(lvs dr 模式)

    前提:已经安装好 lvs+nginx+tomcat_1.tomcat_2+redis环境 ,可参考 (略有改动,比如tomcat_1.tomcat_2安装在两台机器上,而不是单机多实例 ,自行稍稍变动 ...

随机推荐

  1. input 限制输入数字和小数

    //input 限制输入数字和小数 <input type="text" name="demo" value="" onkeyup=& ...

  2. jenkins安装和国内镜像配置

    直接替换 $JENKINS_HOME/updates/default.json 成腾讯云的地址即可: JENKINS_HOME=xxxxxxxxx sed -i 's/http:\/\/updates ...

  3. Hive中的数据库、表、数据与HDFS的对应关系

    1.hive数据库 我们在hive终端,查看数据库信息,可以看出hive有一个默认的数据库default,而且我们还知道hive数据库对应的是hdfs上面的一个目录,那么默认的数据库default到底 ...

  4. learning scala How To Create Variable Argument Function - varargs :_ *

    Scala collection such as List or Sequence or even an Array to variable argument function using the s ...

  5. 「CF375E」Red and Black Tree「树形DP」

    题意 给定一个结点颜色红或黑的树,问最少进行多少次交换黑.红结点使得每个红结点离最近的黑结点距离\(\leq x\). \(1\leq n \leq 500, 1 \leq x \leq 10^9\) ...

  6. java中int 和String相互转换

    一.String转为int int i=Integer.parseInt(string):int i=Integer.valueOf(s).intValue(); 二.int转为String Stri ...

  7. codeforces#1228E. Another Filling the Grid(容斥定理,思维)

    题目链接: https://codeforces.com/contest/1228/problem/E 题意: 给n*n的矩阵填数,使得每行和每列最小值都是1 矩阵中可以填1到$k$的数 数据范围: ...

  8. Python3 输入和输出(一)

    1.输出格式美化 Python两种输出值的方式: 表达式语句和 print() 函数. 第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用. 如果希望输出 ...

  9. 2019CSP-S初赛知识点汇总

    0x00 基本算法 0x01 位运算 0x02 前缀和与差分 0x03 二分 0x04 倍增 0x05 排序 0x06 离散化 0x07 高精度 0x10 数据结构 0x11 栈和队列 0x12 链表 ...

  10. resin初识

    Resin初识 1. resin简介 刚入职的公司用的后台服务器是resin,故因此学习记录一下. resin是一个非常流行的web引用服务器,对servlet和jsp提供了良好的支持,自身采用jav ...