日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

LVS+Keepalived構(gòu)建高可用負載均衡(配置篇)

 guli3057 2014-04-16
一、 LVS簡介
   LVS是Linux Virtual Server的簡稱,也就是Linux虛擬服務(wù)器, 是一個由章文嵩博士發(fā)起的自由軟件項目,它的官方站點是www.?,F(xiàn)在LVS已經(jīng)是 Linux標準內(nèi)核的一部分,在Linux2.4內(nèi)核以前,使用LVS時必須要重新編譯內(nèi)核以支持LVS功能模塊,但是從Linux2.4內(nèi)核以后,已經(jīng)完全內(nèi)置了LVS的各個功能模塊,無需給內(nèi)核打任何補丁,可以直接使用LVS提供的各種功能。使用LVS技術(shù)要達到的目標是:通過LVS提供的負載均衡技術(shù)和Linux操作系統(tǒng)實現(xiàn)一個高性能、高可用的服務(wù)器群集,它具有良好可靠性、可擴展性和可操作性。從而以低廉的成本實現(xiàn)最優(yōu)的服務(wù)性能。
      關(guān)于LVS的安裝與介紹,在前面的文章中已經(jīng)有過深入介紹,這里不再講述。
本文講解的環(huán)境如下:
操作系統(tǒng):統(tǒng)一采用Centos5.3版本,地址規(guī)劃如下:

  圖1中的VIP指的是虛擬IP地址,還可以叫做LVS集群的服務(wù)IP,在DR、TUN模式中,數(shù)據(jù)包是直接返回給用戶的,所以,在Director Server上以及集群的每個節(jié)點上都需要設(shè)置這個地址。此IP在Real Server上一般綁定在回環(huán)地址上,例如lo:0,同樣,在Director Server上,虛擬IP綁定在真實的網(wǎng)絡(luò)接口設(shè)備上,例如eth0:0。
 各個Real Server可以是在同一個網(wǎng)段內(nèi),也可以是相互獨立的網(wǎng)段,還可以是分布在internet上的多個服務(wù)器.
LVS+Keepalived高可用負載均衡集群拓撲結(jié)構(gòu)如圖2所示:

二、安裝Keepalived
keepalived起初是為LVS設(shè)計的,專門用來監(jiān)控集群系統(tǒng)中各個服務(wù)節(jié)點的狀態(tài),后來又加入了VRRP的功能,VRRP是Virtual Router Redundancy Protocol(虛擬路由器冗余協(xié)議)的縮寫,VRRP出現(xiàn)的目的就是為了解決靜態(tài)路由出現(xiàn)的單點故障問題,它能夠保證網(wǎng)絡(luò)的不間斷、穩(wěn)定的運行。所以,keepalived一方面具有服務(wù)器健康檢測功能,另一方面也具有HA cluster功能。
 Keepalived的官方站點是http://www.,可以在這里下載到各種版本,我們這里下載的是keepalived-1.1.19.tar.gz,安裝步驟如下:
[root@DR1 ~]#tar zxvf keepalived-1.1.19.tar.gz
[root@DR1 ~]#cd keepalived-1.1.19
[root@DR1 keepalived-1.1.19]#./configure   --sysconf=/etc \
> --with-kernel-dir=/usr/src/kernels/2.6.18-8.el5-i686
[root@DR1 keepalived-1.1.19]#make
[root@DR1 keepalived-1.1.19]#make install
[root@DR1 keepalived-1.1.19]#ln -s /usr/local/sbin/keepalived  /sbin/
 在編譯選項中,“--sysconf”指定了Keepalived配置文件的安裝路徑,即路徑為/etc/Keepalived/Keepalived.conf,“--with-kernel-dir”這是個很重要的參數(shù),但這個參數(shù)并不是要把Keepalived編譯進內(nèi)核,而是指定使用內(nèi)核源碼里面的頭文件,就是include目錄。如果要使用LVS時,才需要用到此參數(shù),否則是不需要的.
三、配置Keepalived
 Keepalived的配置非常簡單,僅僅需要一個配置文件即可完成HA cluster和lvs服務(wù)節(jié)點監(jiān)控功能,Keepalived的安裝已經(jīng)在上面章節(jié)進行了介紹,在通過Keepalived搭建高可用的LVS集群實例中,主、備Director Server都需要安裝Keepalived軟件,安裝成功后,默認的配置文件路徑為/etc/Keepalived/Keepalived.conf。一個完整的keepalived配置文件,有三個部分組成,分別是全局定義部分、vrrp實例定義部分以及虛擬服務(wù)器定義部分,下面詳細介紹下這個配置文件中每個選項的詳細含義和用法:
 
