CentOS5 にKeepalived をインストール
# yum -y install keepalived
したが、見つからない。
http://rpmfind.net/ で探したが、CentOS5用はまだない。仕方がないので、ソースからインストールする。http://www.keepalived.org/download.html から1.1.13 をダウンロードした。
以下に、ソースからのインストールとRPMの作成を示す。
出来上がったRPMは、ここにおいておきます。
http://www.rukatan.com/keepalived-1.1.13-6.i386.rpm
リンク切れやうまくいかないなどありましたらコメントいただけると幸いです。
- ソースからのインストール
# wget http://www.keepalived.org/software/keepalived-1.1.13.tar.gz # tar zxvf keepalived-1.1.13.tar.gz # cd keepalived-1.1.13 # ./configure 中略 configure: WARNING: Cannot determine Linux Kernel version. checking for /usr/src/linux/net/core/link_watch.c... no 中略 Keepalived configuration ------------------------ Keepalived version : 1.1.13 Compiler : gcc Compiler flags : -g -O2 Extra Lib : -lpopt -lssl -lcrypto Use IPVS Framework : No IPVS sync daemon support : No Use VRRP Framework : Yes Use LinkWatch : No Use Debug flags : No
いろいろソースが無いのが原因のよう。
# yum -y install kernel-devel
でソースを入れても、link_watch.c はやっぱり入らない。
いろいろ探してみたら以下にあった。
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.8.tar.gz
これを展開して、その中の net/core/以下のソースを、/usr/src/kernels/2.6.18-8.el5-i686/net/core 以下にコピーしておく。
# ./configure --with-kernel-dir=/usr/src/kernels/2.6.18-8.el5-i686 中略 Keepalived configuration ------------------------ Keepalived version : 1.1.13 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
これでもコンパイルが通らない。
Fedora Core 6 用のsrc.rpmの中のパッチを見ると、keepalived-1.1.13/keepalived/vrrp/vrrp_arp.c を以下のように 修正すればコンパイルが通った。
-/* system includes */ -#include <linux/if_packet.h> - /* local includes */ #include "vrrp_arp.h" #include "memory.h" #include "utils.h" +/* system includes */ +#include <linux/if_packet.h> + /* global vars */ char *garp_buffer; int garp_fd;
でもよくよく考えてみると、Fedora Core 6用のsrc.rpmから、CentOS5用のRPMを作成できそうなことが判明。
- CentOS5 用のRPM作成
# wget http://ftp.iij.ad.jp/pub/linux/fedora/extras/6/SRPMS/keepalived-1.1.13-6.fc6.src.rpm # tar zxvf keepalived-1.1.13-6.fc6.src.rpm # rpm -i keepalived-1.1.13-6.fc6.src.rpm # cd /usr/src/redhat/SPECS # rpmbuild -bb ./keepalived.spec # cd /usr/src/redhat/RPMS/i386
keepalived-1.1.13-6.i386.rpm ができました。
上で示したカーネルソース関連がうまくおいてあれば、rpmがすんなり作成されます。
追記 (2008/09/15)
keepalived-1.1.15 では、上記のパッチは不要。問題なくコンパイル通ります。
追記 (2009/02/06)
yum install openssl-devel も必要。