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

[经验分享] keepalived+LVS LVS集群节点 NFS+rsync+inotify+keepalived

[复制链接]

尚未签到

发表于 2018-12-29 11:17:00 | 显示全部楼层 |阅读模式
  实验拓扑图:
  
  实验环境:
  主机
  操作系统
  IP地址
  调度层:keepalived+LVS(ctos1-2)
  Centos7.5
  192.168.100.150-151
  VTP:192.168.100.95
  LVSweb集群节点(ctos3-5)
  Centos7.5
  192.168.100.152-154
  VTP:192.168.100.95
  NFS+rsync+inotify+keeplived(使用ctos6-7
  Centos7.5
  192.168.100.155-156
  VTP:192.168.100.195
  要求:
  1.使用ctos1-2搭建keepalived+LVS调度集群。
  2.使用ctos3-5搭建LVSweb集群节点。
  3.使用ctos6-7搭建NFS+rsync+inotify+keepalived集群。
  4.ctos1-5是Keepalived+LVS集群VIP=192.168.100.95.
  5.ctos6-7存储集群,VIP=192.168.100.195.
  6.ctos3-5挂载192.168.100.195提供/opt/wwwroot共享的网页。
  注意事项:
  web集群和存储集群的VRRP_ID不能相同。
  第六章实验(二):HA+LVS(DR模式)配置
  环境介绍:
  主服务器ip:192.168.100.157(keeplived+lvs)
  从服务器ip:192.168.100.156(keeplived+lvs)
  节点服务器ip:192.168.100.153-192.168.100.155(httpd)
  集群vip:192.168.100.95
  
  1.安装keepalived(在两台调度服务器上安装,192.168.100.150192.168.100.151
  yum -y install kernel-devel openssl-devel popt-devel ipvsadm
  tar zxvf keepalived-1.2.13.tar.gz -C /usr/src/
  cd /usr/src/keepalived-1.2.13/
  ./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/2.6.32-431.el6.x86_64/
  make &&make install
  cd
  [root@localhost ~]# ls /etc/keepalived/
  keepalived.conf  samples
  
  chkconfig --add keepalived
  chkconfig keepalived on
  
  2.配置调度器(主:192.168.100.150,备:192.168.100.151,漂移ip192.168.100.95web服务器池(节点1:192.168.100.152、节点2:192.168.100.153、节点3192.168.100.154
  1)、配置主HA调度服务器
  cd /etc/keepalived/
  mv keepalived.conf keepalived.conf.bak
  vi /etc/keepalived/keepalived.conf
  global_defs {
      router_id HA_TEST_R1##本服务器的名称
  }
  vrrp_instance VI_1 {##定义VRRP热备实例
      state MASTER##MASTER表示主服务器
      interface eth0##承载VIP地址的物理接口
      virtual_router_id 1##虚拟路由器的ID
      priority 100##优先级,数值越大优先级越高
      advert_int 1##通告间隔秒数(心跳频率)
      authentication {##认证信息
          auth_type PASS##认证类型
          auth_pass 123456##密码字串
      }
      virtual_ipaddress {
    192.168.100.95##指定漂移地址(VIP
      }
  virtual_server 192.168.100.95 80 {
          delay_loop 15
          lb_algo rr
          lb_kind DR
          protocol TCP
  real_server 192.168.100.152 80 {
          weight 1
          TCP_CHECK {
                  connect_port 80
                  connect_timeout 3
                  nb_get_retry 3
                  delay_before_retry 4
                  }
          }
  real_server 192.168.100.153 80 {
          weight 1
          TCP_CHECK {
                  connect_port 80
                  connect_timeout 3
                  nb_get_retry 3
                  delay_before_retry 4
                  }
          }
  real_server 192.168.100.154 80 {
          weight 1
          TCP_CHECK {
                  connect_port 80
                  connect_timeout 3
                  nb_get_retry 3
                  delay_before_retry 4
                  }
          }
  }
  :wq
  modprobe ip_vs
  lsmod |grep ip_vs
  echo "modprobe ip_vs" >>/etc/rc.local
  /etc/init.d/keepalived restart
  chkconfig ipvsadm off
  ip addr show dev eth0
  
  2)、配置HA从调度服务器
  cd /etc/keepalived/
  mv keepalived.conf keepalived.conf.bak
  vi /etc/keepalived/keepalived.conf
  global_defs {
      router_id HA_TEST_R2##本服务器的名称
  }
  vrrp_instance VI_1 {##定义VRRP热备实例
      state BACKUP##BACKUP表示主服务器
      interface eth0##承载VIP地址的物理接口
      virtual_router_id 1##虚拟路由器的ID
      priority 99##优先级,数值越大优先级越高
      advert_int 1##通告间隔秒数(心跳频率)
      authentication {##认证信息
          auth_type PASS##认证类型
          auth_pass 123456##密码字串
      }
      virtual_ipaddress {
    192.168.100.95##指定漂移地址(VIP
      }
  virtual_server 192.168.100.95 80 {
          delay_loop 15
          lb_algo rr
          lb_kind DR
          protocol TCP
  real_server 192.168.100.152 80 {
          weight 1
          TCP_CHECK {
                  connect_port 80
                  connect_timeout 3
                  nb_get_retry 3
                  delay_before_retry 4
                  }
          }
  real_server 192.168.100.153 80 {
          weight 1
          TCP_CHECK {
                  connect_port 80
                  connect_timeout 3
                  nb_get_retry 3
                  delay_before_retry 4
                  }
          }
  real_server 192.168.100.154 80 {
          weight 1
          TCP_CHECK {
                  connect_port 80
                  connect_timeout 3
                  nb_get_retry 3
                  delay_before_retry 4
                  }
          }
  }
  :wq
  
  modprobe ip_vs
  lsmod |grep ip_vs
  echo "modprobe ip_vs" >>/etc/rc.local
  /etc/init.d/keepalived restart
  chkconfig ipvsadm off
  ip addr show dev eth0
  ######设置防火墙和selinux(此处为测试)#########
  iptables -F
  setenforce 0
  
  3.配置Web节点服务器(DR工作模式的配置,分别在节点服务器上做如下设置)
  cd /etc/sysconfig/network-scripts/
  cp ifcfg-lo ifcfg-lo:0
  vi ifcfg-lo:0
  DEVICE=lo:0
  IPADDR=192.168.100.95
  NETMASK=255.255.255.255
  ONBOOT=yes
  :wq
  /etc/init.d/network restart
  echo "route add -host 192.168.100.95 dev lo:0" >>/etc/rc.local
  route add -host 192.168.100.95 dev lo:0
  ip addr show dev lo
  关闭ARP广播响应
  vi /etc/sysctl.conf
  net.ipv4.conf.all.arp_ignore = 1
  net.ipv4.conf.all.arp_announce = 2
  net.ipv4.conf.default.arp_ignore = 1
  net.ipv4.conf.default.arp_announce = 2
  net.ipv4.conf.lo.arp_ignore = 1
  net.ipv4.conf.lo.arp_announce = 2
  sysctl -p
  yum -y install httpd
  vi /var/www/html/index.html
  test page 192.168.100.153!!!!
  :wq
  /etc/init.d/httpd start
  chkconfig httpd on
  iptables -F
  setenforce 0
  
  4.测试lvs+Keepalived高可用集群
  在客户机浏览器访问192.168.100.95,调度服务器可用坏一个,节点服务器至少要有一个是好的。
  通过/var/log/message日志文件,跟踪故障切换过程。使用ipvsadm -Ln查看LVS
  root@localhost keepalived]# ipvsadm -Ln
  IP Virtual Server version 1.2.1 (size=4096)
  Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
  TCP  192.168.100.95:80 rr
    -> 192.168.100.152:80           Route   1      0          0         
    -> 192.168.100.153:80           Route   1      0          0         
    -> 192.168.100.154:80           Route   1      0          0     
  5、
  1)ssh密钥对认证后rsync同步
  ssh-keygen  -t  rsa  一直按回车即可,(192.168.100.155-156
  ssh-copy-id  root@192.168.100.156  ##给下载用户上传公钥匙
  ssh-copy-id  root@192.168.100.155  
  ssh  roott@192.168.100.155
  ssh  roott@192.168.100.156    ##登录验证
  2)inotify的使用:
  vi  /etc/sysctl.conf
  fs.inotify.max_queued_envents = 16384  ##监控事件队列数
  fs.inotify.max_user_instances = 1024   ##监控实例数
  fs.inotify.max_user_watches = 1048576  ##监控的文件数量
    
  tar zxvf inotify-tools-3.14.tar.gz -C /usr/src/ (192.1668.100.155-156都操作)
  cd /usr/src/inotify-tools-3.14/
  ./configure  &&make &&amake  install
  
  ls  /usr/local/bin/inotifywa
  mkdir /opt/wwwroot
  vi  rsync_inotify.sh   ##实时同步脚本(主服务器配置)
  #!/bin/bash
  RSYNC="rsync -avzH /opt/wwwroot root@192.168.100.155:/opt/wwwroot/ --delete"
  INT_CMD="inotifywait -mrq -e modify,create,move,delete,attrib /opt/wwwroot"
  $INT_CMD |while read DIRECOTRY EVENT FILE;do
  $RSYNC
  done
  :wq
  
  chmod  +x  rsync_inotify.sh
  ./rsync_inotify.sh  &  ##启动脚本
  测试验证。
  6、部署keepalived(192.168.100.155-156)
  yum -y install kernel-devel openssl-devel popt-devel  ipvsadm(主从都需要配置)
  tar zxvf keepalived-1.2.13.tar.gz -C /usr/src/
  cd /usr/src/keepalived-1.2.13/
  ./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/2.6.32-431.el6.x86_64/
  make &&make install
  chkconfig --add keepalived
  chkconfig keepalived on
  2.配置HA
  主配置:(192.168.100.156上操作)
  cd /etc/keepalived/
  mv keepalived.conf keepalived.conf.bak
  vi /etc/keepalived/keepalived.conf
  global_defs {
      router_id HA_TEST_R3##本服务器的名称
  }
  vrrp_instance VI_1 {##定义VRRP热备实例
      state MASTER##MASTER表示主服务器
      interface eth0##承载VIP地址的物理接口
      virtual_router_id 2 ##虚拟路由器的ID
      priority 100##优先级,数值越大优先级越高
      advert_int 1##通告间隔秒数(心跳频率)
      authentication {##认证信息
          auth_type PASS##认证类型
          auth_pass 123456##密码字串
      }
      virtual_ipaddress {
    192.168.100.195##指定漂移地址(VIP
      }
  }
  
  从配置:(192.168.100.155上操作)
  cd /etc/keepalived/
  mv keepalived.conf keepalived.conf.bak
  vi /etc/keepalived/keepalived.conf
  global_defs {
      router_id HA_TEST_R4##本服务器的名称
  }
  vrrp_instance VI_1 {
      state BACKUP##SLAVE表示从服务器
      interface eth0
      virtual_router_id 2
      priority 99##优先级,低于主服务器
      advert_int 1
      authentication {
          auth_type PASS
          auth_pass 123456
      }
      virtual_ipaddress {
          192.168.100.195
      }
  }
  
  3.启动服务及应用服务:
  1)启动keepalived
  /etc/init.d/keepalived start
  ip addr show dev eth0      ##验证vip是否在主服务器上
  7、
  1)安装nfs-utilsrcpbind软件包
  [root@localhost ~]# yum -y install nfs-utils rpcbind
  [root@localhost ~]# for i in rpcbind nfs;do chkconfig $i on; done   ##设置为开机启动
  
  2)设置共享目录
  [root@localhost ~]# chmod 777 /opt/wwwroot  ##设置权限
  vi /etc/exports
  /opt/wwwroot192.168.100.0/24(rw,sync,no_root_squash)
  
  3)启动nfs服务程序
  [root@localhost ~]# /etc/init.d/rpcbind restart
  [root@localhost ~]# /etc/init.d/nfs restart
  [root@localhost ~]# netstat -utpnl |grep rpcbind
  [root@localhost ~]# showmount -e ##查看本机共享的目录
  
  4)客户机设置(192.168.100.152-154
  [root@localhost ~]# yum -y install nfs-utils rpcbind
  chkconfig rpcbind on
  [root@localhost ~]# showmount -e 192.168.100.195
  [root@localhost ~]# echo 3 >/proc/sys/vm/drop_caches  ##当nfs因为缓存没有及时而导致错,可以使用该命令
  5)客户机挂载使用nfs共享(192.168.100.152-154
  [root@localhost ~]# mount 192.168.100.195:/opt/wwwroot /var/www/html/
  [root@localhost ~]# mount |grep nfs
  [root@localhost ~]# vi /etc/fstab
  192.168.100.195:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0
  :wq
  [root@localhost ~]# mount -a
  [root@localhost ~]# mount |grep nfs
  验证:
  [root@localhost ~]# cd /var/www/html/
  [root@localhost html]# vi index.html
  [root@localhost html]# ll
  切换到100.195上验证:
  [root@localhost ~]# vi /opt/wwwroot/index.html
  
  通过浏览器访问测试:分别断开节点测试是否成功。http://192.168.100.95
  



附件:http://down.运维网.com/data/2368333


运维网声明 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-657192-1-1.html 上篇帖子: keepalived中vrrp_script,track_script,notify的使用方法 下篇帖子: Linux学习总结(五十三)keepalived 配置高可用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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