HA Cluster-主備模型(項目實戰)

主機環境:主機A和主機B使用的是CentOS7.2的系統:
    主機A IP地址為:192.168.1.103
    主機B IP地址為:192.168.1.106
    向外界提供的服務的地址為:192.168.1.100

配置過程:
    (1)基礎配置過程:
        a.在主機B上同步主機A的時間:
            vim /etc/chrony.conf
            注釋掉以server開頭的行,添加下面的行;
            server 192.168.1.103 iburst
            systemctl restart chronyd.service
            chronyc sources
        b.關閉主機A和主機B的防火墻和SELinux
            iptables -F
            setenforce 0
        c.各節點之間的root用戶可以基于密鑰認證的ssh服務完成互相通信(非必須)      
            主機A:ssh-keygen -t rsa -P ''
            主機B:ssh-copy-id -i .ssh/id_rsa.pub root@192.168.1.106
            用主機A測試連接主機B:ssh 'root@192.168.1.106'
    (2)主機A配置為主主機:

        yum -y install keepalived
        mv /etc/keepalived/keepalived.conf{,.bak}
        vim /etc/keepalived/keepalived.conf
            ! Configuration File for keepalived
            global_defs {
                notification_email {
                    root@localhost :設置主機的email的收件人為root,真實生產中用的是公司的管理員的郵箱賬號;
                }
                notification_email_from keepalived@localhost:設置報警服務的發件人為keepalived;
                smtp_server 127.0.0.1
                smtp_connect_timeout 30
                router_id node1
                vrrp_mcast_group4 224.0.100.19
            }
            vrrp_instance VI_1 {
                state MASTER :設置主機A模式為MASTER
                interface eno16777736
                virtual_router_id 14 :給出一個指定的ID,應該和周圍所有的人的不一樣
                priority 100:設置主機的優先級為100
                advert_int 1
                authentication {
                    auth_type PASS :設置認證機制為PASS
                    auth_pass 571f97b2 :設置密鑰,應該是一串隨機的密碼
                }
                virtual_ipaddress {
                    192.168.1.100/24 dev eno16777736        
                }  網絡響應的IP為192.168.1.100/24

            }

        systemctl start keepalived.service
    (3)主機B配置為備用主機:(可以直接遠程復制主機A的配置文件,修改即可)
        yum -y install keepalived
        mv /etc/keepalived/keepalived.conf{,.bak}
        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 node1
                vrrp_mcast_group4 224.0.100.19
            }
            vrrp_instance VI_1 {
                state BACKUP :設置主機B模式為BACKUP,備用主機
                interface eno16777736
                virtual_router_id 14 :給出一個指定的ID,應該和周圍所有的人的不一樣,但應該和MASTER主機的相同;
                priority 98 :設置主機B的優先級應該小于主機A的優先級,以98為例;
                advert_int 1
                authentication {
                    auth_type PASS :設置認證機制為PASS
                    auth_pass 571f97b2 :設置密鑰,應該是一串隨機的密碼,應該和MASTER主機的PASS相同        
                }
                virtual_ipaddress {
                    192.168.1.100/24 dev eno16777736                
                }  網絡響應的IP為192.168.1.100/24        
            }  
        systemctl start keepalived.service  
