HA Cluste 的配置:keepalived:vrrp協議 雙主模型

keepalived:vrrp協議 雙主模型
   第一步配置出始環境:
        準備兩節點:
            主節點:172.18.57.7 long1
            備節點:172.18.57.8 long2
    (1) 各節點時間必須同步;      
        同步時間:
            ~]# yum -y install chrony
            ~]# vim /etc/chrony.conf
            ~]# systemctl start chronyd
            ~]# chronyc sources
            ~]# chronyc sourcestats
    (2) 確保iptables及selinux不會成為阻礙;       
        清空防火墻:
            ~]# iptables -F
        關閉SELinux
            ~]# setenforce 0
        清空規則:
            ~]# ipvsadm -C
        重新啟動網絡:
            ~]#systemctl restart network    
    (3) 各節點之間可通過主機名互相通信(對KA并非必須);
        修改域名解析使用/etc/hosts文件實現;
             ~]#vim /etc/hosts
                172.18.57.7 long1
                172.18.57.8 long2
    第二步:keepalived安裝
        long1 ~]#yum -y install keepalived
        long2 ~]#yum -y install keepalived
   第三步:修改配置文件
        [root@long1 ~]# vim /etc/keepalived/keepalived.conf
            ! Configuration File for keepalived

            global_defs {
               notification_email {
                root@localhost
               }

               notification_email_from keepalived@localhost
               smtp_server 127.0.0.1
               smtp_connect_timeout 30
               router_id long1
               vrrp_mcast_group4 224.0.101.57
            }

            vrrp_instance myr1 {
                state MASTER
                interface ens33
                virtual_router_id 57
                priority 100
                advert_int 1
                authentication {
                    auth_type PASS
                    auth_pass dAcLuTSt
                }
                virtual_ipaddress {
                    172.18.57.57/16 dev ens33
                }
            }
            vrrp_instance myr2 {
                state BACKUP
                interface ens33
                virtual_router_id 58
                priority 98
                advert_int 1
                authentication {
                    auth_type PASS
                    auth_pass dAcLUTSt
                }
                virtual_ipaddress {
                    172.18.57.157/16 dev ens33
                }
            }
        [root@long2 ~]#vim /etc/keepalived/keepalived.conf
            ! Configuration File for keepalived

            global_defs {
               notification_email {
                root@localhost
               }

               notification_email_from keepalived@localhost
               smtp_server 127.0.0.1
               smtp_connect_timeout 30
               router_id long2
               vrrp_mcast_group4 224.0.101.57
            }

            vrrp_instance myr1 {
                state BACKUP
                interface ens33
                virtual_router_id 57
                priority 98
                advert_int 1
                authentication {
                    auth_type PASS
                    auth_pass dAcLuTSt
                }
                virtual_ipaddress {
                    172.18.57.57/16 dev ens33
                }
            }
            vrrp_instance myr2 {
                state MASTER
                interface ens33
                virtual_router_id 157
                priority 100
                advert_int 1
                authentication {
                    auth_type PASS
                    auth_pass dAcLUTSt
                }
                virtual_ipaddress {
                    172.18.57.157/16 dev ens33
                }
            }

   第四步:啟動服務,查看狀態
        [root@long1 ~]#systemctl start keepalived.service
        [root@long2 ~]#systemctl start keepalived.service
        [root@long1 ~]# systemctl status keepalived.service
        [root@long2 ~]# systemctl status keepalived.service
        [root@long1 ~]# tcpdump -i ens33 host 224.0.101.57

   模擬宕機long1:
        [root@long1 ~]# iptables -A OUTPUT -s 172.18.57.7 -d 224.0.101.57 -j REJECT
        [root@long1 ~]# systemctl status keepalived.service
        [root@long1 ~]# iptables -F
   實驗節點ip發生轉移是發送郵件:通知腳本
        [root@long1 ~]#systemctl stop keepalived
        [root@long2 ~]#systemctl stop keepalived
        [root@long1 ~]# vim /etc/keepalived/notify.sh
            #!/bin/bash
            #
            contact='root@localhost'

            notify () {
                    mailsubject="vrrp:$(hostname) to be $1"
                    mailbody="$(hostname) to be $1, vrrp transition,$(date)."
                    echo "$mailbody" | mail -s "$mailsubject" $contact
            }

            case $1 in
            master)
                    notify master ;;
            backup)
                    notify backup ;;
            fault)
                    notify fault ;;
            *)
                    echo "Usage: $(basename $0) master|backup|fault"
                    exit 1 
                    ;;
            esac
        [root@long1 ~]# chmod +x notify.sh
        [root@long1 ~]# vim /etc/keepalived/keepalived.conf
            notify_master "/etc/keepalived/notify.sh master"
            notify_backup "/etc/keepalived/notify.sh backup"
            notify_fault "/etc/keepalived/notify.sh fault"  
        [root@long2 ~]# vim /etc/keepalived/notify.sh
            #!/bin/bsah
            #
            contact='root@localhost'

            notify () {
                    mailsubject="vrrp:$(hostname) to be $1"
                    mailbody="$(hostname) to be $1, vrrp transition,$(date)."
                    echo "$mailbody" | mail -s "$mailsubject" $contact
            }

            case $1 in
            master)
                    notify master ;;
            backup)
                    notify backup ;;
            fault)
                    notify fault ;;
            *)
                    echo "Usage: $(basename $0) master|backup|fault"
                    exit 1 
                    ;;
            esac
        [root@long2 ~]# vim /etc/keepalived/keepalived.conf
            notify_master "/etc/keepalived/notify.sh master"
            notify_backup "/etc/keepalived/notify.sh backup"
            notify_fault "/etc/keepalived/notify.sh fault"
        [root@long2 ~]#systemctl start keepalived
        [root@long2 ~]#mail
        [root@long2 keepalived]#mail
            Heirloom Mail version 12.5 7/5/10.  Type ? for help.
            "/var/spool/mail/root": 2 messages 1 new 2 unread
            >N  1 root  Sun May 14 20:53  19/684   "vrrp: long2 to be backup"
             N  2 root  Sun May 14 20:53  18/674   "vrrp: long2 to be master"
        [root@long1 ~]#systemctl start keepalived
        [root@long1 ~]#mail
            Heirloom Mail version 12.5 7/5/10.  Type ? for help.
            "/var/spool/mail/root": 2 messages 2 new
            >N  1 root  Sun May 14 20:53  18/674   "vrrp: long1 to be backup"
             N  2 root  Sun May 14 20:53  18/674   "vrrp: long1 to be master"
        [root@long2 ~]#mail
            Heirloom Mail version 12.5 7/5/10.  Type ? for help.
            "/var/spool/mail/root": 3 messages 1 new 3 unread
             U  1 root   Sun May 14 20:53  19/684   "vrrp: long2 to be backup"
             U  2 root   Sun May 14 20:53  19/684   "vrrp: long2 to be master"
            >N  3 root   Sun May 14 20:54  18/674   "vrrp: long2 to be backup"

