亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Ubuntu > 正文

Ubuntu 14.04keepalived環境搭建

2024-06-28 16:02:44
字體:
來源:轉載
供稿:網友

聲明:本博文用于學習總結及工作心得

MASTER192.168.1.154

BACKUP192.168.1.142

Vip  192.168.1.77

一:準備工作

1.    修改hosts (MASTER & BACKUP)

Vim  /etc/hosts

添加:

192.168.1.154 MASTER

192.168.1.142 BACKUP

2.    修改homename

永久性修改 vim /etc/hosts

       MASTER主機修改為 MASTER

       BACKUP主機修改為 BACKUP

3.    安裝SSH服務 客服端及服務端都需要安裝

4.    修改SSH配置文件

1): Vim /etc/ssh/ssh_config

StrictHostKeyChecking ask 改成StrictHostKeyCheckingno

2): vim /etc/ssh/sshd_config

PermitRootLogin no 改為PermitRootLogin yes

這里兩臺主機都需要修改后面會講到具體作用(ssh root@BACKUP -p 58081 service tomcat7 stop)

二:解決依賴

1.    apt-getupdate

2.    apt-getupgrade 如果服務器以更新可以不做

3.    apt-getinstall libpop-dev

我這里是沒找到這個安裝包安裝的是libpoppler-dev

4.    apt-getinstall daemon

三:

1.安裝keepalived

# tar zxvf keepalived-1.2.18.tar.gz

# cd keepalived-1.2.18

# ./configure --PRefix=/usr/local/keepalived

# make

# make install

 

2. 將keepalived作為系統服務啟動:

# mkdir /etc/sysconfig

# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

# cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

# cp /usr/local/keepalived/sbin/keepalived /sbin/

 

3. 把keepalived 的配置文件放到/etc/keepalived 下,keepalived默認會讀取這個文件。

# mkdir /etc/keepalived

 

# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

 

4.編輯配置文件,修改以下的內容即可:

# vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

 

global_defs {

   notification_email {

     sai@localhost # 報警郵件接收人的地址

   }

   notification_email_from root@localhost # 發送報警郵件發件人地址

   smtp_server 127.0.0.1# 發送郵件的服務器地址

   smtp_connect_timeout 30# 郵件超時時間(可以根據自己的需求進行設定)

   router_id MASTERL # 一個實例的標識地址(可以有多個實例但不能相同) BACKUP主機修改為BACKUP

}

vrrp_script monitor_tomcat {

  script “/root/scripts/monitor_tomcat.sh”#根據自己的實際路徑放置健康檢查腳本文件,這里寫的是tomcat的檢測腳本

  interval 1# 腳本執行間隔

Weight -5#腳本結果導致的優先級變更:5表示優先級加5;-5表示優先級減5

}

vrrp_instance VI_1 {# 虛擬路由器自己的名字

    state MASTER# 設置服務器模式,當前為主節點,master端

    interface eth0# 實例網卡,也就是提供服務的網卡,來發送vrrp通告

    virtual_router_id 51# 設置vrid,這里非常重要,相同的vrid為一個組,他決定,它將決定多播的MAC地址.(建議不要使用默認地址,以免發生沖突)

    priority 100#  設置本節點的優先級,優先級高的為master BACKUP主機設置為95

    nopreempt #搶占方式實現當優先級高的調度節點故障恢復后,不再搶占為主調度服務器,從而也就避免了因調度節點的故障及故障恢復后來回切換的問題。

advert_int 1# 檢查間隔,默認為1秒

    authentication {

        auth_type PASS# 認證方式,可以是pass或者AH兩種認證方式

        auth_pass 1111# 認證密碼

    }

    virtual_ipaddress {# 設置vip,虛擬ip地址(實現高可用,轉移的vip地址)

        192.168.1.77# 此地址并不存在,當成為主節點時,此ip地址將會自動生成

}

script_track {

monitor_tomcat  #跟蹤這個monitor_nginx腳本;就是不斷去檢查這個腳本

}

}

 

