k668 发表于 2018-12-29 13:39:24

32

  配置环境
  node1:192.168.1.72
  node2:192.168.1.73
  1、node1、node2配置主机名、同步时间、通过hosts文件解析各主机名
  2、各节点安装keepalived
  yum -y install keepalived
  3、配置node1
  # cd /etc/keepalived/
  # cp keepalived.conf{,.bak}
  # vim keepalived.conf
  ! Configuration File for keepalived
  

  global_defs {
     notification_email {
   root@localhost
     }
     notification_email_from kaadmin@localhost
     smtp_server 127.0.0.1
     smtp_connect_timeout 30
     router_id node1
  }
  

  vrrp_script chk_maintanance {
  script "[[ -f /etc/keepalived/down ]] && exit 1 || exit 0"
  interval 1
  weight -2
  }
  

  vrrp_instance VI_1 {
  state MASTER
  interface eno16777736
  virtual_router_id 51
  priority 100
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 3b8fd970
  }
  virtual_ipaddress {
  192.168.1.80/24
  }
  

  track_script{
  chk_maintanance
  }
   #以下三行为添加通知功能

    notify_master "/etc/keepalived/notify.sh master"
    notify_backup "/etc/keepalived/notify.sh backup"
    notify_fault "/etc/keepalived/notify.sh fault"
  }
  

  vrrp_instance VI_2 {
  state BACKUP
  interface eno16777736
  virtual_router_id 61
  priority 99
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 7b3fd970aa
  }
  virtual_ipaddress {
  192.168.1.180/24
  }
  

  track_script{
  chk_maintanance
  }
  }
  

  通知脚本(node1和node2相同)
  

  # vim /etc/keepalived/notify.sh
  #!/bin/bash
  # Author: MageEdu
  # description: An example of notify script
  #
  

  vip=192.168.1.80
  contact='root@localhost'
  

  notify() {
  mailsubject="`hostname` to be $1: $vip floating"
  mailbody="`date '+%F %H:%M:%S'`: vrrp transition, `hostname` changed to be $1"
  echo $mailbody | mail -s "$mailsubject" $contact
  }
  

  case "$1" in
  master)
  notify master
  exit 0
  ;;
  backup)
  notify backup
  exit 0
  ;;
  fault)
  notify fault
  exit 0
  ;;
  *)
  echo 'Usage: `basename $0` {master|backup|fault}'
  exit 1
  ;;
  esac
  

  # scp notify.sh node2:/etc/keepalived/
  4、配置node2
  # scp keepalived.conf node2:/etc/keepalived/
  # cd /etc/keepalived/
  # vim keepalived.conf
  ! Configuration File for keepalived
  

  global_defs {
     notification_email {
   root@localhost
     }
     notification_email_from kaadmin@localhost
     smtp_server 127.0.0.1
     smtp_connect_timeout 30
     router_id node2
  }
  

  vrrp_script chk_maintanance {
  script "[[ -f /etc/keepalived/down ]] && exit 1 || exit 0"
  interval 1
  weight -2
  }
  

  vrrp_instance VI_1 {
  state BACKUP
  interface eno16777736
  virtual_router_id 51
  priority 99
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 3b8fd970
  }
  virtual_ipaddress {
  192.168.1.80/24
  }
  

  track_script{
  chk_maintanance
  }
  #以下三行为添加通知功能

      notify_master "/etc/keepalived/notify.sh master"
      notify_backup "/etc/keepalived/notify.sh backup"
      notify_fault "/etc/keepalived/notify.sh fault"
  

  }
  

  vrrp_instance VI_2 {
  state MASTER
  interface eno16777736
  virtual_router_id 61
  priority 100
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 7b3fd970aa
  }
  virtual_ipaddress {
  192.168.1.180/24
  }
  

  track_script{
  chk_maintanance
  }
  }
  

  

  5、启动
  # systemctl start keepalived.service
  # systemctl start keepalived.service
  

  6、添加日志储存文件
  # vim /etc/sysconfig/keepalived
  修改
  KEEPALIVED_OPTIONS="-D"
  为
  KEEPALIVED_OPTIONS="-D -S 3"
  
  # vim /etc/rsyslog.conf
  添加一行
  local3.*                                                /var/log/keepalived.log
  # systemctl restart rsyslog.service
  # systemctl restart keepalived.service
  
  




页: [1]
查看完整版本: 32