前回、こちら で ipvsadm のインストールについて説明しましたが、今回は引き続き keepalived のインストールを行います。
keepalived のインストール
keepalived をソースコードからインストールする場合、CentOS 5 系では色々と修正しなければならない箇所があります。最初にビルド環境を構築します。
# yum -y install make rpm-build openssl-devel gcc
# cd /usr/local/src
# wget <a href="http://www.keepalived.org/software/keepalived-1.1.12.tar.gz">http://www.keepalived.org/software/keepalived-1.1.12.tar.gz</a>
# wget <a href="http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.8.tar.bz2">http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.8.tar.bz2</a>
# tar jxvf linux-2.6.18.8.tar.bz2
# cp -vpir linux-2.6.18.8/net/core/* /usr/src/kernels/2.6.18-194.32.1.el5-x86_64/net/core/
# tar zxvf keepalived-1.1.12.tar.gz
# cd keepalived-1.1.12
# vi configure
ここで configure スクリプトを直接修正します。CentOS の kernel バージョンをなぜか解釈してくれない為、強引に kernel バージョンを指定します(3619, 3620, 3621が修正点)。
3616 #LINUX_MAJOR="0"
3617 #LINUX_MINOR="0"
3618 #LINUX_PATCH="0"
3619 LINUX_MAJOR="2"
3620 LINUX_MINOR="6"
3621 LINUX_PATCH="18"
今修正した configure スクリプトを実行してインストールを続けます。
# ./configure –prefix=/usr/local –with-kernel-dir=/usr/src/kernels/2.6.18-194.32.1.el5-x86_64
Keepalived configuration
————————
Keepalived version : 1.1.12
Compiler : gcc
Compiler flags : -g -O2
Extra Lib : -lpopt -lssl -lcrypto
Use IPVS Framework : Yes
IPVS sync daemon support : Yes*
Use VRRP Framework : Yes*
Use LinkWatch : Yes*
Use Debug flags : No
- をつけた箇所が Yes となっていることを確認して次へ進みます。
# cd keepalived/vrrp
# vi vrrp_arp.c
include オプションが重複している為、vrrp_arp.c を以下のように編集します。
#include ↓↓↓↓↓↓以下のように修正する
/* #include */
struct sockaddr_ll
{
unsigned short sll_family;
unsigned short sll_protocol;
int sll_ifindex;
unsigned short sll_hatype;
unsigned char sll_pkttype;
unsigned char sll_halen;
unsigned char sll_addr;
};
続いてビルドを続けます。
# gcc -g -O2 -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LINKWATCH_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -c vrrp_arp.c
# cd ../..
# make clean
# make
# make install
vi /etc/man.config
man.config に以下のように PATH を追加します(黄色に着色した箇所)
43 MANPATH /usr/man
44 MANPATH /usr/share/man
45 MANPATH /usr/local/man
46 MANPATH /usr/local/share/man
47 MANPATH /usr/X11R6/man
↓↓↓↓↓追加
46 # 2011/03/08 for keepalived start <<<<<
47 MANPATH /usr/local/man/man
48 # 2011/03/08 end >>>>>
これで keepalived のインストールは終了です。次に keepalived が実行できるか確認します。
# keepalived --version
Keepalived v1.1.12 (03/08,2011)
この時の keepalived のバージョンは IPVS とは依存していない為、同じである必要はありません。