2023年Keepalived的安裝配置_第1頁
2023年Keepalived的安裝配置_第2頁
2023年Keepalived的安裝配置_第3頁
2023年Keepalived的安裝配置_第4頁
2023年Keepalived的安裝配置_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第頁2023Keepalived的安裝配置Keepalived的安裝配置

Keepalived是Linux下一個輕量級的高可用解決方案,它與HeartBeat、RoseHA實現(xiàn)的功能類似,都可以實現(xiàn)效勞或者網(wǎng)絡(luò)的高可用,但是又有差異。下面我打算了關(guān)于Keepalived安裝和配置的文章,供給給大家參考!

一、Keepalived的安裝過程

Keepalived的安裝特別簡潔,下面通過源碼編譯的方式介紹下Keepalived的安裝過程。首先翻開Keepalived的官方網(wǎng)址://,從中可以下載到各種版本的Keepalived,這里下載的是keepalived-1.2.12.tar.gz。以操作系統(tǒng)環(huán)境Centos6.3為例,Keepalived安裝步驟如下:

[root@keepalived-masterapp]#tarzxvfkeepalived-1.2.12.tar.gz

[root@keepalived-masterapp]#cdkeepalived-1.2.12

[root@keepalived-masterkeepalived-1.2.12]#./configure--sysconf=/etc\?UseIPVSFramework表示運用IPVS框架,也就是負載均衡模塊,后面的;Yes;表示啟用IPVS功能。一般在搭建高可用負載均衡集群時會啟用IPVS功能,假設(shè)只是運用Keepalived的高可用功能,那么不須要啟用IPVS模塊,可以在編譯Keepalived時通過;--disable-lvs;關(guān)閉IPVS功能。

?IPVSsyncdaemonsupport表示啟用IPVS的同步功能,此模塊一般和IPVS模塊一起運用,假設(shè)須要關(guān)閉,可在編譯Keepalived時通過;--disable-lvs-syncd;參數(shù)實現(xiàn)。

?IPVSuselibnl表示運用新版的libnl。libnl是NETLINK的一個實現(xiàn),假設(shè)要運用新版的libnl,須要在系統(tǒng)中安裝libnl和libnl-devel軟件包。

?UseVRRPFramework表示運用VRRP框架,這是實現(xiàn)Keepalived高可用功能必需的模塊。

?UseVRRPVMAC表示運用根底VMAC接口的xmitVRRP包,這是Keepalived在1.2.10版本及以后新增的一個功能。

至此,Keepalived的安裝介紹完畢。下面起先進入Keepalived配置的講解。

二、Keepalived的全局配置

在上節(jié)安裝Keepalived的過程中,指定了Keepalived配置文件的路徑為/etc/Keepalived/Keepalived.conf,Keepalived的全部配置均在這個配置文件中完成。由于Keepalived.conf文件中可配置的選項比擬多,這里依據(jù)配置文件所實現(xiàn)的功能,將Keepalived配置分為三類,分別是:全局配置(GlobalConfiguration)、VRRPD配置和LVS配置。下面將主要介紹下Keepalived配置文件中一些常用配置選項的含義和用法。

Keepalived的配置文件都是以塊(block)的形式組織的,每個塊的內(nèi)容都包含在{}中,以;#;和;!;開頭的行都是注釋。全局配置就是對整個Keepalived都生效的配置,根本內(nèi)容如下:

!ConfigurationFileforkeepalived

global_defs{

notification_email{

dba.gao@gmail

ixdba@163

}

notification_email_fromKeepalived@localhost

smtp_server

smtp_connect_timeout30

router_idLVS_DEVEL

}

全局配置以;global_defs;作為標識,在;global_defs;區(qū)域內(nèi)的都是全局配置選項,其中:

?notification_email用于設(shè)置報警郵件地址,可以設(shè)置多個,每行一個。留意,假設(shè)要開啟郵件報警,須要開啟本機的Sendmail效勞。

?notification_email_from用于設(shè)置郵件的發(fā)送地址。

?smtp_server用于設(shè)置郵件的smtpserver地址。

?smtp_connect_timeout用于設(shè)置連接smtpserver的超時時間。

?router_id表示運行Keepalived效勞器的一個標識,是發(fā)郵件時顯示在郵件主題中的信息。

三、Keepalived的VRRPD配置

VRRPD配置是Keepalived全部配置的核心,主要用來實現(xiàn)Keepalived的高可用功能。從結(jié)構(gòu)上來看,VRRPD配置又可分為VRRP同步組配置和VRRP實例配置。