virtual_server localhost 8080 { 

        delay_loop 2   #每個2秒檢查一次real_server狀態 

        lb_algo wrr   #LVS算法 

        lb_kind DR    #LVS模式 

        persistence_timeout 60   #會話保持時間 

        protocol TCP 

        real_server localhost 8080 { 

        weight 3 

        notify_down  /root/scripts/monitor_tomcat.sh #檢測到服務down后執行的腳本 

        TCP_CHECK { 

          connect_timeout 2    #連接超時時間 

          nb_get_retry 2       #重連次數 

          delay_before_retry 2   #重連間隔時間 

          connect_port 8080   #健康檢查端口 

        } 

        } 

        } 

 

5.     使用expect進行ssh遠程主機之間的交互 (MASTER & BACKUP)

1). apt-get install expect

2).編輯ssh交互腳本 vim /root/scripts/.vpn

#!/usr/bin/expect -f

 

set port 58081

set user root

set host BACKUP  #BACKUP主機中這里需要更改為MASTER

set passWord 4753beeba235268793abe399debb07fd

set timeout -1

set RES ""

 

spawn ssh $user@$host -p $port service keepalived stop

expect "*assword:*"

 

send "$password/r"

expect eof

 

6.     tomcat健康檢查腳本 腳本內容如下:(MASTER & BACKUP)

思路為 keepalived 偵測到tomcat down掉以后執行該腳本:

Curl 連接本地8080服務檢查是否真的down掉,如果是,則繼續使用cur連接BACKUP主機 8080服務,如果服務沒有down掉, 即執行epect交互腳本登錄BACKUP主機 并啟動keepalived服務 休眠1秒 ,然后再殺掉本地keepalived服務,然后重啟本地8080服務;否則嘗試重啟tomcat服務, 然后休眠60s然后再嘗試使用curl連接本地8080服務,如果成功,則不管;否則殺死keepalived服務

MASTER: monitor_tomcat.sh

!/bin/sh

