sanhutrees 发表于 2018-12-31 07:04:35

centos7中keepalived原理及高可用(HA)详解

  keepadlived原理:keepadlive是通过路由器的VRRP协议实现来实现服务器的高可用防止单点故障发生的技术。
  VRRP协议简介:VRRP是一种容错协议,它保证当主机的下一跳坏掉时,可以及时由另一台路由器来代替,从而保持通讯的连续性和可靠性。为了使vrrp能正常工作,要在路由器上配置虚拟路由器号和路由器的虚拟ip地址,同时产生一个虚拟MAC地址,这样在网络这就加入了一个虚拟路由器。一个主路由器和若干个备份路由器组成一个虚拟路由器,当主路由器发生故障时,一个备份路由器成为主路由器,接替他工作。
  

  keepalived配置:①需要两台centos7操作系统(keepalived1、keepalived2)。
  ②修改主机名:分别编辑2台主机 #vi /etc/hostname加入keepalived1;vi /etc/hostname加入keepalived2
  ③在/etc/hosts中用IP地址解析主机名:分别编辑两台主机 #vi /etc/hosts在后面加入
  192.168.1.1 keepalived1
  192.168.1.2 keepalived2实现两台主机名能相互ping通。
  ③同步时间:#date; ssh keepalived2 'adte'

  ④关闭防火墙及selinux:#systemctl disable firewalld#systemctl stop firewalld#setenfore 0(临时关闭selinux) #vi /etc/selinux/config 把SELINUX=enforcing改为SELINUX=disabled

  ⑤下载keepalived软件:#yum install -y keepalived #rpm -qa | grep keepalived

  ⑥生产一个随机字符串:#penssl rang -hex 4 用于代替/etc/keepalive/keepalived.conf中auth_pass 1111的“1111”数字。

  ⑦编辑keepalived.conf配置文件:#cd /etc/keepalived#cp keepalived.conf{,.bak}#vim keepalived.conf

  注释掉virtual_server 192.168.200.100 443 这一行及以下的内容,在vim中输入命令 shift:.,$s/^/#/g
  把global_defs {
            notification_email {                  
                 acassen@firewall.loc
                 failover@firewall.loc   
                 sysadmin@firewall.loc
        }
  改为:
  global_defs {
  notification_email {
  root@localhost
  }
  把
  notification_email_from Alexandre.Cassen@firewall.loc
  smtp_server 192.168.200.1
  smtp_connect_timeout 30
  router_id LVS_DEVEL
  }
  改为:
  notification_email_from kaadmin@localhost
  smtp_server 127.0.0.1
  smtp_connect_timeout 30
  router_id LVS_DEVEL
  vrrp_mcast_group4 224.0.0.183
  }
  把
  vrrp_instance VI_1 {
  state MASTER
  interface eth0
  virtual_router_id 51
  priority 100
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass 1111
  }
  改为:
  vrrp_instance VI_1 {
  state MASTER
  interface ens33
  virtual_router_id 51
  priority 100
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass cd7fd940
  其中cd7fd940为生产的随机数

  把
  virtual_ipaddress {
  192.168.200.16
  192.168.200.17
  192.168.200.18
  }
  改为:

  virtual_ipaddress {
  192.168.1.100/24
  }
  其中192.168.1.100为请求服务是的虚拟IP   

  

  ⑧配置keepalived2,在keepalived2服务器中下载keepalived软件:#yum install -y keepalived

  在keepalived1中把keepalived.conf复制到keepalived2中,#scp keepalived.conf 192.168.1.2:/etc/keepalived/

  ⑨修改keepalived2中keepalived.conf的优先级,#vi /etc/keepalived/keepalived.conf把priority 100 给为priority 99
  ⑩分别重启2台服务器的keepalived服务:#systemctl restart keepalived查看日志
  #cat /var/log/messeges查看keepalived的状态 #systemctl stop keepalived 再到另一台服务器查看日志并执行#ip addr list查看是否有虚拟IP 192.168.1.100

  

  

  keepalived加强

  需求:实现多台服务器协同工作            
  方法:分别在多台主机的keepalived.conf加入不同的虚拟IP,当其中一台出现故障之后,其他台服务器分担相应的工作。
  




页: [1]
查看完整版本: centos7中keepalived原理及高可用(HA)详解