#全局定義部分
global_defs {
   notification_email {
     dba.gao@gmail.com     #設(shè)置報警郵件地址,可以設(shè)置多個,每行一個。注意,如果要開啟郵件報警,需要開啟本機的sendmail服務(wù)。
     ixdba@163.com
   }
   notification_email_from Keepalived@localhost     #設(shè)置郵件的發(fā)送地址。
   smtp_server 192.168.200.1 #設(shè)置smtp server地址。
   smtp_connect_timeout 30 #設(shè)置連接smtp服務(wù)器超時時間。
   router_id  LVS_MASTER    #運行Keepalived服務(wù)器的一個標識。發(fā)郵件時顯示在郵件標題中的信息
}
#vrrp實例定義部分
vrrp_instance VI_1 {
state MASTER  #指定Keepalived的角色,MASTER表示此主機是主用服務(wù)器,BACKUP表示是備用服務(wù)器。
    interface eth0        #指定HA監(jiān)測網(wǎng)絡(luò)的接口。
    virtual_router_id 51 #虛擬路由標識,這個標識是一個數(shù)字,并且同一個vrrp實例使用唯一的標識,即同一個vrrp_instance下,MASTER和BACKUP必須是一致的。
priority 100 #定義優(yōu)先級,數(shù)字越大,優(yōu)先級越高,在一個vrrp_instance下,MASTER的優(yōu)先級必須大于BACKUP的優(yōu)先級。
    advert_int 1   #設(shè)定MASTER與BACKUP負載均衡器之間同步檢查的時間間隔,單位是秒。
    authentication {        #設(shè)定驗證類型和密碼。
        auth_type PASS     #設(shè)置驗證類型,主要有PASS和AH兩種。
        auth_pass 1111 #設(shè)置驗證密碼,在一個vrrp_instance下,MASTER與BACKUP必須使用相同的密碼才能正常通信。
    }
    virtual_ipaddress {  #設(shè)置虛擬IP地址,可以設(shè)置多個虛擬IP地址,每行一個。
        192.168.12.135
    }
}
#虛擬服務(wù)器定義部分
virtual_server 192.168.12.135 80 {       #設(shè)置虛擬服務(wù)器,需要指定虛擬ip地址和服務(wù)端口,ip與端口之間用空格隔開。
    delay_loop 6      #設(shè)置健康檢查時間,單位是秒。
    lb_algo rr  #設(shè)置負載調(diào)度算法,這里設(shè)置為rr,即輪詢算法。
    lb_kind DR                       #設(shè)置LVS實現(xiàn)負載均衡的機制,可以有NAT、TUN和DR三個模式可選。
persistence_timeout 50                  #會話保持時間,單位是秒,這個選項對于動態(tài)網(wǎng)頁是非常有用的,為集群系統(tǒng)中session共享提供了一個很好的解決方案。有了這個會話保持功能,用戶的請求會被一直分發(fā)到某個服務(wù)節(jié)點,直到超過這個會話保持時間。需要注意的是,這個會話保持時間,是最大無響應(yīng)超時時間,也就是說用戶在操作動態(tài)頁面時,如果在50秒內(nèi)沒有執(zhí)行任何操作,那么接下來的操作會被分發(fā)到另外節(jié)點,但是如果一直在操作動態(tài)頁面,則不受50秒的時間限制。
    protocol TCP       #指定轉(zhuǎn)發(fā)協(xié)議類型,有tcp和udp兩種。
real_server 192.168.12.246 80 { #配置服務(wù)節(jié)點1,需要指定real server的真實IP地址和端口,ip與端口之間用空格隔開。
weight 3 #配置服務(wù)節(jié)點的權(quán)值,權(quán)值大小用數(shù)字表示,數(shù)字越大,權(quán)值越高,設(shè)置權(quán)值的大小可以為不同性能的服務(wù)器分配不同的負載,可以對性能高的服務(wù)器設(shè)置較高的權(quán)值,而對性能較低的服務(wù)器設(shè)置相對較低的權(quán)值,這樣就合理的利用和分配了系統(tǒng)資源。
        TCP_CHECK {   #realserve的狀態(tài)檢測設(shè)置部分,單位是秒
            connect_timeout 10     #10秒無響應(yīng)超時
            nb_get_retry 3  #重試次數(shù)
            delay_before_retry 3    #重試間隔
        }
    }
    real_server 192.168.12.237 80 {  #配置服務(wù)節(jié)點2
        weight 1  
        TCP_CHECK {
            connect_timeout 3   
            nb_get_retry 3           
            delay_before_retry 3
        }
    }
}
          在配置Keepalived.conf時,需要特別注意配置文件的語法格式,因為Keepalived在啟動時并不檢測配置文件的正確性,即使沒有配置文件,Keepalived也照樣能啟動起來,因而配置文件一定要正確。
          在默認情況下,Keepalived在啟動時會查找/etc/Keepalived/Keepalived.conf配置文件,如果你的配置文件放在了其它路徑下,可以通過“Keepalived  -f”參數(shù)指定你所在的配置文件路徑即可。
          Keepalived.conf配置完畢后,將此文件拷貝到備用Director Server對應(yīng)的路徑下,然后做兩個簡單的修改即可:
將“state MASTER”更改為“state BACKUP”
將priority 100更改為一個較小的值,這里改為“priority 80”
 最后,還要配置集群的Real server節(jié)點,以達到與Director Server相互廣播通信并忽略arp的目的,腳本的內(nèi)容已經(jīng)在前面文章中進行過介紹,這里不做解釋。 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多