keepalived

2017-09-15  本文已影响0人  Az_d981

keepalived

简介

Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到, 并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived 自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

vrrp协议

vrrp作用

vrrp协议的软件实现,原生设计主的目的为了高可用的ipvs服务。

  1. 于vrrp协议完成地址流动

  2. 为了集群内的所有节点生成ipvs规则

  3. ipvs集群的各RS做健康监测

  4. 于脚本调用接口通过执行脚本完成脚本中定义的功能,进而影响集群事物

组件

核心组件:

  1. vrrp stack:vrrp协议的实现;

  2. ipvs wrapper:为了集群内的所有节点生成ipvs规则等功能;

  3. checkers:为ipvs集群的各RS做健康状态监测;

控制组件:

  1. 实现配置文件的分析和加载;

  2. IO复用器;

  3. 内存管理组件;

配置文件主要配置核心组件。

配置

HA Cluster的配置前提:

  1. 各节点时间必须同步;
  2. 确保iptables及selinux不会成为阻碍;(如果了解规则,可适当添加规则,较为复杂)
  3. 各节点之间可通过主机名互相通信;
  4. 确保各节点用于集群服务的接口支持MULTICAST通信;
  1. 一台服务器
  2. 客户端数台

- 时间同步

vim /etc/chrony.conf

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
server 172.16.0.1 iburst

默认server是指向网上,这里把它注释掉了,我添加了一条直接指向了服务器。

systemctl chrony.service restart
重启服务生效

chronyc sources
查看时间源同步差距

date
查看时间是否正确

- 确保iptables及selinux不会成为阻碍

systemctl status firewalld.service
查看firewalld.service服务是否停止

getenforce
查看是否关闭(Disabled)

如果是enforcing,就需要修改/etc/selinux/config文件。

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=Disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

- 各节点之间可通过主机名互相通信

vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4  centos7.waz.com
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.40.184 node1.wanganzhi.com node1
192.168.40.185 node2.wanganzhi.com node2
192.168.40.186 node3.wanganzhi.com node3
192.168.40.186 node4.wanganzhi.com node4

- 确保各节点用于集群服务的接口支持MULTICAST通信

ifconfig
查看网卡是否支持MULTICAST

安装配置

- keepalived安装配置

CentOS 6.4以后 直接base仓库就可以提供,yum源配光盘或源仓库可直接安装

yum -y install keepalived

主配置文件:/etc/keepalived/keepalived.conf

主程序文件:/usr/sbin/keepalived

Unit File:keepalived.service

Unit File的环境配置文件:/etc/sysconfig/keepalived

cd /etc/keepalived/

vim keepalived.conf

! Configuration File for keepalived

    global_defs {
                notification_email {
                    root@localhost
                }
                notification_email_fromkeepalived@localhost
                smtp_server 127.0.0.1
                smtp_connect_timeout 30
                router_id node1
                vrrp_mcast_group4 224.0.100.19
            }

    vrrp_instance VI_1 {
                state BACKUP
                interface eno33
                virtual_router_id 14
                priority 98
                advert_int 1
                authentication {
                    auth_type PASS
                    auth_pass 571f97b2
                }
                virtual_ipaddress {
                    10.1.0.91/16 dev eno33
                }
            }           

配置完毕后,启动Keepalived服务

/etc/init.d/keepalived start

检查配置结果,查看是否有虚拟ip xx.x.x.xx

ip addr |grep xx.x.x.xx

如果出现ip,就表示Keepalived服务单主配置成功

上一篇下一篇

猜你喜欢

热点阅读