xiaochuan 发表于 2018-12-31 09:52:20

keepalived主备简单使用以及简单监控脚本编辑

  这几天palived 这个博文后期还会编辑,现在只学了皮毛而已,特此记录下!
  我用的是yum安装的keepalived,用光盘搭建的yum源
  两台机器 ip地址分别是 10.91.10.173 和10.91.10.172
  首先两台机器 安装yum install -y httpd keepalived
  keepalived配置文件在 /etc/keepalived/keepalived.conf 之所以实用yum安装时因为方便。主要是学习keepalived的不是为了学习怎样编译安装软件。怎样解决 编译中出现的问题的。
  vim /etc/keepalived/keepalived.conf
  打开配置文件 10.91.10.173
  Configuration File for keepalived
  global_defs {
  notification_email {
  keepalived@master.com
  }
  notification_email_from keepalived@admin.com
  smtp_server 127.0.0.1
  smtp_connect_timeout 30
  router_id master1诸葛主备一定不能相同
  }
  vrrp_script chk_httpd {这里是检测实用的脚本配置文件,
  script "/home/if.sh"这个是脚本if.sh我写的比较简单 下面会贴出
  interval 2这个是检测间隔时间为2秒
  weight -20这个是权限降低20 不知道为什么我的好像是不起作用 我不写它也能实用
  }
  vrrp_instance VI_1 {这里是主要的配置 VI_I可以随便给的名字
  state MASTER设置为主
  interface ens33 监听的网卡名称 和主机的网卡要匹配
  virtual_router_id 51ID 主备相同
  priority 100 权重值 备要低一些
  advert_int 1 检测时间间隔1秒
  authentication { 两台机器之间的通信暗号
  auth_type PASS
  auth_pass 1111
  }
  virtual_ipaddress {设定虚拟IP地址,我设置的是和真是ip地址同一网段的地址。为了同网段内任意机器都可以访问。
  10.91.10.174/32 dev ens33 label ens33:0
  }
  track_script {
  chk_httpd上面脚本名称。
  }
  }
  下面的全部注释掉。。。。。。。。
  因为我们没有安装LVS只是单纯的实用keepalived 主备
  #virtual_server 192.168.200.100 443 {
  #    delay_loop 6
  #    lb_algo rr
  #    lb_kind NAT
  #    persistence_tim
  以上主就配置完成,可以适当的编辑http的配置文件vim /var/www/html/index.html    加入 10.91.10.173
  配置备keepalived 10.91.10.172
  ! Configuration File for keepalived
  global_defs {
  notification_email {
  keepalived@master.com
  }
  notification_email_from keepalived@admin.com
  smtp_server 127.0.0.1
  smtp_connect_timeout 30
  router_id backup1
  }
  }
  vrrp_instance VI_1 {
  state BACKUP
  interface ens33
  virtual_router_id 51
  priority 90
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 1111
  }
  virtual_ipaddress {
  10.91.10.174/32 dev ens33 label ens33:0
  }
  }
  这个配置文件没有多说的了 直接把主的scp过来就行然后修改MASTER为BACHUP 权重值改为90 router_id bakeuup1 别的就没啥了。
  还是 以下的注释了
  #virtual_server 192.168.200.100 443 {
  #    delay_loop 6
  #    lb_algo rr
  #    lb_kind NAT
  #    persistence_timeout 50
  http的配置文件写入 10.91.10.172为了区分
  关闭 selinux 和firewall 清空iptables
  if.sh脚本内容如下
  #!/bin/bash
  jiance=$(netstat -tlun | grep 80 | awk '{printf $4 "\n"}'| cut -d ":" -f4)
  if [ -z "$jiance" ]
  then
  /usr/bin/systemctl stop keepalived
  fi
  写的比较简单主要是检测http是否运行 如果没有运行的话就停止掉keepalived
  这就完事了这个是主能看到vip是10.91.10.174
http://s1.运维网.com/images/20180604/1528081687143038.png
  访问10.91.10.174http://s1.运维网.com/images/20180604/1528081750773880.png
  查看10.91.10.173 ifconfig
http://s1.运维网.com/images/20180604/1528081790848479.png
  可以看到无vip地址
  现在停掉10.91.10.172的httpd
http://s1.运维网.com/images/20180604/1528081837920165.png
  可以看到VIP也消失了
  现在看10.91.10.173上
http://s1.运维网.com/images/20180604/1528081874166064.png
  VIP自动漂移过来现在访问10.91.10.174
http://s1.运维网.com/images/20180604/1528081926316629.png
  这就配置完成了,当然如果主服务商的keepalived启动后VIP会自动漂移到主上面,我写的那个脚本就是检测http停止后自动关闭keepalived的 正常的应该是检测到httpd停止后降低权限而已,所有这里配置的还不够准确。现在还在学习,后再再来更新!!



页: [1]
查看完整版本: keepalived主备简单使用以及简单监控脚本编辑