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

[经验分享] linux集群系列(一):LVS+Keepalived以DR模式实现负载均衡

[复制链接]

尚未签到

发表于 2015-11-20 06:52:38 | 显示全部楼层 |阅读模式
  
  Linux 下LVS+Keepalived负载均衡的搭建
  本负载均衡采用DR模式,是在vmware虚拟机下做的搭建。
  1 搭建前的准备
  1.1   软件目录规划
  windows下目录规划
  K:\VMWare 安装虚拟机软件
  K:\VMWareOS 安装CentOS
DSC0000.jpg DSC0001.jpg

  
  K:\Download 用于保存下载软件
  linux中目录规划
  /home/download 用于保存下载软件
  /usr/local/tomcat7 用于保存apache服务器
  /root/用于保存启动脚本文件
  1.2   下载所需软件
  注:本系统和软件均为:64
  CentOS下载
  系统版本:CentOS-7-x86_64-Everything-1503-01.iso
  下载地址:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-1503-01.iso
  ipvadm下载
  软件版本:ipvsadm-1.25-10.el6.src.rpm
  下载地址:http://rpm.pbone.net/index.php3/stat/3/srodzaj/2/search/ipvsadm-1.25-10.el6.src.rpm
  keepalived下载
  软件版本:keepalived-1.1.20-1.1.x86_64.rpm
  下载地址:
  http://rpm.pbone.net/index.php3/stat/4/idpl/23618185/dir/centos_5/com/keepalived-1.1.20-1.1.x86_64.rpm.html
  tomcat下载
  软件版本:apache-tomcat-7.0.62.tar.gz
  下载地址:http://apache.dataguru.cn/tomcat/tomcat-7/v7.0.62/bin/apache-tomcat-7.0.62.tar.gz
  mysql下载
  软件版本:MySQL Database 5.6.22 RPM for Oracle Linux / RHEL7 x86 (64bit)
  下载地址:http://pan.baidu.com/s/1dDu6n9R
  ssh下载
  软件版本:SSH Secure File Transfer Client
  下载地址:
  http://xiazai.zol.com.cn/down.php?nn=51f96998d48039bb2&softid=372685&subcateid=49&site=10&server=10&rand=195128
  2        CentOS系统的安装
  系统安装请参看: http://jingyan.baidu.com/article/eae0782787b4c01fec548535.html
  注意:1.本集群需要在外网访问,所有系统的网络模式选择host-only(选择nat模式可能监测不出网卡),硬件配置根据自己的需求设定。
  2.无法安装虚拟系统的,需要设置BIOS
  设置BIOS请参看:http://www.jianhui.org/his-host-supports-intel-vt-x-but-intel-vt-x-is-disabled-issue.html
  3.CentOS安装过程中软件选择:选择开发和工作站
  2.1   网络设置
  统一将vmware内部系统的网络设置为192.168.184.1
  1.      windows网络设置
  注意:在网络共享时,网络会改成192.168.137.1,这时要重新更改vmnet1的网络地址。
  1.1网络共享设置
DSC0002.jpg



  1.2网络ip设置


DSC0003.jpg
  2.      vmware网络设置


DSC0004.jpg

  3.      centOS网络设置
  

  3.1命令模式
  1.网络脚本文件夹
       DSC0005.jpg

  
  2.修改网卡属性
       DSC0006.jpg

  
  3.2界面模式
  1.进入到网络管理界面
DSC0007.jpg


  
  2.配置网卡属性
       DSC0008.jpg

  
  :vim的使用,按i字母进入编辑模式
  按esc退出编辑模式
  按“shift+:”进入命名行(需要先按esc)
  在命令行输入”wq!” 为保存退出,”q!”为退出。
  2.2   下载源设置
  软件下载源配置,主要是有些下载源无法下载软件,配置下载源,方便下载以前版本的软件。
  1.      界面模式
  2.      命令模式
  2.3   selinux设置
       DSC0009.jpg

  
  2.4   防火墙设置
