码迷,mamicode.com
首页 > 其他好文 > 详细

keepalived 高可用调度器配置

时间:2016-05-16 20:13:48      阅读:405      评论:0      收藏:0      [点我收藏+]

标签:局域网   路由器   虚拟机   工作原理   master   

一、vrrp 概述

 1.VRRP协议

 虚拟路由冗余协议,是IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议.

 VRRP广泛应用在边缘网络中,它的设计目标是支持特定情况下IP数据流量失败转移不会引起混

 乱,准许主机使用单路由器,及时在在实际第一跳路由器使用失败的情形下仍能够维护路由器 

 间的连通性。

 2.VRRP基本术语

   技术分享

 3.VRRP工作原理

   技术分享

 4.VRRP的主要功能

   1.master 路由器的选择功能

   2.master 路由器的状态通告

   3.VRRP 认证功能

 5.VRRP高可用工作模型

   1.主备模型

   联网业务由master路由器承担,当master路由器出现故障时候,才会由选出来的backup路由器

   接替主路由器的工作

   技术分享

   2.主主模型

   在路由器的一个接口上可以创建多个虚拟机路由器,似的该路由器可以在一个虚拟路由器中作

   为master路由器,同时在其它的虚拟路由器中作为backup路由器,主主模型备份方式可以实现

   负载分担的功能

   技术分享


 二、keepalived高可用调度器

  1.keepalived 的功能

     keepalived程序是vrrp协议在linux主机上以守护进程方式的实现。能够根据配置

   文件生成ipvs规则,并对各RealServer的健康做检测,以及loadbalance主机和Backup

   主机之间failover的实现

   CentOS 6.4+,程序包已经在base源提供;

  2.程序组件有

    1.核心程序 、IO复用器、内存管理、配置文件分析器

    技术分享

  3.keepalived高可用几圈配置前提

    1.各节点时间要同步,不能超过1s,一半使用网络时间服务器(ntp-server)

    2.确保iptables及selinux不会成为障碍

    3.各节点之间可通过主机名想通信,节点的名称设定与hosts文件中解析的主机名都要保持一

    致,#uname -n 获得的主机名,与解析的主机名要相同;

    4.各节点之间基于秘钥认证的方式通过ssh互信通信;

    备注:第3.4条非必须

三、keepalived 环境配置详解

  1.程序包的安装

    yum instll keepalived -y 

   备注:CentOS 6.4+,程序包已经在base源提供

  2.生成的配置文件有

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

     Unit  file:/usr/lib/systemd/system/keepalived.service

     配置文件:/etc/sysconfig/keepalived

     全局配置详解;

     

    global_defs {

     notification_email {

     acassen@firewall.loc

     failover@firewall.loc

     sysadmin@firewall.loc

   }

   notification_email_from Alexandre.Cassen@firewall.loc

   smtp_server 192.168.200.1

   smtp_connect_timeout 30

   router_id LVS_DEVEL

}

  技术分享

 3.配置vrrp实例:

   vrrp instance:虚拟路由器

        vrrp_instance Name {

             ...

   }

   vrrp synchronization group

      vrrp_sync_group Name {

             ...

   }

    

    1)基本配置;

    技术分享

    2)认证方式配置;

    技术分享

   3)虚拟IP地址配置

    技术分享

  4.keepalived主备模型配置

   1.主节点配置 

   

global_defs {

   notification_email {

     root@localhost

   }

   notification_email_from Alexandre.Cassen@firewall.loc

   smtp_server 127.0.0.1

   smtp_connect_timeout 30

   router_id node1

}


vrrp_instance VI_1 {

    state MASTER

    interface eno16777736

    virtual_router_id 51

    priority 100

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

        192.168.1.200

    }

}

  2.备用节点配置

global_defs {

   notification_email {

     root@localhost

   }

   notification_email_from Alexandre.Cassen@firewall.loc

   smtp_server 127.0.0.1

   smtp_connect_timeout 30

   router_id node1

}


vrrp_instance VI_1 {

    state BACKUP

    interface eno16777736

    virtual_router_id 51

    priority 98

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

        192.168.1.200

    }

}

主备节点配置完毕后进行服务的启动工作

主节点;systemctl start keepalived.service

然后使用ip addr list 进行查看工作,如下所示

 eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:48:cf:50 brd ff:ff:ff:ff:ff:ff

    inet 192.168.1.107/24 brd 192.168.1.255 scope global dynamic eno16777736

       valid_lft 5109sec preferred_lft 5109sec

    inet 192.168.1.200/32 scope global eno16777736

       valid_lft forever preferred_lft forever   这个就是虚拟vip 已经显示在这里了。

    inet6 fe80::20c:29ff:fe48:cf50/64 scope link 

       valid_lft forever preferred_lft forever

如果现在主节点停止服务的话,备用节点将自动上线,来代替主节点的工作。如下所示

使用命令systemctl stop keepalived.servcie

我们来看一下备节点的情况

eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:08:0d:91 brd ff:ff:ff:ff:ff:ff

    inet 192.168.1.129/24 brd 192.168.1.255 scope global dynamic eno16777736

       valid_lft 4305sec preferred_lft 4305sec

    inet 192.168.1.200/32 scope global eno16777736 现在备用节点已经得到了IP地址。

       valid_lft forever preferred_lft forever

    inet6 fe80::20c:29ff:fe08:d91/64 scope link 

       valid_lft forever preferred_lft forever


如果主服务自动上线的话,我们的备用节点又会自动退出,主节点继续工作,备用节点去后台暂时休息。


5.keepalived 双主配置

节点1-node1:

vrrp_instance VI_1 {

state MASTER

interface eno16777736

virtual_router_id 171

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 0c5UMiJo

}


virtual_ipaddress {

192.168.1.200 dev eno16777736 label eno16777736:0

}


track_script {

chk_down

}


notify_master "/etc/keepalived/notify.sh master"

notify_backup "/etc/keepalived/notify.sh backup"

notify_fault "/etc/keepalived/notify.sh fault"

}


priority 98vrrp_instance VI_2 {

state BACKUP

interface eno16777736

virtual_router_id 172

advert_int 1

authentication {

auth_type PASS

auth_pass 0c6UMiJo

}


virtual_ipaddress {

192.168.1.201 dev eno16777736 label eno16777736:1

}


track_script {

chk_down

}


notify_master "/etc/keepalived/notify.sh master"

notify_backup "/etc/keepalived/notify.sh backup"

notify_fault "/etc/keepalived/notify.sh fault"

}

节点2-node2:

vrrp_instance VI_1 {

state BACKUP

interface eno16777736

virtual_router_id 171

priority 98

advert_int 1

authentication {

auth_type PASS

auth_pass 0c5UMiJo

}


virtual_ipaddress {

192.168.1.200 dev eno16777736 label eno16777736:0

}


track_script {

chk_down

}


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 172

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 0c6UMiJo

}


virtual_ipaddress {

192.168.1.201 dev eno16777736 label eno16777736:1

}


track_script {

chk_down

}


notify_master "/etc/keepalived/notify.sh master"

notify_backup "/etc/keepalived/notify.sh backup"

notify_fault "/etc/keepalived/notify.sh fault"

}



好了,就写到这里吧,写博客看来也挺痛苦的,继续加油,师傅领进门修行靠个人。继续跟着马哥前行吧。




















 

    

本文出自 “李文明的博客” 博客,请务必保留此出处http://liwenming18.blog.51cto.com/11068518/1773956

keepalived 高可用调度器配置

标签:局域网   路由器   虚拟机   工作原理   master   

原文地址:http://liwenming18.blog.51cto.com/11068518/1773956

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!