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
下一篇 2017-05-15

相關推薦

  • 計算機的組成及Linux簡單介紹

    馬哥教育網絡班22期第一周練習 計算機概述 進入計算機的世界 計算機 計算機(computer)俗稱電腦,是能夠按照程序運行,自動、高速出爐海量數據的現代化智能電子設備。由硬件系統和軟件系統所組成,計算機的組成遵循馮諾依曼體系??煞譃槌売嬎銠C、工業控制計算機、網絡計算機、個人計算機和嵌入式計算機等五類,較先進的計算機有生物計算機、光子計算機、量子計算機等?!?/p>

    Linux干貨 2016-08-14
  • rpm程序包管理器使用詳解

    rpm程序包管理器的使用詳解   說到程序包管理器,就會想到基于CentOS系統上的rpm命令與其對應的前端處理器yum。所謂程序包,是將源代碼轉換為二進制格式,再組織成一個或者多個包文件供用戶安裝使用。rpm程序包的命名格式如下:   name-VERSION-release.arch.rpm   軟件名-版本號(分為主版本m…

    Linux干貨 2016-08-21
  • 10月18日作業–hash,history

    1 生產環境發現一臺服務器系統時間產生偏差,造成服務異常,請幫忙校正。 1、使用ntpdate對時間進行同步,然后hwclock -w;并再建立Crontab每小時進行一次時間同步。 2 生產有一個數據同步腳本需要執行很長時間,怎樣做到無人值守,在管理工具退出的情況下,腳本依然能正常運行。 1、載光盤 2、進入/mnt/Packages 安裝共享screen…

    Linux干貨 2016-10-19
  • 硬鏈接與軟鏈接

    引言: 鏈接,一種在共享文件和訪問它的用戶的若干目錄項之間建立聯系的一種方法。 Linux中包括兩種鏈接:硬鏈接(Hard Link)和軟鏈接(Soft Link),軟鏈接又稱為符號鏈接(Symbolic link)。 Inode譯成中文就是索引節點,它用來存放檔案及目錄的基本信息,包含時間、檔名、使用者及群組等。 Block:存放檔案內容數據的地方。 &n…

    Linux干貨 2016-10-20
  • 2

    2

    Linux干貨 2018-03-26
  • 破解root口令

    這里主要介紹一下centos6和7root密碼的破解方法 這里先說一下centos7的口令破解方法 破解CentOS7的root口令方法一 啟動時任意鍵暫停啟動  按e鍵進入編輯模式  將光標移動linux16開始的行,添加內核參數rd.break 按ctrl-x啟動 這是進來之后的界面 然后查看用戶的登錄信息 echo $UID 顯示結…

    2017-07-14
欧美性久久久久