centos 7
systemctl stop firewalld.service #
停止
systemctl disable firewalld.service #
禁用
之前的版本:
service iptables stop #
停止
chkconfig iptables off #
禁用

  查看防火墙状态:
DSC00010.jpg


  
  3        SSH安装
  请参看:http://www.iyunv.com/CentOS/config/2013/0926/1713.html
  4        网络拓扑规划
         


  5        LVS的搭建(ipvsadm)
  在linux内核版本为2.6以上的版本可以免安装此软件,因为高版本已经集成。
  1.  安装
  在线安装
  
  wget  http://www.keepalived.org/software/keepalived-1.2.4.tar.gz
  tar  zxvf  keepalived-1.2.4.tar.gz
  cd  keepalived-1.2.4
  ./configure && make&& make install

  2.  文件配置
  负载均衡上的脚本配置(负载均衡服务器)
  名称:lvs.sh
  #!/bin/bash
  vip=192.168.184.130
  rs1=192.168.184.133
  rs2=192.168.184.134
  
  #ifconfigens33:0 $vip netmask 255.255.255.255 broadcast $vip up
  #routeadd -host $vip dev ens33:0
  #routeadd -host $vip dev ens33
  echo"1">/proc/sys/net/ipv4/ip_forward
  echo"0" >/proc/sys/net/ipv4/conf/all/send_redirects
  echo"0" >/proc/sys/net/ipv4/conf/default/send_redirects
  echo"0" >/proc/sys/net/ipv4/conf/eth0/send_redirects
  
  #clearipvs tables
  ipvsadm-C
  
  #setLVS  Server
  ipvsadm-A -t $vip:8080 -s rr
  ipvsadm-a -t $vip:8080 -r $rs1:8080 -g -w 1
  ipvsadm-a -t $vip:8080 -r $rs2:8080 -g -w 1
  
  #update/etc/sysctl.conf       # ,以下配置重启后将复原
  #echo"1" >/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
  ipvsadm
  #sysctl –p
  真实服务器上的脚本文件(web服务器)
  名称:rs.sh
  #!/bin/bash
  vip=192.168.184.130
  ifconfiglo:0 $vip netmask 255.255.255.255 broadcast $vip up
  routeadd -host $vip  dev lo:0
  #gw $vip
  #echo"1">/proc/sys/net/ipv4/ip_forward
  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  
  6        Keeppalived的搭建
  keeppalived的安装
  在线安装
  wget  http://www.keepalived.org/software/keepalived-1.2.4.tar.gz
  tar  zxvf  keepalived-1.2.4.tar.gz
  cd  keepalived-1.2.4
  ./configure && make&& make install
  
  rpm安装
  rpm –ivh keepalived-1.2.7-3.el6.x86_64.rpm
  keeppalived的配置
  主机keepalived配置
  !Configuration File for keepalived
  
  global_defs{
  notification_email {
  458294684@qq.com
  acassen@firewall.loc
  failover@firewall.loc
  sysadmin@firewall.loc
  }
  notification_email_fromAlexandre.Cassen@firewall.loc
  smtp_server 192.168.200.1
  smtp_connect_timeout 30
  router_id LVS01
  }
  
  vrrp_instanceVI_1 {
  state MASTER
  interface ens33
  virtual_router_id 51
  priority 100
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 1111
  }
  virtual_ipaddress {
  192.168.184.130
  }
  }
  
  virtual_server192.168.184.130 8080 {
  delay_loop 3
  lb_algo rr
  lb_kind DR
  persistence_timeout 50
  protocol TCP
  
  real_server 192.168.184.133 8080 {
  weight 1
  TCP_CHECK {
  connect_timeout 3
  nb_get_retry 3
  delay_before_retry 3
  connect_port 8080
  }
  }
  
  real_server 192.168.184.134 8080 {
  weight 1
  TCP_CHECK {
  connect_timeout 3
  nb_get_retry 3
  delay_before_retry 3
  connect_port 8080
  }
  }
  }
  备机keepalived配置
  !Configuration File for keepalived
  
  global_defs{
  notification_email {
  458294684@qq.com
  acassen@firewall.loc
  failover@firewall.loc
  sysadmin@firewall.loc
  }
  notification_email_fromAlexandre.Cassen@firewall.loc
  smtp_server 192.168.200.1
  smtp_connect_timeout 30
  router_id LVS02
  }
  
  vrrp_instanceVI_1 {
  state BACKUP
  interface ens33
  virtual_router_id 51
  priority 90
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 1111
  }
  virtual_ipaddress {
  192.168.184.130
  }
  }
  
  virtual_server192.168.184.130 8080 {
  delay_loop 3
  lb_algo rr
  lb_kind DR
  persistence_timeout 50
  protocol TCP
  
  real_server 192.168.184.133 8080 {
  weight 1
  TCP_CHECK {
  connect_timeout 3
  nb_get_retry 3
  delay_before_retry 3
  connect_port 8080
  }
  }
  
  real_server 192.168.184.134 8080 {
  weight 1
  TCP_CHECK {
  connect_timeout 3
  nb_get_retry 3
  delay_before_retry 3
  connect_port 8080
  }
  }
  }
  7        apatch的搭建
  注:不用绑定ip地址,否则会出错。
  7.1下载apatch服务器软件apache-tomcat-7.0.40.tar.gz
  下载地址:http://mirrors.cnnic.cn/apache/tomcat/tomcat-7/v7.0.62/bin/apache-tomcat-7.0.62.tar.gz
  7.2 解压
  tar –xzf apache-tomcat-7.0.40.tar.gz
  7.3 将apache-tomcat-7.0.40改名为tomcat
  mv apache-tomcat-7.0.40 tomcat
  7.4 放入/usr/local/
  sudo mv tomcat /usr/local/
  7.5进入/usr/local/tomcat
  cd /usr/local/tomcat
  7.6进入到/tomcat/bin目录下修改vim catalina.sh
  #OS specific support. $var _must_ be set to either true or false.
  在这行上面再定义一次CATALINA_HOME以及JAVA_HOME:
  CATALINA_HOME=/usr/local/tomcat
  JAVA_HOME=/usr/local/java/jdk1.7.0_21
  保存退出
  7.7 启动tomcat
  sudo ./bin/startup.sh
  7.8停止tomcat:
  sudo ./bin/shutdown.sh
  如有不懂请参看:http://www.33lc.com/article/7459.html
  7.9进入到tomcat web管理界面,需要配置权限,配置权限请参看
  http://tonysmith.iyunv.com/blog/1295288
  8        mysql的搭建
  注:高版本的centos不再集成mysql数据库,因为oracle的原因。centos使用了mysql数据库的另一分支:mariadbmariadb原理和操作方式几乎和mysql一样。
  搭建mysql前需要将原理的mariadb卸载掉。
  1.安装mysql和卸载mariadb的方法请参看:
  http://www.it165.net/database/html/201501/10403.html
  http://mrlee23.iyunv.com/blog/2103729
  2.配置远程访问:http://www.cnblogs.com/24la/p/mariadb-remoting-access.html
  3.Linux系统下安装完MySQL,启动MySQL报错:http://www.splaybow.com/post/linux-mysql.html
  9.启动顺序
  1.启动keepalived
  service keepalived start
2.启动ipvadm
  ipvadm -ln
3.启动路由脚本
  ./lvs.sh
    ./rs.sh
  4.启动tomcat
  ./cataline.sh
先启动web,再启动lvs

  注:如有问题,请留意截图。源文件将上传至百度网盘中。
  

运维网声明 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-141303-1-1.html 上篇帖子: lvs/dr+keepalived实现Web负载均衡Dr高可用 下篇帖子: Centos配置Keepalived 做双机热备切换
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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