測試過程:
    (1)同時啟用主機A和主機B,然后觀察日志的輸出:
        systemctl start keepalived.service
        主機A的日志:(主機A已經監聽在192.168.1.100)

        blob.png

        blob.png

         主機B的日志:(主機B由于是備用主機,所以顯示BACKUP模式)

        blob.png

        blob.png   

    (2)將主機A的keepalived的服務down掉,然后觀察主機A和主機B的日志信息
        在主機A上面執行的命令:systemctl stop keepalived.service
        主機A的日志信息:(發現主機A已經將192.168.1.100 IP地址已經移除)

        blob.png

        blob.png

        主機B的日志信息:(主機B發現主機A已經down掉,自己接手192.168.1.100 IP地址)

        blob.png

        blob.png

    (3)將主機A的keepalived服務啟動起來,觀察日志的輸出:
        主機A執行的操作:systemctl start keepalived.service
        主機A的日志信息:(由于主機A的優先級比主機B的優先級高,所以主機A應該取回192.168.1.100的IP)

        blob.png

        blob.png

        主機B的日志信息:(主機B發現比自己級別高的主機A已經運行,所以將自己的IP交出,自己回到BACKUP模式)

        blob.png

        blob.png

    (4)擴展,要是主機A和主機B的優先級同樣高,在主機Adown掉,主機B接手IP,之后,啟動主機A的keepalived的服務,主機B還會將自己的IP交出,將自己的恢復成BACKUP模式么?
        實驗步驟:
            修改主機B的/etc/keepalved/keepalived.conf配置文件中的:priority的值修改為100                    
        實驗的現象:
        a.將主機Adown掉之后的兩臺主機的日志:
            主機A的日志信息:

            blob.png

            blob.png

            主機B的日志信息:

            blob.png

            blob.png            

        b.將down掉的主機A重新啟動服務,觀察現象:
            主機A的日志信息:

            blob.png

            blob.png

            主機B的日志信息:    

            blob.png

            blob.png

        結果總結:雖然將主機A和主機B的優先級調到同樣高的級別,但是主機A因為是MASTER身份,所以還是在重新啟動的時候,請求主機B交出自己的IP,讓主機B恢復為BACKUP的模式;即使在同樣的級別下,MASTER的主機就是比BACKUP的主機的響應程度高。

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

(0)
sjsirsjsir
上一篇 2016-11-01 14:02
下一篇 2016-11-01 14:35

相關推薦

  • 開機啟動流程

    Centos的開機啟動流程 具體步驟解釋:  第一步:加電自檢:POST         加電自檢是檢測硬件設備是否正常運行,以及一些外圍設備的輸入輸出是否存在。 自檢功能的實現是依靠BIOS軟件程序實現的 BIOS即基本輸入輸出系統,它是裝載在一個硬件芯片COMS上的,加電過程…

    Linux干貨 2016-09-13
  • 第二周作業

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。     文件管理類命令:cp、mv、rm     (1)cp:復制命令      單源復制(源文件為文本文件)    &n…

    Linux干貨 2017-01-18
  • 用戶與組管理

    如何成為linux用戶?     在linux系統中,要想從系統中獲取資源、對系統進行管理和控制,就需要向系統申請一個賬號,從而實現特定用途,當申請到賬號后,要對它設置口令,這樣用戶賬號就申請成功了,然后可以登陸系統,當用戶登陸系統時,需要通過系統的認證,認證成功后才給予授權,在用戶的使用過程中還會對用戶進行審計。 為什么要設置…

    Linux干貨 2016-08-08
  • 第四周學習總結

    寫在最前 忙碌的一周又過去了,通過日夜兼程的追趕,也算基本上趕上了大部隊的步伐。本周將繼續對上一周的內容進行回顧加深,以達到對用戶更加熟悉的管理,并講講三劍客中的老三。 知識詳解 上一周我們說到了用戶的管理,其中有像useradd、usermod、groupadd、passwd和userdel等非常重要的命令,每個用戶都有自己特定的角色,在系統上完成不同的功…

    2017-12-24
  • 初入linux

    一、認識linux 1、在windows中通過盤符區分文件存放位置,而linux中沒有盤符之說,只有文件和文件夾 2、在linux中,萬物從根開始,沒有后綴之說 二、文件系統的目錄結構 /:根目錄 /boot:系統啟動的相關配置文件 /dev:設備文件 塊設備:隨機訪問,數據塊為單位 字符設備:線性訪問,按字符為單位 設備號:主設備號(major)和次設備號…

    Linux干貨 2017-05-20
  • linux的終端類型

    1、什么是終端 終端(Terminal)也稱終端設備,是計算機網絡中處于網絡最外圍的設備,主要用于用戶信息的輸入以及處理結果的輸出等。 在早期計算機系統中,由于計算機主機昂貴,因此一個主機(IBM大型計算機)一般會配置多個終端,這些終端本身不具備計算能力,僅僅承擔信息輸入輸出的工作,運算和處理均由主機來完成。 在個人計算機時代,個人計算機可以運行稱為終端仿真…

    Linux干貨 2016-10-19
欧美性久久久久