cwx 发表于 2018-12-29 12:46:19

keepalived high

  #

  #keepalived 官网
  #keepalived 中文文档
  #keepalived 下载
  #
  #逻辑图
https://s2.运维网.com/wyfs02/M00/92/44/wKioL1j9wh6SzBC3AAASzy8Cet4206.png
  

主机名keeoalived角色ip地址Storage_1Master  192.168.174.137
  Vip:192.168.174.100
Storage_2Backup192.168.174.138  #均关闭防火墙和selinux
  

  下载软件 编译安装
# wget http://www.keepalived.org/software/keepalived-1.3.5.tar.gz
#tar -xf keepalived-1.3.5.tar.gz
#cd keepalived-1.3.5
# ./configure --prefix=/usr/local/keepalived
# make && make install# wget
#同理  

  或者yum 安装 (系统镜像内有)
# yum install -y keepalived# yum install -y keepalived  

  本文采用的是yum安装
  

  nginx安装
  #前面的文章已经安装过很多次了,这里就不再重复
  

  #开启nginx
# /usr/local/nginx/sbin/nginxhttps://s2.运维网.com/wyfs02/M02/92/4A/wKioL1j997qBtNZLAABqSqBFuZI269.png
  

  

# /usr/local/nginx/sbin/nginxhttps://s5.运维网.com/wyfs02/M01/92/4A/wKioL1j999GhXM00AABsJclAVeM277.png
  

  

  #修改keepalived配置文件(Master节点)

# vim /etc/keepalived/keepalived.conf
# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
   notification_email {
   test@qq.com
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 127.0.01
   smtp_connect_timeout 30
   router_id Stroage_1
}
vrrp_script chk_nginx {    #脚本
script "/opt/chk_nginx_status.sh"
interval 2
weight 2
}
vrrp_instance VI_1 {
    state MASTER
    interface eno16777736
    virtual_router_id 51
    priority 150         #优先级
    advert_int 1
    authentication {
      auth_type PASS
      auth_pass 1111
    }
    virtual_ipaddress {
      192.168.174.100/24
    }
    track_script {
chk_nginx
}
}  

  编写检查nginx状态的脚本
# vim /opt/chk_nginx_status.sh
# cat /opt/chk_nginx_status.sh
#!/bin/bash
if [ `netstat -lntup | grep "nginx: master" |wc -l` -eq 0 ]
then
systemctl stop keepalived         #如果nginx挂掉,就关闭keepalived
fi
# chmod +x /opt/chk_nginx_status.sh  

  #修改keepalived配置文件(Backup节点)
# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
   notification_email {
   test@qq.com
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 127.0.01
   smtp_connect_timeout 30
   router_id Stroage_2       #在同一个局域网内唯一
}
vrrp_instance VI_1 {               #实例名称
    state BACKUP             #角色
    interface eno16777736    #接口
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
      auth_type PASS
      auth_pass 1111
    }
    virtual_ipaddress {
      192.168.174.100/24    #vip
    }
}  

  #开启服务
# systemctl start keepalived.service# systemctl start keepalived.service  

  #测试
https://s5.运维网.com/wyfs02/M01/92/4B/wKiom1j9-FqD8osoAABn6-xo-ew823.png
  

  

  #查看ip(vip出现在master上)
# ip addr show eno16777736
2: eno16777736:mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:87:00:97 brd ff:ff:ff:ff:ff:ff
    inet 192.168.174.137/24 brd 192.168.174.255 scope global dynamic eno16777736
       valid_lft 1684sec preferred_lft 1684sec
    inet 192.168.174.100/24 scope global eno16777736
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe87:97/64 scope link
       valid_lft forever preferred_lft forever
## ip addr show eno16777736
2: eno16777736:mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:78:f4:d9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.174.138/24 brd 192.168.174.255 scope global dynamic eno16777736
       valid_lft 1595sec preferred_lft 1595sec
    inet6 fe80::20c:29ff:fe78:f4d9/64 scope link
       valid_lft forever preferred_lft forever
#  

  

  #测试

  #关闭主上的nginx
# /usr/local/nginx/sbin/nginx -s quit  

  #主上的vip不见了
# ip addr show eno16777736
2: eno16777736:mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:87:00:97 brd ff:ff:ff:ff:ff:ff
    inet 192.168.174.137/24 brd 192.168.174.255 scope global dynamic eno16777736
       valid_lft 1326sec preferred_lft 1326sec
    inet6 fe80::20c:29ff:fe87:97/64 scope link
       valid_lft forever preferred_lft forever  

  

  #备上出现了vip

# ip addr show eno16777736
2: eno16777736:mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:78:f4:d9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.174.138/24 brd 192.168.174.255 scope global dynamic eno16777736
       valid_lft 1397sec preferred_lft 1397sec
    inet 192.168.174.100/24 scope global secondary eno16777736
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe78:f4d9/64 scope link
       valid_lft forever preferred_lft forever  

  #访问测试
https://s4.运维网.com/wyfs02/M02/92/4B/wKiom1j9-K3gMHaiAABvAjBncaw817.png
  

  

  #vip成功漂移
  

  




页: [1]
查看完整版本: keepalived high