设为首页 收藏本站
查看: 2081|回复: 0

[经验分享] LVS/DR安装配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-5 09:06:21 | 显示全部楼层 |阅读模式

一、拓扑图

DSC0000.jpg
  
  二、系统环境
类别

ip

系统

内存

负载均衡器

192.168.1.210

centos6.5(64 bit)

4G

Web服务器

192.168.1.170

centos6.5(32 bit)

256M

Web服务器

192.168.1.171

centos6.5(32 bit)

256M

压力测试机

192.168.1.168

centos6.5(32 bit)

512M

  
  三、LVS安装配置
  Centos6.5可直接通过yum来安装
  安装ipvsadm:yum install ipvsadm
  安装keepalived: yum install keepalived
  安装好后修改keepalived配置文件:vi /etc/keepalived/keepalived.conf
  
  ! Configuration File for keepalived
  
  global_defs {
  notification_email {
  acassen@firewall.loc
  failover@firewall.loc
  sysadmin@firewall.loc
  }
  notification_email_from Alexandre.Cassen@firewall.loc
  smtp_server 192.168.200.1
  smtp_connect_timeout 30
  router_id LVS_DEVEL
  }
  
  vrrp_instance VI_1 {
  state MASTER
  interface eth0
  virtual_router_id 51
  priority 100
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 1111
  }
  virtual_ipaddress {
  192.168.1.169
  }
  }
  
  virtual_server 192.168.1.169 80 {
  delay_loop 6           //每隔6秒检查realserver状态
  lb_algo rr              //LVS算法
  lb_kind DR             //Direct Route
  persistence_timeout 5    //同一ip的连接5秒内被分配到同一台realserver      
  protocol TCP            //用tcp协议检查realserver状态
  
  real_server 192.168.1.170 80 {
  weight 3            //权重
  TCP_CHECK {
  connect_timeout 3  //3秒无响应超时
  nb_get_retry 3
  delay_before_retry 3
  }
  }
  
  real_server 192.168.1.171 80 {
  weight 3
  TCP_CHECK {
  connect_timeout 3
  nb_get_retry 3
  delay_before_retry 3
  }
  
  }
  
  }
  
  
  还需要对系统内核响应参数进行修改(centos6.5默认值可不需要配置):
  停止路由转发功能
  sysctl –w net.ipv4.ip_forward=0
  sysctl –w net.ipv4.conf.all.send_redirects=1
  sysctl –w net.ipv4.conf.default.send_redirects=1
  sysctl –w net.ipv4.conf.eth0.send_redirects=1           //eth0根据实际情况修改
  可以用下面的脚本快速设置
  vs.sh
  echo "0">/proc/sys/net/ipv4/ip_forward
  echo "1">/proc/sys/net/ipv4/conf/all/send_redirects
  echo "1">/proc/sys/net/ipv4/conf/default/send_redirects
  echo "1">/proc/sys/net/ipv4/conf/eth0/send_redirects
  sysctl –p >/dev/null 2>&1
  该设置会在重启网络服务或者系统重启后失效,需重新配置,也可在/etc/sysctl.conf中直接添加使其永久生效。
  
  四、realserver配置
  
  停止路由转发
  sysctl –w net.ipv4.ip_forward=0
  
  忽略arp设置
  sysctl –w ipv4.conf.lo.arp_ignore=1
  sysctl –w ipv4.conf.all.arp_ignore=1
  参数1的意义:只回答目标IP地址是来访网络接口本地地址的ARP查询请求(比如eth0=192.168.0.1/24,eth1=10.1.1.1/24,那么即使eth0收到来自10.1.1.2这样地址发起的对192.168.0.1的查询会回答,而对10.1.1.1 的arp查询不会回应)。
  
  设置arp宣告值
  sysctl –w ipv4.conf.lo.arp_announce=2
  sysctl –w ipv4.conf.all.arp_announce=2
  参数2的意义:对查询目标使用最适当的本地地址.在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址.首要是选择所有的网络接口的子网中外出访问子网中包含该目标IP地址的本地地址. 如果没有合适的地址被发现,将选择当前的发送网络接口或其他的有可能接受到该ARP回应的网络接口来进行发送。
  注:lo的两条配置是可以不用的,arp对逻辑接口是没有意义的。
  
  添加vip,掩码四个255使其处于一个独立网段,不与外部主机广播
  ifconfig lo:0 192.168.1.169 netmask=255.255.255.255 broadcast 192.168.1.169 up
  
  添加主机vip路由
  route add –host 192.168.1.169 dev lo:0
  
  
  这个可以用下面的脚本来快速设置
  realserver.sh
  #!/bin/bash
  VIP=192.168.1.169
  . /etc/rc.d/init.d/functions
  
  case "$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
  echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
  echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
  sysctl -p >/dev/null 2>&1
  echo "RealServer Start OK"
  ;;
  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 "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
  echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
  echo "RealServer Stoped"
  ;;
  *)
  echo "Usage: $0 {start|stop}"
  exit 1
  esac
  exit 0
  
  realserver.sh start启动vip绑定
  完成后ifconfig查看网卡信息
  
  出现这条则表示绑定成功
  
  五、功能验证
  在170和171两台realserver上配置apache服务,在客户机浏览器中通过虚ip 192.168.1.169来访问其主页,刷新后主页会进行轮询,则说明配置成功。
  注:需要将keepalived配置文件的persistence_timeout设置为0才能看见明显的效果。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-109583-1-1.html 上篇帖子: Mysql+keeplived+lvs 下篇帖子: CTDB与LVS搭建集群
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表