$(wget --spider http://localhost:8080/ 2> conn.txt )

RC=$(cat conn.txt | grep 'Connection refused')

#本地主機8080服務down掉

if [[ $RC != "" ]];then

        rm conn.txt

        $(wget --spider http://BACKUP:8080/ 2> conn.txt )

        BACKUPRC=$(cat conn.txt | grep 'Connection refused')

        if [[ $BACKUPRC == "" ]];then

                #如果BACKUP主機8080服務正常 執行expect腳本ssh遠程登錄BACKUP主機>并啟動keepalived

                rm conn.txt

                /root/scripts/.vpn

                #等待1s再殺掉本地的keepalived服務

                sleep 1

                service keepalived stop

                #嘗試啟動本地8080服務

                service tomcat7 restart

        else

                #BACKUP主機8080服務down掉 嘗試重啟本地8080服務 失敗則殺掉keepalived服務 說明兩臺主機都down掉了

                rm conn.txt

                service tomcat7 restart

        else

                #BACKUP主機8080服務down掉 嘗試重啟本地8080服務 失敗則殺掉keepalived服務 說明兩臺主機都down掉了

                rm conn.txt

                service tomcat7 restart

                $(wget --spider http://localhost:8080/ 2> conn.txt )

                LOCALRC=$(cat conn.txt | grep 'Connection refused')

                if [[ $LOCALRC != "" ]];then

                        #重啟失敗 殺掉keepalived

                        service keepalived stop

                fi

        fi

else

        rm conn.txt

        echo "no Warning"

fi

BACKUP:monitor_tomcat.sh

#!/bin/sh

$(wget --spider http://BACKUP:8080/ 2> conn.txt )

 

RC=$(cat conn.txt | grep 'Connection refused')

#本地主機8080服務down掉

if [[ $RC != "" ]];then

        rm conn.txt

        $(wget --spider http://MASTER:8080/ 2> conn.txt )

        MASTERRC=$(cat conn.txt | grep 'Connection refused')

        if [[ $MASTERRC == "" ]];then

                #如果MASTER主機8080服務正常 執行expect腳本ssh遠程登錄MASTER主機>并啟動keepalived

                rm conn.txt

                /root/scripts/.vpn

                #等待1s再殺掉本地的keepalived服務

                sleep 1

                service keepalived stop

                #嘗試啟動本地8080服務

                service tomcat7 restart

        else

                #MASTER主機8080服務down掉 嘗試重啟本地8080服務 失敗則殺掉keepalived服務 說明兩臺主機都down掉了

                rm conn.txt

                service tomcat7 restart

                $(wget --spider http://localhost:8080/ 2> conn.txt )

                LOCALRC=$(cat conn.txt | grep 'Connection refused')

                if [[ $LOCALRC != "" ]];then

                        #重啟失敗 殺掉keepalived

                        service keepalived stop

                fi

                rm conn.txt

        fi

else

        rm conn.txt

        echo "no Warning"

fi

 

7.    BACKUP主機添加crontab定時任務 (BACKUP)

MASTER主機keepalived服務會進行健康檢查,如果本機8080服務down掉,會自動執行健康腳本monitor_tomcat.sh;但是在BACKUP主機上嘗試多次,依然不能自己執行健康腳本;所以添加定時任務每一秒執行一次

Crontab –e

追加: */2 * * * */root/scripts/monitor_tomcat.sh

 

8.     修改keepclived 啟動腳本 (MASTER & BACKUP)

vim /etc/init.d/keepalived

start()

#daemon keepalived ${KEEPALIVED_OPTIONS}

/usr/local/keepalived/sbin/keepalived

 

stop()

#killproc keepalived

killall keepalived

 

reload()

#killproc keepalived -1

killall keepalived -1

 

 

 

9.     重啟服務器 測試:

輸入ip a ,VIP 77 綁定在MASTER主機eth0端口;嘗試關閉MASTER tomcat7服務, VIP成功過度到BACKUP主機;反之關閉BACKUP主機8080服務,VIP成功過渡到MASTER主機;中間因為腳本原因, 會有幾秒鐘過度時間

 

 

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲福利在线观看| 一本色道久久88综合亚洲精品ⅰ| 国产欧美精品一区二区三区-老狼| 亚洲精品在线观看www| 亚洲欧美日韩在线一区| 久久综合国产精品台湾中文娱乐网| 蜜月aⅴ免费一区二区三区| 亚洲欧美在线免费| 中文字幕无线精品亚洲乱码一区| 68精品国产免费久久久久久婷婷| 成人在线视频福利| 国产精品久久99久久| 国产欧美精品xxxx另类| 亚洲片国产一区一级在线观看| 国产精品免费视频xxxx| 欧美视频中文在线看| 亚洲日本欧美日韩高观看| 日韩欧美视频一区二区三区| 在线观看精品自拍私拍| 81精品国产乱码久久久久久| 国产成人精品午夜| 色综合久久88色综合天天看泰| 亚洲色图av在线| 精品香蕉在线观看视频一| 精品福利免费观看| 国产精品成人久久久久| www.久久色.com| 欧美精品一区在线播放| 日韩精品中文在线观看| 国产精彩精品视频| 国产精品一区二区av影院萌芽| 久久99热精品这里久久精品| 欧美成人激情图片网| 麻豆精品精华液| 91热福利电影| 另类图片亚洲另类| 日韩精品中文在线观看| 国产免费一区视频观看免费| 国产福利精品在线| 午夜精品一区二区三区在线视频| 国产精品电影观看| 精品偷拍一区二区三区在线看| 精品久久久久国产| 深夜福利一区二区| 国产精品午夜国产小视频| 一区三区二区视频| 国产一区私人高清影院| 国产精品揄拍一区二区| 亚洲一区二区久久久久久久| 成人性生交大片免费看小说| 亚洲午夜色婷婷在线| 亚洲电影免费观看高清| 日韩va亚洲va欧洲va国产| 精品久久久香蕉免费精品视频| 97色在线视频观看| 亚洲bt欧美bt日本bt| 日韩av网址在线| 久久在线免费观看视频| 日韩视频精品在线| 欧美午夜美女看片| 91九色国产社区在线观看| 秋霞av国产精品一区| 亚洲最新在线视频| 91国产在线精品| 国产精品一区二区久久国产| 国产一区二区av| 国产精品久久久久av免费| 国产精品久久一区主播| 久久成人18免费网站| 亚洲最新av网址| 久久久亚洲精选| 欧美精品情趣视频| 亚洲人成网站777色婷婷| 亚洲男人天堂古典| 狠狠久久亚洲欧美专区| 成人免费看片视频| 亚洲最大成人网色| 久久6免费高清热精品| 黑人巨大精品欧美一区二区| 欧美日韩中文在线| 亚洲第一精品夜夜躁人人躁| 97视频在线免费观看| 亚洲美女av网站| 国产日韩av在线| 亚洲视频电影图片偷拍一区| 亚洲精品久久久久久下一站| 亚洲a在线播放| 欧美激情精品久久久久久| 欧美亚洲国产精品| 亚洲男人天堂网站| 狠狠躁夜夜躁人人爽超碰91| 日韩中文在线不卡| 欧美午夜性色大片在线观看| 91大神福利视频在线| 国产女人18毛片水18精品| 精品国产精品自拍| 日韩欧美精品在线观看| 欧美丰满少妇xxxxx做受| 国产成人拍精品视频午夜网站| 久色乳综合思思在线视频| 国产精品美女在线观看| 欧美在线视频一区| 亚洲精品国精品久久99热一| 亚洲欧美另类中文字幕| 国产精品午夜一区二区欲梦| 亚洲天堂久久av| 欧美日韩亚洲高清| 日韩免费观看视频| 亚洲欧美在线播放| 亚洲一区二区中文| 亚洲成人久久一区| 国产一区二区视频在线观看| 91深夜福利视频| 国产精品一区专区欧美日韩| 精品爽片免费看久久| 最近2019好看的中文字幕免费| 亚洲精品国产品国语在线| 日本一欧美一欧美一亚洲视频| 欧美日韩国产一区在线| 亚洲色图35p| 欧美精品成人在线| 中文字幕在线成人| 欧美日本精品在线| 成人激情综合网| 亚洲午夜小视频| 久久久久久中文| 亚洲大胆人体av| 国产精品在线看| 4444欧美成人kkkk| 欧美一级电影在线| 国产视频精品免费播放| 成人精品在线视频| 国产精品a久久久久久| 91精品国产91久久| 九九九久久久久久| 国内精品小视频在线观看| 欧美在线播放视频| 欧美高清视频免费观看| 国产日韩中文字幕| 亚洲伊人第一页| 综合av色偷偷网| 国产69久久精品成人看| 亚洲一区二区三区久久| 91精品久久久久久久久青青| 久久福利视频网| 日韩的一区二区| 91手机视频在线观看| 亚洲影院色在线观看免费| 美女福利视频一区| 欧美裸体男粗大视频在线观看| 久久久久久久香蕉网| 久久精品91久久香蕉加勒比| 日韩成人在线视频观看| 欧美午夜视频在线观看| 亚洲成在人线av| 欧美成人黑人xx视频免费观看| 国产欧美一区二区三区久久人妖| 日韩视频免费看| 欧美大尺度在线观看| 国产精品中文字幕在线观看| 亚洲精品国产精品乱码不99按摩| 亚洲精品第一页| 欧美电影第一页| 国产z一区二区三区|