1. 程式人生 > >Keepalived安裝與配置

Keepalived安裝與配置

keepalived

一.Keepalived安裝與配置:

1.Keepalived的安裝過程:

Keepalived的安裝非常簡單,本實例以源碼安裝講解:

Keepalived的官方網址:http://www.keepalived.org/download.html

Keepalived安裝步驟:

[root@keepalived01 ~]# tar zxvf keepalived-1.2.12.tar.gz

[root@keepalived01 ~]# cd keepalived-1.2.12

[root@keepalived01 keepalived-1.2.12]# ./configure --sysconf=/etc --with-kernel-dir=/usr/src/kernels/2.6.32-573.el6.x86_64

[root@keepalived01 keepalived-1.2.12]# make && make install

[root@keepalived01 keepalived-1.2.12]# ln -s /usr/local/sbin/keepalived /sbin/

[root@keepalived01 keepalived-1.2.12]# chkconfig --level 35 keepalived on

在編譯選項中,“--sysconf”指定了Keepalived配置文件的安裝路徑,即路徑為/etc/keepalived/keepalived.conf;“--with-kernel-dir”是個很重要的參數,但這個參數並不是要把Keepalived編譯進內核,而是指定使用內核源碼中的頭文件,即include目錄。只有在使用LVS時,才需要用到“--with-kernel-dir”參數,其他時候是不需要的。

安裝結果:

Keepalived configuration

------------------------

Keepalived version : 1.2.12

Compiler : gcc

Compiler flags : -g -O2 -DFALLBACK_LIBNL1

Extra Lib : -lssl -lcrypto -lcrypt -lnl

Use IPVS Framework : Yes

IPVS sync daemon support : Yes

IPVS use libnl : Yes

Use VRRP Framework : Yes

Use VRRP VMAC : Yes

SNMP support : No

SHA1 support : No

Use Debug flags : No

Keepalived輸出的加載模塊信息,其中:

Use IPVS Framework表示使用IPVS框架,也就是負載均衡模塊,後面的“Yes”表示啟用IPVS功能。一般在搭建高可用負載均衡集群時會啟用IPVS功能,如果只是使用Keepalived的高可用功能,則不需要啟用IPVS模塊,可以在編譯Keepalived時通過“--disable-lvs”關閉IPVS功能。

IPVS sync daemon support表示啟用IPVS的同步功能,此模塊一般和IPVS模塊一起使用,如果需要關閉,可在編譯Keepalived時通過“--disable-lvs-syncd”參數實現。

IPVS use libnl 表示使用新版的libnl。libnl是NETLINK的一個實現,如果要使用新版的libnl,需要在系統中安裝libnl和libnl-devel軟件包。

Use VRRP Framework表示使用VRRP框架,這是實現Keepalived高可用功能必需的模塊。

Use VRRP VMAC表示使用基礎VMAC接口的xmit VRRP包,這是Keepalived在1.2.10版本及以後新增的一個功能。

2.Keepalived的全局配置:

Keepalived配置文件的路徑為/etc/keepalived/keepalived.conf,Keepalived的所有配置均在這個配置文件中完成。由於Keepalived.conf文件中可配置的選項比較多,這裏根據配置文件所實現的功能,將Keepalived配置分為三類,分別是:全局配置(Global Configuration)、VRRPD配置和LVS配置。下面將主要介紹下Keepalived配置文件中一些常用配置選項的含義和用法。

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

! Configuration File for keepalived


global_defs {

notification_email {

[email protected]

}

notification_email_from [email protected]

smtp_server smtp.163.com

smtp_connect_timeout 30

router_id LVS_DEVEL

}

全局配置以“global_defs”作為標識,在“global_defs”區域內的都是全局配置選項,其中:

□notification_email用於設置報警郵件地址,可以設置多個,每行一個。註意,如果要開啟郵件報警,需要開啟本機的sendmail服務。

■notification_email_from用於設置郵件的發送地址。

□smtp_server用於設置郵件的smtp server地址。

■smtp_connect_timeout用於設置連接smtp server的超時時間。

□router_id表示運行Keepalived服務器的一個標識,是發郵件時顯示在郵件主題中的信息。

3.Keepalived的VRRPD配置:

VRRPD配置是Keepalived所有配置的核心,主要用來實現Keepalived的高可用功能。從結構上來看,VRRPD配置又可分為VRRP同步組配置和VRRP實例配置。

這裏首先介紹同步組實現的主要功能。同步組是相對於多個VRRP實例而言的,在多個VRRP實例的環境中,每個VRRP實例所對應的網絡環境會有所不同,假設一個實例處於網段A,另一個實例處於網段B,而如果VRRPD只配置了A網段的檢測,那麽當B網段主機出現故障時,VRRPD會認為自身仍處於正常狀態,進而不會進行主備節點的切換,這樣問題就出現了。同步組就是用來解決這個問題的,將所有VRRP實例都加入同步組中,這樣任何一個實例出現問題,都會導致Keepalived進行主備切換。

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

vrrp_sync_group G1 {

group {

VI_1

VI_2

VI_5

}

notify_backup "/usr/local/bin/vrrp.back arg1 arg2"

notify_master "/usr/local/bin/vrrp.mast arg1 arg2"

notify_fault "/usr/local/bin/vrrp.fault arg1 arg2"

notify_stop "/usr/local/bin/vrrp.stop arg1 arg2"

}


vrrp_sync_group G2 {

group {

VI_3

VI_4

}

}

其中,G1同步組包含VI_1、VI_2、VI_5三個VRRP實例,G2同步組包含VI_3、VI_4兩個VRRP實例。這5個實例將在vrrp_instance段進行定義。另外,在vrrp_s


Keepalived安裝與配置