這里首先介紹同步組實現(xiàn)的主要功能。同步組是相對于多個VRRP實例而言的,在多個VRRP實例的環(huán)境中,每個VRRP實例所對應(yīng)的網(wǎng)絡(luò)環(huán)境會有所不同,假設(shè)一個實例處于網(wǎng)段A,另一個實例處于網(wǎng)段B,而假設(shè)VRRPD只配置了A網(wǎng)段的檢測,那么當B網(wǎng)段主機出現(xiàn)故障時,VRRPD會認為自身仍處于正常狀態(tài),進而不會進行主備節(jié)點的切換,這樣問題就出現(xiàn)了。同步組就是用來解決這個問題的,將全部VRRP實例都參加到同步組中,這樣任何一個實例出現(xiàn)問題,都會導致Keepalived進行主備切換。

下面是兩個同步組的配置樣例:

vrrp_sync_groupG1{

group{

VI_1

VI_2

VI_5

}

notify_backup"/usr/local/bin/vrrp.backarg1arg2"

notify_master"/usr/local/bin/vrrp.mastarg1arg2"

notify_fault"/usr/local/bin/vrrp.faultarg1arg2"

}

vrrp_sync_groupG2{

group{

VI_3

VI_4

}

}

其中,G1同步組包含VI_1、VI_2、VI_5三個VRRP實例,G2同步組包含VI_3、VI_4兩個VRRP實例。這五個實例將在vrrp_instance段進行定義。另外,在vrrp_sync_group段中還出現(xiàn)了notify_master、notify_backup、notify_fault和notify_stop四個選項,這是Keepalived配置中的一個通知機制,也是Keepalived包含的四種狀態(tài)。下面介紹每個選項的含義。

?notify_master:指定當Keepalived進入Master狀態(tài)時要執(zhí)行的腳本,這個腳本可以是一個狀態(tài)報警腳本,也可以是一個效勞管理腳本。Keepalived允許腳本傳入?yún)?shù),因此敏捷性很強。

?notify_backup:指定當Keepalived進入Backup狀態(tài)時要執(zhí)行的腳本,同理,這個腳本可以是一個狀態(tài)報警腳本,也可以是一個效勞管理腳本。

?notify_fault:指定當Keepalived進入Fault狀態(tài)時要執(zhí)行的腳本,腳本功能與前兩個類似。

?notify_stop:指定當Keepalived程序終止時須要執(zhí)行的腳本。

下面正式進入VRRP實例的配置,也就是配置Keepalived的高可用功能。VRRP實例段主要用來配置節(jié)點角色(主或從)、實例綁定的網(wǎng)絡(luò)接口、節(jié)點間驗證機制、集群效勞IP等。下面是實例VI_1的一個配置樣例。

vrrp_instanceVI_1{

stateMASTER

interfaceeth0

virtual_router_id51

priority100

advert_int1

mcast_src_ip

garp_master_delay10

track_interface{

eth0

eth1

}

authentication{

auth_typePASS

auth_passqwaszx

}

virtual_ipaddress{

#/brddevscopelabel

6

7deveth1

8deveth2

}

virtual_routes{

#src[to]/via|gwdevscope

srcto/24via54deveth1

/24via54deveth1

/24deveth2

/24via54

/24via52or53

}

nopreempt

preemtp_delay300

}

以上VRRP配置以;vrrp_instance;作為標識,在這個實例中包含了假設(shè)干配置選項,分別介紹如下:

?vrrp_instance是VRRP實例起先的標識,后跟VRRP實例名稱。

?state用于指定Keepalived的角色,MASTER表示此主機是主效勞器,BACKUP表示此主機是備用效勞器。

?interface用于指定HA監(jiān)測網(wǎng)絡(luò)的接口。

?virtual_router_id是虛擬路由標識,這個標識是一個數(shù)字,同一個vrrp實例運用唯一的標識,即在同一個vrrp_instance下,MASTER和BACKUP必需是一樣的。

?priority用于定義節(jié)點優(yōu)先級,數(shù)字越大表示節(jié)點的優(yōu)先級就越高。在一個vrrp_instance下,MASTER的優(yōu)先級必需大于BACKUP的優(yōu)先級。

?advert_int用于設(shè)定MASTER與BACKUP主機之間同步檢查的時間間隔,單位是秒。

?mcast_src_ip用于設(shè)置發(fā)送多播包的地址,假設(shè)不設(shè)置,將運用綁定的網(wǎng)卡所對應(yīng)的IP地址。

