版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第頁(yè)2023Keepalived的安裝配置Keepalived的安裝配置
Keepalived是Linux下一個(gè)輕量級(jí)的高可用解決方案,它與HeartBeat、RoseHA實(shí)現(xiàn)的功能類似,都可以實(shí)現(xiàn)效勞或者網(wǎng)絡(luò)的高可用,但是又有差異。下面我打算了關(guān)于Keepalived安裝和配置的文章,供給給大家參考!
一、Keepalived的安裝過(guò)程
Keepalived的安裝特別簡(jiǎn)潔,下面通過(guò)源碼編譯的方式介紹下Keepalived的安裝過(guò)程。首先翻開(kāi)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表示運(yùn)用IPVS框架,也就是負(fù)載均衡模塊,后面的;Yes;表示啟用IPVS功能。一般在搭建高可用負(fù)載均衡集群時(shí)會(huì)啟用IPVS功能,假設(shè)只是運(yùn)用Keepalived的高可用功能,那么不須要啟用IPVS模塊,可以在編譯Keepalived時(shí)通過(guò);--disable-lvs;關(guān)閉IPVS功能。
?IPVSsyncdaemonsupport表示啟用IPVS的同步功能,此模塊一般和IPVS模塊一起運(yùn)用,假設(shè)須要關(guān)閉,可在編譯Keepalived時(shí)通過(guò);--disable-lvs-syncd;參數(shù)實(shí)現(xiàn)。
?IPVSuselibnl表示運(yùn)用新版的libnl。libnl是NETLINK的一個(gè)實(shí)現(xiàn),假設(shè)要運(yùn)用新版的libnl,須要在系統(tǒng)中安裝libnl和libnl-devel軟件包。
?UseVRRPFramework表示運(yùn)用VRRP框架,這是實(shí)現(xiàn)Keepalived高可用功能必需的模塊。
?UseVRRPVMAC表示運(yùn)用根底VMAC接口的xmitVRRP包,這是Keepalived在1.2.10版本及以后新增的一個(gè)功能。
至此,Keepalived的安裝介紹完畢。下面起先進(jìn)入Keepalived配置的講解。
二、Keepalived的全局配置
在上節(jié)安裝Keepalived的過(guò)程中,指定了Keepalived配置文件的路徑為/etc/Keepalived/Keepalived.conf,Keepalived的全部配置均在這個(gè)配置文件中完成。由于Keepalived.conf文件中可配置的選項(xiàng)比擬多,這里依據(jù)配置文件所實(shí)現(xiàn)的功能,將Keepalived配置分為三類,分別是:全局配置(GlobalConfiguration)、VRRPD配置和LVS配置。下面將主要介紹下Keepalived配置文件中一些常用配置選項(xiàng)的含義和用法。
Keepalived的配置文件都是以塊(block)的形式組織的,每個(gè)塊的內(nèi)容都包含在{}中,以;#;和;!;開(kāi)頭的行都是注釋。全局配置就是對(duì)整個(gè)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;作為標(biāo)識(shí),在;global_defs;區(qū)域內(nèi)的都是全局配置選項(xiàng),其中:
?notification_email用于設(shè)置報(bào)警郵件地址,可以設(shè)置多個(gè),每行一個(gè)。留意,假設(shè)要開(kāi)啟郵件報(bào)警,須要開(kāi)啟本機(jī)的Sendmail效勞。
?notification_email_from用于設(shè)置郵件的發(fā)送地址。
?smtp_server用于設(shè)置郵件的smtpserver地址。
?smtp_connect_timeout用于設(shè)置連接smtpserver的超時(shí)時(shí)間。
?router_id表示運(yùn)行Keepalived效勞器的一個(gè)標(biāo)識(shí),是發(fā)郵件時(shí)顯示在郵件主題中的信息。
三、Keepalived的VRRPD配置
VRRPD配置是Keepalived全部配置的核心,主要用來(lái)實(shí)現(xiàn)Keepalived的高可用功能。從結(jié)構(gòu)上來(lái)看,VRRPD配置又可分為VRRP同步組配置和VRRP實(shí)例配置。
這里首先介紹同步組實(shí)現(xiàn)的主要功能。同步組是相對(duì)于多個(gè)VRRP實(shí)例而言的,在多個(gè)VRRP實(shí)例的環(huán)境中,每個(gè)VRRP實(shí)例所對(duì)應(yīng)的網(wǎng)絡(luò)環(huán)境會(huì)有所不同,假設(shè)一個(gè)實(shí)例處于網(wǎng)段A,另一個(gè)實(shí)例處于網(wǎng)段B,而假設(shè)VRRPD只配置了A網(wǎng)段的檢測(cè),那么當(dāng)B網(wǎng)段主機(jī)出現(xiàn)故障時(shí),VRRPD會(huì)認(rèn)為自身仍處于正常狀態(tài),進(jìn)而不會(huì)進(jìn)行主備節(jié)點(diǎn)的切換,這樣問(wèn)題就出現(xiàn)了。同步組就是用來(lái)解決這個(gè)問(wèn)題的,將全部VRRP實(shí)例都參加到同步組中,這樣任何一個(gè)實(shí)例出現(xiàn)問(wèn)題,都會(huì)導(dǎo)致Keepalived進(jìn)行主備切換。
下面是兩個(gè)同步組的配置樣例:
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三個(gè)VRRP實(shí)例,G2同步組包含VI_3、VI_4兩個(gè)VRRP實(shí)例。這五個(gè)實(shí)例將在vrrp_instance段進(jìn)行定義。另外,在vrrp_sync_group段中還出現(xiàn)了notify_master、notify_backup、notify_fault和notify_stop四個(gè)選項(xiàng),這是Keepalived配置中的一個(gè)通知機(jī)制,也是Keepalived包含的四種狀態(tài)。下面介紹每個(gè)選項(xiàng)的含義。
?notify_master:指定當(dāng)Keepalived進(jìn)入Master狀態(tài)時(shí)要執(zhí)行的腳本,這個(gè)腳本可以是一個(gè)狀態(tài)報(bào)警腳本,也可以是一個(gè)效勞管理腳本。Keepalived允許腳本傳入?yún)?shù),因此敏捷性很強(qiáng)。
?notify_backup:指定當(dāng)Keepalived進(jìn)入Backup狀態(tài)時(shí)要執(zhí)行的腳本,同理,這個(gè)腳本可以是一個(gè)狀態(tài)報(bào)警腳本,也可以是一個(gè)效勞管理腳本。
?notify_fault:指定當(dāng)Keepalived進(jìn)入Fault狀態(tài)時(shí)要執(zhí)行的腳本,腳本功能與前兩個(gè)類似。
?notify_stop:指定當(dāng)Keepalived程序終止時(shí)須要執(zhí)行的腳本。
下面正式進(jìn)入VRRP實(shí)例的配置,也就是配置Keepalived的高可用功能。VRRP實(shí)例段主要用來(lái)配置節(jié)點(diǎn)角色(主或從)、實(shí)例綁定的網(wǎng)絡(luò)接口、節(jié)點(diǎn)間驗(yàn)證機(jī)制、集群效勞IP等。下面是實(shí)例VI_1的一個(gè)配置樣例。
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;作為標(biāo)識(shí),在這個(gè)實(shí)例中包含了假設(shè)干配置選項(xiàng),分別介紹如下:
?vrrp_instance是VRRP實(shí)例起先的標(biāo)識(shí),后跟VRRP實(shí)例名稱。
?state用于指定Keepalived的角色,MASTER表示此主機(jī)是主效勞器,BACKUP表示此主機(jī)是備用效勞器。
?interface用于指定HA監(jiān)測(cè)網(wǎng)絡(luò)的接口。
?virtual_router_id是虛擬路由標(biāo)識(shí),這個(gè)標(biāo)識(shí)是一個(gè)數(shù)字,同一個(gè)vrrp實(shí)例運(yùn)用唯一的標(biāo)識(shí),即在同一個(gè)vrrp_instance下,MASTER和BACKUP必需是一樣的。
?priority用于定義節(jié)點(diǎn)優(yōu)先級(jí),數(shù)字越大表示節(jié)點(diǎn)的優(yōu)先級(jí)就越高。在一個(gè)vrrp_instance下,MASTER的優(yōu)先級(jí)必需大于BACKUP的優(yōu)先級(jí)。
?advert_int用于設(shè)定MASTER與BACKUP主機(jī)之間同步檢查的時(shí)間間隔,單位是秒。
?mcast_src_ip用于設(shè)置發(fā)送多播包的地址,假設(shè)不設(shè)置,將運(yùn)用綁定的網(wǎng)卡所對(duì)應(yīng)的IP地址。
?garp_master_delay用于設(shè)定在切換到Master狀態(tài)后延時(shí)進(jìn)行Gratuitousarp懇求的時(shí)間。
?track_interface用于設(shè)置一些額外的網(wǎng)絡(luò)監(jiān)控接口,其中任何一個(gè)網(wǎng)絡(luò)接口出現(xiàn)故障,Keepalived都會(huì)進(jìn)入FAULT狀態(tài)。
?authentication用于設(shè)定節(jié)點(diǎn)間通信驗(yàn)證類型和密碼,驗(yàn)證類型主要有PASS和AH兩種,在一個(gè)vrrp_instance下,MASTER與BACKUP必需運(yùn)用相同的密碼才能正常通信。
?virtual_ipaddress用于設(shè)置虛擬IP地址(VIP),又叫做漂移IP地址。可以設(shè)置多個(gè)虛擬IP地址,每行一個(gè)。之所以稱為漂移IP地址,是因?yàn)镵eepalived切換到Master狀態(tài)時(shí),這個(gè)IP地址會(huì)自動(dòng)添加到系統(tǒng)中,而切換到BACKUP狀態(tài)時(shí),這些IP又會(huì)自動(dòng)從系統(tǒng)中刪除。Keepalived通過(guò);ipaddressadd;吩咐的形式將VIP添加進(jìn)系統(tǒng)中。要查看系統(tǒng)中添加的VIP地址,可以通過(guò);ipadd;吩咐實(shí)現(xiàn)。;virtual_ipaddress;段中添加的IP形式可以多種多樣,例如可以寫成;89/24deveth1;這樣的形式,而Keepalived會(huì)運(yùn)用IP吩咐;ipaddradd89/24deveth1;將IP信息添加到系統(tǒng)中。因此,這里的配置規(guī)那么和IP吩咐的運(yùn)用規(guī)那么是一樣的。
?virtual_routes和virtual_ipaddress段一樣,用來(lái)設(shè)置在切換時(shí)添加或刪除相關(guān)路由信息。運(yùn)用方法和例子可以參考上面的例如。通過(guò);iproute;吩咐可以查看路由信息是否添加勝利,此外,也可以通過(guò)上面介紹的notify_master選項(xiàng)來(lái)代替virtual_routes實(shí)現(xiàn)相同的功能。
?nopreempt設(shè)置的是高可用集群中的不搶占功能。在一個(gè)HACluster中,假設(shè)主節(jié)點(diǎn)死機(jī)了,備用節(jié)點(diǎn)會(huì)進(jìn)行接管,主節(jié)點(diǎn)再次正常啟動(dòng)后一般會(huì)自動(dòng)接管效勞。這種來(lái)回切換的操作,對(duì)于實(shí)時(shí)性和穩(wěn)定性要求不高的業(yè)務(wù)系統(tǒng)來(lái)說(shuō),還是可以接受的,而對(duì)于穩(wěn)定性和實(shí)時(shí)性要求很高的業(yè)務(wù)系統(tǒng)來(lái)說(shuō),不建議來(lái)回切換,終歸效勞的切換存在肯定的風(fēng)險(xiǎn)和不穩(wěn)定性,在這種狀況下,就須要設(shè)置nopreempt這個(gè)選項(xiàng)了。設(shè)置nopreempt可以實(shí)現(xiàn)主節(jié)點(diǎn)故障復(fù)原后不再切回到主節(jié)點(diǎn),讓效勞始終在備用節(jié)點(diǎn)工作,直到備用節(jié)點(diǎn)出現(xiàn)故障才會(huì)進(jìn)行切換。在運(yùn)用不搶占時(shí),只能在;state;狀態(tài)為;BACKUP;的節(jié)點(diǎn)上設(shè)置,而且這個(gè)節(jié)點(diǎn)的優(yōu)先級(jí)必需高于其他節(jié)點(diǎn)。
?preemtp_delay用于設(shè)置搶占的延時(shí)時(shí)間,單位是秒。有時(shí)候系統(tǒng)啟動(dòng)或重啟之后網(wǎng)絡(luò)須要經(jīng)過(guò)一段時(shí)間才能正常工作,在這種狀況下進(jìn)行發(fā)生主備切換是沒(méi)必要的,此選項(xiàng)就是用來(lái)設(shè)置這種狀況發(fā)生的時(shí)間間隔。在此時(shí)間內(nèi)發(fā)生的故障將不會(huì)進(jìn)行切換,而假設(shè)超過(guò);preemtp_delay;指定的時(shí)間,并且網(wǎng)絡(luò)狀態(tài)異樣,那么才起先進(jìn)行主備切換。
四、Keepalived的LVS配置
由于Keepalived屬于LVS的擴(kuò)展工程,因此,Keepalived可以與LVS無(wú)縫整合,輕松搭建一套高性能的負(fù)載均衡集群系統(tǒng)。下面介紹下Keepalived配置文件中關(guān)于LVS配置段的配置方法。
LVS段的配置以;virtual_server;作為起先標(biāo)識(shí),此段內(nèi)容有兩局部組成,分別是real_server段和健康檢測(cè)段。下面是virtual_server段常用選項(xiàng)的一個(gè)配置例如:
virtual_server0080{
delay_loop6
lb_algorr
lb_kindDR
persistence_timeout50
persistence_granularity
protocolTCP
ha_suspend
virtualhost
sorry_server
下面介紹每個(gè)選項(xiàng)的含義。
?virtual_server:設(shè)置虛擬效勞器的起先,后面跟虛擬IP地址和效勞端口,IP與端口之間用空格隔開(kāi)。
?delay_loop:設(shè)置健康檢查的時(shí)間間隔,單位是秒。
?lb_algo:設(shè)置負(fù)載調(diào)度算法,可用的調(diào)度算法有rr、wrr、lc、wlc、lblc、sh、dh等,常用的算法有rr和wlc。
?lb_kind:設(shè)置LVS實(shí)現(xiàn)負(fù)載均衡的機(jī)制,有NAT、TUN和DR三個(gè)模式可選。
?persistence_timeout:會(huì)話保持時(shí)間,單位是秒。這個(gè)選項(xiàng)對(duì)動(dòng)態(tài)網(wǎng)頁(yè)是特別有用的,為集群系統(tǒng)中的session共享供給了一個(gè)很好的解決方案。有了這個(gè)會(huì)話保持功能,用戶的懇求會(huì)始終分發(fā)到某個(gè)效勞節(jié)點(diǎn),直到超過(guò)這個(gè)會(huì)話的保持時(shí)間。須要留意的是,這個(gè)會(huì)話保持時(shí)間是最大無(wú)響應(yīng)超時(shí)時(shí)間,也就是說(shuō),用戶在操作動(dòng)態(tài)頁(yè)面時(shí),假設(shè)在50秒內(nèi)沒(méi)有執(zhí)行任何操作,那么接下來(lái)的操作會(huì)被分發(fā)到另外的節(jié)點(diǎn),但是假設(shè)用戶始終在操作動(dòng)態(tài)頁(yè)面,那么不受50秒的時(shí)間限制。
?persistence_granularity:此選項(xiàng)是協(xié)作persistence_timeout的,后面跟的值是子網(wǎng)掩碼,表示長(zhǎng)久連接的粒度。默認(rèn)是55,也就是一個(gè)單獨(dú)的客戶端IP。假設(shè)將掩碼修改為,那么客戶端IP所在的整個(gè)網(wǎng)段的懇求都會(huì)安排到同一個(gè)realserver上。
?protocol:指定轉(zhuǎn)發(fā)協(xié)議類型,有TCP和UDP兩種可選。
?ha_suspend:節(jié)點(diǎn)狀態(tài)從Master到Backup切換時(shí),暫不啟用realserver節(jié)點(diǎn)的健康檢查。
?virtualhost:在通過(guò)_GET/SSL_GET做健康檢測(cè)時(shí),指定的Web效勞器的虛擬主機(jī)地址。
?sorry_server:相當(dāng)于一個(gè)備用節(jié)點(diǎn),在全部realserver失效后,這個(gè)備用節(jié)點(diǎn)會(huì)啟用。
下面是real_server段的'一個(gè)配置例如:
real_server3280{
weight3
inhibit_on_failure
notify_up|
notify_down|
}
下面介紹每個(gè)選項(xiàng)的含義。
?real_server:是real_server段起先的標(biāo)識(shí),用來(lái)指定realserver節(jié)點(diǎn),后面跟的是realserver的真實(shí)IP地址和端口,IP與端口之間用空格隔開(kāi)。
?weight:用來(lái)配置realserver節(jié)點(diǎn)的權(quán)值。權(quán)值大小用數(shù)字表示,數(shù)字越大,權(quán)值越高。設(shè)置權(quán)值的大小可以為不同性能的效勞器安排不同的負(fù)載,為性能高的效勞器設(shè)置較高的權(quán)值,而為性能較低的效勞器設(shè)置相對(duì)較低的權(quán)值,這樣才能合理地利用和安排了系統(tǒng)資源。
?inhibit_on_failure:表示在檢測(cè)到realserver節(jié)點(diǎn)失效后,把它的;weight;值設(shè)置為0,而不是從IPVS中刪除。
?notify_up:此選項(xiàng)與上面介紹過(guò)的notify_maser有相同的功能,后跟一個(gè)腳本,表示在檢測(cè)到realserver節(jié)點(diǎn)效勞處于UP狀態(tài)后執(zhí)行的腳本。
?notify_down:表示在檢測(cè)到realserver節(jié)點(diǎn)效勞處于DOWN狀態(tài)后執(zhí)行的腳本。
健康檢測(cè)段允很多種檢查方式,常見(jiàn)的有_GET、SSL_GET、TCP_CHECK、SMTP_CHECK、MISC_CHECK。首先看TCP_CHECK檢測(cè)方式例如:
TCP_CHECK{
connect_port80
connect_timeout3
nb_get_retry3
delay_before_retry3
}
下面介紹每個(gè)選項(xiàng)的含義介。
?connect_port:健康檢查的端口,假設(shè)無(wú)指定,默認(rèn)是real_server指定的端口。
?connect_timeout:表示無(wú)響應(yīng)超時(shí)時(shí)間,單位是秒,這里是3秒超時(shí)。
?nb_get_retry:表示重試次數(shù),這里是3次。
?delay_before_retry:表示重試間隔,這里是間隔3秒。
下面是_GET和SSL_GET檢測(cè)方式的例如:
_GET|SSL_GET
{
url{
path/
digeste6c271eb5f017f280cf97ec2f51b02d3
status_code200
}
connect_port80
bindto0
connect_timeout3
nb_get_retry3
delay_before_retry2
}
下面介紹每個(gè)選項(xiàng)的含義。
?url:用來(lái)指定/SSL檢查的URL信息,可以指定多個(gè)URL。
?path:后跟具體的URL路徑。
?digest:SSL檢查后的摘要信息,這些摘要信息可以通過(guò)genhash吩咐工具獲得。例如:genhash-s0-p80-u/。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公文具生產(chǎn)材料與成本控制考核試卷
- 公益精神弘揚(yáng)考核試卷
- 農(nóng)村集體經(jīng)濟(jì)組織農(nóng)村基礎(chǔ)設(shè)施項(xiàng)目管理考核試卷
- 呼叫中心員工滿意度調(diào)查問(wèn)卷考核試卷
- 光纜在車聯(lián)網(wǎng)通信的關(guān)鍵技術(shù)考核試卷
- 2025年度學(xué)生公寓自動(dòng)續(xù)約服務(wù)合同
- 固體廢物處理與資源循環(huán)利用技術(shù)考核試卷
- 壓力容器應(yīng)力集中分析與解決方案考核試卷
- 項(xiàng)目談判課程設(shè)計(jì)
- 煤礦帶區(qū)課程設(shè)計(jì)
- 財(cái)務(wù)機(jī)器人技術(shù)在會(huì)計(jì)工作中的應(yīng)用
- 《保單檢視專題》課件
- 建筑保溫隔熱構(gòu)造
- 智慧財(cái)務(wù)綜合實(shí)訓(xùn)
- 安徽省合肥市2021-2022學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)試題(含答案)3
- 教育專家報(bào)告合集:年度得到:沈祖蕓全球教育報(bào)告(2023-2024)
- 肝臟腫瘤護(hù)理查房
- 護(hù)士工作壓力管理護(hù)理工作中的壓力應(yīng)對(duì)策略
- 2023年日語(yǔ)考試:大學(xué)日語(yǔ)六級(jí)真題模擬匯編(共479題)
- 皮帶拆除安全技術(shù)措施
- ISO9001(2015版)質(zhì)量體系標(biāo)準(zhǔn)講解
評(píng)論
0/150
提交評(píng)論