keepalived 高可用調度器配置

一、vrrp 概述

 1.VRRP協議

 虛擬路由冗餘協議,是IETF提出的解決局域網中配置靜態網關出現單點失效現象的路由協議.

 VRRP廣泛應用在邊緣網絡中,它的設計目標是支持特定情況下IP數據流量失敗轉移不會引起混

 亂,准許主機使用單路由器,及時在在實際第一跳路由器使用失敗的情形下仍能夠維護路由器 

 間的連通性。

 2.VRRP基本術語

   wKiom1c5QDnw3h94AAKFMyZEoHU139.jpg

 3.VRRP工作原理

   wKiom1c5Q4ezG_f4AAGCclsdDcU471.jpg

 4.VRRP的主要功能

   1.master 路由器的選擇功能

   2.master 路由器的狀態通告

   3.VRRP 認證功能

 5.VRRP高可用工作模型

   1.主備模型

   聯網業務由master路由器承擔,當master路由器出現故障時候,纔會由選出來的backup路由器

   接替主路由器的工作

   wKiom1c5Q5yS2A3wAADCC921Bcc917.jpg

   2.主主模型

   在路由器的一個接口上可以創建多個虛擬機路由器,似的該路由器可以在一個虛擬路由器中作

   爲master路由器,同時在其它的虛擬路由器中作爲backup路由器,主主模型備份方式可以實現

   負載分擔的功能

   wKiom1c5RIHQ8Zj3AADwHmelu00857.jpg


 二、keepalived高可用調度器

  1.keepalived 的功能

     keepalived程序是vrrp協議在linux主機上以守護進程方式的實現。能夠根據配置

   文件生成ipvs規則,並對各RealServer的健康做檢測,以及loadbalance主機和Backup

   主機之間failover的實現

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

  2.程序組件有

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

    wKiom1c5RqaSWk9FAAG6DSX0ajw432.jpg

  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 {

     [email protected]

     [email protected]

     [email protected]

   }

   notification_email_from [email protected]

   smtp_server 192.168.200.1

   smtp_connect_timeout 30

   router_id LVS_DEVEL

}

  wKiom1c5ckPiIHSDAAB9jdlgn7Y783.jpg

 3.配置vrrp實例:

   vrrp instance:虛擬路由器

        vrrp_instance Name {

             ...

   }

   vrrp synchronization group

      vrrp_sync_group Name {

             ...

   }

    

    1)基本配置;

    wKiom1c5c_aBLGPTAACTw5w4fiQ429.jpg

    2)認證方式配置;

    wKioL1c5dS7iAGTOAABp_x2i9DA382.jpg

   3)虛擬IP地址配置

    wKioL1c5dZ_gDAPZAAA3t8HsVMg543.jpg

  4.keepalived主備模型配置

   1.主節點配置 

   

global_defs {

   notification_email {

     root@localhost

   }

   notification_email_from [email protected]

   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 [email protected]

   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"

}



好了,就寫到這裏吧,寫博客看來也挺痛苦的,繼續加油,師傅領進門修行靠個人。繼續跟着馬哥前行吧。




















 

    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章