?garp_master_delay用于設(shè)定在切換到Master狀態(tài)后延時進行Gratuitousarp懇求的時間。

?track_interface用于設(shè)置一些額外的網(wǎng)絡(luò)監(jiān)控接口,其中任何一個網(wǎng)絡(luò)接口出現(xiàn)故障,Keepalived都會進入FAULT狀態(tài)。

?authentication用于設(shè)定節(jié)點間通信驗證類型和密碼,驗證類型主要有PASS和AH兩種,在一個vrrp_instance下,MASTER與BACKUP必需運用相同的密碼才能正常通信。

?virtual_ipaddress用于設(shè)置虛擬IP地址(VIP),又叫做漂移IP地址??梢栽O(shè)置多個虛擬IP地址,每行一個。之所以稱為漂移IP地址,是因為Keepalived切換到Master狀態(tài)時,這個IP地址會自動添加到系統(tǒng)中,而切換到BACKUP狀態(tài)時,這些IP又會自動從系統(tǒng)中刪除。Keepalived通過;ipaddressadd;吩咐的形式將VIP添加進系統(tǒng)中。要查看系統(tǒng)中添加的VIP地址,可以通過;ipadd;吩咐實現(xiàn)。;virtual_ipaddress;段中添加的IP形式可以多種多樣,例如可以寫成;89/24deveth1;這樣的形式,而Keepalived會運用IP吩咐;ipaddradd89/24deveth1;將IP信息添加到系統(tǒng)中。因此,這里的配置規(guī)那么和IP吩咐的運用規(guī)那么是一樣的。

?virtual_routes和virtual_ipaddress段一樣,用來設(shè)置在切換時添加或刪除相關(guān)路由信息。運用方法和例子可以參考上面的例如。通過;iproute;吩咐可以查看路由信息是否添加勝利,此外,也可以通過上面介紹的notify_master選項來代替virtual_routes實現(xiàn)相同的功能。

?nopreempt設(shè)置的是高可用集群中的不搶占功能。在一個HACluster中,假設(shè)主節(jié)點死機了,備用節(jié)點會進行接管,主節(jié)點再次正常啟動后一般會自動接管效勞。這種來回切換的操作,對于實時性和穩(wěn)定性要求不高的業(yè)務(wù)系統(tǒng)來說,還是可以接受的,而對于穩(wěn)定性和實時性要求很高的業(yè)務(wù)系統(tǒng)來說,不建議來回切換,終歸效勞的切換存在肯定的風險和不穩(wěn)定性,在這種狀況下,就須要設(shè)置nopreempt這個選項了。設(shè)置nopreempt可以實現(xiàn)主節(jié)點故障復(fù)原后不再切回到主節(jié)點,讓效勞始終在備用節(jié)點工作,直到備用節(jié)點出現(xiàn)故障才會進行切換。在運用不搶占時,只能在;state;狀態(tài)為;BACKUP;的節(jié)點上設(shè)置,而且這個節(jié)點的優(yōu)先級必需高于其他節(jié)點。

?preemtp_delay用于設(shè)置搶占的延時時間,單位是秒。有時候系統(tǒng)啟動或重啟之后網(wǎng)絡(luò)須要經(jīng)過一段時間才能正常工作,在這種狀況下進行發(fā)生主備切換是沒必要的,此選項就是用來設(shè)置這種狀況發(fā)生的時間間隔。在此時間內(nèi)發(fā)生的故障將不會進行切換,而假設(shè)超過;preemtp_delay;指定的時間,并且網(wǎng)絡(luò)狀態(tài)異樣,那么才起先進行主備切換。

四、Keepalived的LVS配置

由于Keepalived屬于LVS的擴展工程,因此,Keepalived可以與LVS無縫整合,輕松搭建一套高性能的負載均衡集群系統(tǒng)。下面介紹下Keepalived配置文件中關(guān)于LVS配置段的配置方法。

LVS段的配置以;virtual_server;作為起先標識,此段內(nèi)容有兩局部組成,分別是real_server段和健康檢測段。下面是virtual_server段常用選項的一個配置例如:

