我爱小虾 发表于 2015-11-20 06:52:38

linux集群系列(一):LVS+Keepalived以DR模式实现负载均衡

  
  Linux 下LVS+Keepalived负载均衡的搭建
  本负载均衡采用DR模式,是在vmware虚拟机下做的搭建。
  1 搭建前的准备
  1.1   软件目录规划
  windows下目录规划
  K:\VMWare 安装虚拟机软件
  K:\VMWareOS 安装CentOS


  
  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网络共享设置




  1.2网络ip设置



  2.      vmware网络设置




  3.      centOS网络设置
  

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

  
  2.修改网卡属性
      

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



  
  2.配置网卡属性
      

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

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



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


  5      LVS的搭建(ipvsadm)
  在linux内核版本为2.6以上的版本可以免安装此软件,因为高版本已经集成。
  1.安装
  在线安装
  
  wgethttp://www.keepalived.org/software/keepalived-1.2.4.tar.gz
  tarzxvfkeepalived-1.2.4.tar.gz
  cdkeepalived-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
  
  #setLVSServer
  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 $vipdev 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的安装
  在线安装
  wgethttp://www.keepalived.org/software/keepalived-1.2.4.tar.gz
  tarzxvfkeepalived-1.2.4.tar.gz
  cdkeepalived-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数据库的另一分支:mariadb,mariadb原理和操作方式几乎和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]
查看完整版本: linux集群系列(一):LVS+Keepalived以DR模式实现负载均衡