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

[经验分享] 手工配置LVS

[复制链接]

尚未签到

发表于 2019-1-3 14:09:37 | 显示全部楼层 |阅读模式
  部署 lvs
  

  部署环境
  LVS :   10.0.0.5
  RS1节点 :10.0.0.3
  RS1节点 :10.0.0.3
  

  [root@LVS ~]# cat /etc/redhat-release
  CentOS release 6.5 (Final)
  [root@LVS ~]# uname -a
  Linux LVS 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
  [root@LVS ~]# uname -r
  2.6.32-431.el6.x86_64
  [root@LVS ~]#
  #########################################################
  #########################################################
  下面在LVS下操作
  1.做软连接
  ls -ld /usr/src/kernels/`uname -r`/
  ln -s /usr/src/kernels/`uname -r`/ /usr/src/linux
  ls /usr/src/linux -l
  =========================================================
  [root@LVS ~]# ls -ld /usr/src/kernels/`uname -r`/
  /usr/src/kernels/2.6.32-431.el6.x86_64/
  [root@LVS ~]# ln -s /usr/src/kernels/`uname -r`/ /usr/src/linux
  [root@LVS ~]# ls /usr/src/linux -l
  lrwxrwxrwx. 1 root root 39 Oct 12 09:08 /usr/src/linux -> /usr/src/kernels/2.6.32-431.el6.x86_64/
  

  说明:
  如果第一步ls -ld /usr/src/kernels/`uname -r`/没有结果,那就用下面命令安装kernel
  yum install kernel-devel -y
  也可以不做ln做软连接,但是可以编译的时候需要指定kernel路径
  2.下载安装LVS
  

  lsmod | grep ip_vs
  先查看是否有ip_vs模块,如果没有就继续安装
  [ ! -d /home/lvnian/tools ] && mkdir /home/lvnian/tools -p
  cd /home/lvnian/tools
  wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz
  tar xf ipvsadm-1.26.tar.gz
  cd ipvsadm-1.26
  yum install libnl* libpopt* -y
  yum install popt-static -y
  make
  make install
  lsmod | grep ip_vs
  /sbin/ipvsadm  (或者modprobe ip_vs(把命令放进内核的意思))
  lsmod | grep ip_vs
  ##########################################################
  安装完上面的ipvsadmin软件,以出现下面内容为安装正确
  [root@LVS ipvsadm-1.26]# lsmod | grep ip_vs
  ip_vs                 125220  0
  libcrc32c               1246  1 ip_vs
  ipv6                  317340  142 ip_vs,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6
  [root@LVS ipvsadm-1.26]#
  出现上面的内容才标明安装成功
  

  错误解决:
  故障1:
  make后的故障如下
  

  libipvs.c:1072: error: too many arguments to function ‘ipvs_nl_send_message’
  make[1]: *** [libipvs.o] Error 1
  make[1]: Leaving directory `/home/lvnian/tools/ipvsadm-1.26/libipvs'
  make: *** [libs] Error 2
  解决
  [root@LVS ipvsadm-1.26]# yum install libnl* libpopt* -y
  =================================
  故障2:
  make后的故障如下
  ipvsadm.c: In function ‘print_largenum’:
  ipvsadm.c:1383: warning: field width should have type ‘int’, but argument 2 has type ‘size_t’
  make: *** [ipvsadm.o] Error 1
  解决:
  [root@LVS ipvsadm-1.26] yum install popt-static -y
  

  安装LVS小结
  1、centos5.x 安装lvs使用1.24版本
  2、centos6.x 使用1.26版本
  3、安装lvs,要执行ipvsadm(modprobe ip_vs)把ip_vs模块加载到内核中
  ###########################################################################
  ###########################################################################
  

  3.手工添加LVS转发
  

  a、手工配置VIP
  ifconfig eth0:10 10.0.0.100 netmask 255.255.255.0
  ifconfig
  =================
  [root@LVS ~]# ifconfig eth0:10 10.0.0.100 netmask 255.255.255.0
  [root@LVS ~]# ifconfig eth0:10
  eth0:10   Link encap:Ethernet  HWaddr 00:0C:29:04:9C:CB
  inet addr:10.0.0.100  Bcast:10.0.0.255  Mask:255.255.255.0
  UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  ##########
  添加主机路由(不是必须的)
  

  route add -host 10.0.0.100 dev eth0
  route -n
  =================
  [root@LVS ~]# route add -host 10.0.0.100 dev eth0
  [root@LVS ~]# route -n
  Kernel IP routing table
  Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
  10.0.0.100      0.0.0.0         255.255.255.255 UH    0      0        0 eth0
  10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
  0.0.0.0         10.0.0.2        0.0.0.0         UG    0      0        0 eth0
  [root@LVS ~]#
  

  在客户端windows是PING 看能不能通
  ###########################################
  b、手工执行配置添加lvs
  ipvsadm -h
  ipvsadm -C
  ipvsadm --set 30 5 6            ##设置超时的命令,分别是  tcp tcpfin udp的超时
  ipvsadm -A -t 10.0.0.100:80 -s rr -p 20
  ipvsadm -a -t 10.0.0.100:80 -r 10.0.0.3 -g
  ipvsadm -a -t 10.0.0.100:80 -r 10.0.0.4 -g -w 1
  ipvsadm -L -n
  ipvsadm -L -n --stats
  

  上面的命令都是临时生效的,如果要永久生效,那就写脚本,放在让其开机自动生效
  

  

  [root@LVS ~]# ipvsadm -L -n
  IP Virtual Server version 1.2.1 (size=4096)
  Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
  TCP  10.0.0.100:80 rr persistent 20
  -> 10.0.0.5:80                  Route   1      0          0
  -> 10.0.0.6:80                  Route   1      0          0
  [root@LVS ~]#
  

  

  [root@LVS ~]# ipvsadm -d -t 10.0.0.100:80 -r 10.0.0.6
  [root@LVS ~]# ipvsadm -L -n
  IP Virtual Server version 1.2.1 (size=4096)
  Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
  TCP  10.0.0.100:80 rr persistent 20
  -> 10.0.0.5:80                  Route   1      0          0
  [root@LVS ~]#
  

  [root@LVS ~]# ipvsadm -a -t 10.0.0.100:80 -r 10.0.0.6 -g -w 3
  [root@LVS ~]# ipvsadm -L -n
  IP Virtual Server version 1.2.1 (size=4096)
  Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
  TCP  10.0.0.100:80 rr persistent 20
  -> 10.0.0.5:80                  Route   1      0          0
  -> 10.0.0.6:80                  Route   3      0          0
  [root@LVS ~]#
  

  ###########################################################################
  ###########################################################################
  4、配置RS服务器
  每台RS配置VIP
  ifconfig lo:100 10.0.0.100 netmask 255.255.255.255 up
  ifconfig lo:100
  ifconfig
  route add -host 10.0.0.100 dev lo
  每台RS上抑制ARP响应
  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
  

  ##############################################################
  配置成功
  

  这个实验,高可用功能实现效果很差,测试的时候可以用多台客户机测试,负载均衡方面还是挺不错的。
  

  测试 结果
  客户端1:(这服务器不能是lvs和RS)
  [root@moban ~]# for n in `seq 100 `;do curl 10.0.0.100 ; sleep 5;done
  10.0.0.4
  10.0.0.4
  ...
  客户端2:

  客户端3:

  

  

  





运维网声明 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.yunweiku.com/thread-659048-1-1.html 上篇帖子: zabbix 监控 lvs ipvsadm 下篇帖子: LVS的NAT设置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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