virtual_server0080{

delay_loop6

lb_algorr

lb_kindDR

persistence_timeout50

persistence_granularity

protocolTCP

ha_suspend

virtualhost

sorry_server

下面介紹每個選項的含義。

?virtual_server:設(shè)置虛擬效勞器的起先,后面跟虛擬IP地址和效勞端口,IP與端口之間用空格隔開。

?delay_loop:設(shè)置健康檢查的時間間隔,單位是秒。

?lb_algo:設(shè)置負載調(diào)度算法,可用的調(diào)度算法有rr、wrr、lc、wlc、lblc、sh、dh等,常用的算法有rr和wlc。

?lb_kind:設(shè)置LVS實現(xiàn)負載均衡的機制,有NAT、TUN和DR三個模式可選。

?persistence_timeout:會話保持時間,單位是秒。這個選項對動態(tài)網(wǎng)頁是特別有用的,為集群系統(tǒng)中的session共享供給了一個很好的解決方案。有了這個會話保持功能,用戶的懇求會始終分發(fā)到某個效勞節(jié)點,直到超過這個會話的保持時間。須要留意的是,這個會話保持時間是最大無響應(yīng)超時時間,也就是說,用戶在操作動態(tài)頁面時,假設(shè)在50秒內(nèi)沒有執(zhí)行任何操作,那么接下來的操作會被分發(fā)到另外的節(jié)點,但是假設(shè)用戶始終在操作動態(tài)頁面,那么不受50秒的時間限制。

?persistence_granularity:此選項是協(xié)作persistence_timeout的,后面跟的值是子網(wǎng)掩碼,表示長久連接的粒度。默認是55,也就是一個單獨的客戶端IP。假設(shè)將掩碼修改為,那么客戶端IP所在的整個網(wǎng)段的懇求都會安排到同一個realserver上。

?protocol:指定轉(zhuǎn)發(fā)協(xié)議類型,有TCP和UDP兩種可選。

?ha_suspend:節(jié)點狀態(tài)從Master到Backup切換時,暫不啟用realserver節(jié)點的健康檢查。

?virtualhost:在通過_GET/SSL_GET做健康檢測時,指定的Web效勞器的虛擬主機地址。

?sorry_server:相當于一個備用節(jié)點,在全部realserver失效后,這個備用節(jié)點會啟用。

下面是real_server段的'一個配置例如:

real_server3280{

weight3

inhibit_on_failure

notify_up|

notify_down|

}

下面介紹每個選項的含義。

?real_server:是real_server段起先的標識,用來指定realserver節(jié)點,后面跟的是realserver的真實IP地址和端口,IP與端口之間用空格隔開。

?weight:用來配置realserver節(jié)點的權(quán)值。權(quán)值大小用數(shù)字表示,數(shù)字越大,權(quán)值越高。設(shè)置權(quán)值的大小可以為不同性能的效勞器安排不同的負載,為性能高的效勞器設(shè)置較高的權(quán)值,而為性能較低的效勞器設(shè)置相對較低的權(quán)值,這樣才能合理地利用和安排了系統(tǒng)資源。

?inhibit_on_failure:表示在檢測到realserver節(jié)點失效后,把它的;weight;值設(shè)置為0,而不是從IPVS中刪除。

?notify_up:此選項與上面介紹過的notify_maser有相同的功能,后跟一個腳本,表示在檢測到realserver節(jié)點效勞處于UP狀態(tài)后執(zhí)行的腳本。

?notify_down:表示在檢測到realserver節(jié)點效勞處于DOWN狀態(tài)后執(zhí)行的腳本。

健康檢測段允很多種檢查方式,常見的有_GET、SSL_GET、TCP_CHECK、SMTP_CHECK、MISC_CHECK。首先看TCP_CHECK檢測方式例如:

TCP_CHECK{

connect_port80

connect_timeout3

nb_get_retry3

delay_before_retry3

}

下面介紹每個選項的含義介。

?connect_port:健康檢查的端口,假設(shè)無指定,默認是real_server指定的端口。

?connect_timeout:表示無響應(yīng)超時時間,單位是秒,這里是3秒超時。

?nb_get_retry:表示重試次數(shù),這里是3次。

?delay_before_retry:表示重試間隔,這里是間隔3秒。

下面是_GET和SSL_GET檢測方式的例如:

_GET|SSL_GET

{

url{

path/

digeste6c271eb5f017f280cf97ec2f51b02d3

status_code200

}

connect_port80

bindto0

connect_timeout3

nb_get_retry3

delay_before_retry2

}

下面介紹每個選項的含義。

?url:用來指定/SSL檢查的URL信息,可以指定多個URL。

?path:后跟具體的URL路徑。

?digest:SSL檢查后的摘要信息,這些摘要信息可以通過genhash吩咐工具獲得。例如:genhash-s0-p80-u/。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論