keeplived配置与使用

第1章 keeplived工作原理

通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务。
当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短。
下面来以keepalived结合tomcat来实现一个web服务器的双机热备。
keepalived的工作原理是VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议。
在VRRP中有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。
VRRP路由器是指运行VRRP的路由器,是物理实体,虚拟路由器是指VRRP协议创建的,是逻辑概念。一组VRRP路由器协同工作,共同构成一台虚拟路由器。 Vrrp中存在着一种选举机制,用以选出提供服务的路由即主控路由,其他的则成了备份路由。当主控路由失效后,备份路由中会重新选举出一个主控路由,来继续工作,来保障不间断服务。

1.1 keepalived原理模式

1)VRRP协议,全称Virtual Router Redundancy Protocol,中文名为虚拟路由冗余协议,

2)VRRP是用过IP多播的方式(默认多播地址(224.0.0.18))实现高可用对之间通信的。

3)工作时主节点发包,备节点接包,当备节点接收不到主节点发的数据包的时候,就启动接管程序接管主节点的资源。

4)VRRP使用了加密协议加密数据,但Keepalived官方目前还是推荐用明文的方式配置认证类型和密码。 

 

第2章 配置

2.1 环境准备

lb01 10.0.0.5

lb02 10.0.0.6

web01 10.0.0.8

web02 10.0.0.7

web03 10.0.0.9

2.2 安装keeplived

 

两台lb01 lb02都需要装keepalived

[root@lb01 ~]# yum install keepalived -y
[root@lb02 ~]# yum install keepalived -y

  

2.3  测试

配置文件 keepalived.conf 分为基本分

TOP HIERACHY    ##等级配置

 GLOBAL CONFIGURATION   ### 全局定义

 VRRPD CONFIGURATION   ###虚拟ip的配置

 LVS CONFIGURATION      ###配置与管理 LVS

  

2.3.1 全局变量(GLOBAL CONFIGURATION)部分

这部分主要用来设置keepalived的故障通知机制和Router ID 标志。示例配置如下:

[root@lb02 ~]# head -13 /etc/keepalived/keepalived.conf |cat -n

     

1  ! Configuration File for keepalived

     2

     3  global_defs {

     4     notification_email {

     5       acassen@firewall.loc

     6       failover@firewall.loc

     7       sysadmin@firewall.loc

     8     }

     9     notification_email_from Alexandre.Cassen@firewall.loc

    10     smtp_server 192.168.200.1

    11     smtp_connect_timeout 30

    12     router_id LVS_DEVEL   ###keepalived 软件的身份证号码

    13  }

  

第1行是注释,!开头和#开头一样,都是注释。

第2行是空行;

第3-8行是定义服务器故障报警的Email地址,作用是当服务器法伤切换或TS及诶单灯油故障时,发报警邮件,这几行是可选配置,notifcation_email指定在keepalived发生时间时,需要发送Email地址,可以有多个,每行一个。

第9行是指定发动邮件的发送人,即发件人地址,也是可选配置。

第10行smtp_server指定发送邮件的smtp服务器,如果本机开启了sendmail或postfix,就可以使用上面默认配置实现邮件发送,也是可选配置。

第11行smtp_connect_timeout是链接smtp的超时时间,也是可选配置。

---------------------------------------------------------------------------------------------------------------------------------

注意:第4-11行所有和邮件报警相关的参数均可以不配置,在时间工作中会将监控的任务交给更山城的监控报北京的Nagios或zabbix软件。

---------------------------------------------------------------------------------------------------------------------------------

第12行是keepalived服务器的路由标识(router_id),在一个局域网内,这个标识(router_id)应该是唯一的。

在大括号“{}”,用来分隔区块,要成对出现,如果漏写了半个大括号,keeplived运行时会报错,但也不会得到语气的结果,特别提示:由于区块间存在多层嵌套关系,因此很容易遗漏区块结尾处的大括号,要特别注意。

更多参数信息请执行man keepalived.conf获取。

2.3.2 VRRP实例定义取块(VRRPD CONFIGURATION)部分

这部分主要用来定义服务的实例配置,包括keepalived主备装填、接口、优先级、认证方式和IP信息等,示例代码如下:

 

    15    vrrp_instance VI_1 {

    16        state MASTER

    17        interface eth0

    18        virtual_router_id 51    ###家族名称

    19        priority 100           ###优先级

    20        advert_int 1           ###1秒钟发送一次请求

    21        authentication {

    22            auth_type PASS

    23            auth_pass 1111     ###官方推荐简单密码:1111

    24        }

    25        virtual_ipaddress {       ###虚拟IP

    26           192.168.200.16

    27            192.168.200.17

    28            192.168.200.18

    29        }

    30  }

2.4 实例配置

2.4.1 lb01配置

[root@lb01 ~]# cat /etc/keepalived/keepalived.conf

global_defs {

   router_id LVS_01

}

 

vrrp_instance VI_1 {

    state MASTER

    interface eth0

    virtual_router_id 51

    priority 150

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

     10.0.0.3/24 dev eth0 label eth0:1

    }

}

 

2.5 全局定义,keepalived高可用配置成功

2.5.1 vrrp_实例的配置部分

lvs配置lb01

[root@lb01 ~]# cat /etc/keepalived/keepalived.conf

global_defs {

   router_id LVS_01

}

 

vrrp_instance VI_1 {

    state MASTER

    interface eth0

    virtual_router_id 51

    priority 150

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

     10.0.0.3/24 dev eth0 label eth0:1

    }

}

 

 

2.5.2 vrrp_实例的配置部分

lvs配置lb02

[root@lb02 ~]# cat /etc/keepalived/keepalived.conf

global_defs {

   router_id LVS_02

}

 

vrrp_instance VI_1 {

    state BACKUP

    interface eth0

    virtual_router_id 51

    priority 100

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

     10.0.0.3/24 dev eth0 label eth0:1

    }

}

 

 

转载于:https://www.cnblogs.com/LinuxISay/p/7477153.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值