原創文章,作者:CL80516000,如若轉載,請注明出處:http://www.www58058.com/75758

(0)
CL80516000CL80516000
上一篇 2017-05-15 16:18
下一篇 2017-05-15 16:38

相關推薦

  • linux的文件類型

    linux的文件類型 linux其中的一個哲學思想就是一切皆文件,今天我們就來學習一下linux系統中的文件類型。linux不同于windows,有多種多類的文件類型,文件類型的判斷也不是以文件的后綴為標準的。linux中一共有七種文件類型,分別是:普通文件、目錄、字符設備文件、塊設備文件、套接字文件、命名管道文件和符號鏈接文件。那么接下來我們就分別看看每種…

    Linux干貨 2016-10-27
  • linux權限詳解

    寫在前面: 本博客詳解命令chmod,  chowm,  chgrp,  umask,  install,  mktemp  權限管理: 進程文件訪問權限應用模型: 進程的屬主與文件屬主是否相同,如果相同,則應用屬主權限 否則,檢查文件的屬主是否屬于文件的屬組,如果是,則應用屬主權限 否則,應用ot…

    Linux干貨 2015-12-19
  • N26-第八周作業-邢巖

    馬哥門徒-N26-邢巖 1、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態;      在線的主機使用綠色顯示;      不在線的主機使用紅色顯示; #!/bin/bash # Author: jeque# Des…

    2017-03-24
  • 配置yum服務器——以centOS 6.9系統為例

    準備工作 關閉防火墻  關閉防火墻service iptables stop  設置防火墻開機不啟動chkconfig iptables off  查看一下防火墻狀態 iptables -vnL 如下圖,可以看到已經關閉 關閉SElinux 使用命令 vim /etc/selinux/config 將SELINUX=enable…

    Linux干貨 2017-08-05
  • 初入LINUX之首周總結及虛擬機的安裝

    一.初入LINUX   1.在接觸LINUX之前,先了解了計算機的系統組成: 2.服務器是計算機的一種,是網絡中為客戶端計算機提供各種服務的高性能的計算機,服務器在網絡操作系統的控制下,將與其相連的硬盤磁帶,打印機及昂貴的專用通訊設備提供給網絡上的客戶站點共享,也能為網絡用戶提供集中計算、信息發布及數據管理等服務 。 3.服務器的三大操作系統:①w…

    2017-05-20
  • Cent OS 6 編譯方式安裝LAMP

    細節要求: (1) 三者分離于三臺主機; (2) 一個虛擬主機用于提供phpMyAdmin;另一個虛擬主機用于提供wordpress; (3) PHP使用FastCGI+xcache; (4) httpd使用非prefork的mpm模式; 一、CentOS6環境準備 1、OS(CentOS6.8)下開發環境包的安裝,編譯安裝程序包需要使用 #yum grou…

    Linux干貨 2017-02-24
欧美性久久久久