#5 KeepAlivedを入れる(おまけ付)
入れる。 (単なる作業メモ…)
作業手順 CentOS6系
カーネルのバージョン
2.6.32-71.29.1.el6.x86_64
http://www.keepalived.org/software/keepalived-1.2.2.tar.gz
カーネル組み込みのIPVSのバージョン確認
# grep VERSION_CODE /usr/include/linux/ip_vs.h
#define IP_VS_VERSION_CODE 0x010201
=>1.2.1であることを確認
yum install ipvsadmする際に、 上で確認したカーネル組み込みのIPVSのバージョンより、 yumで入れるipvsadmのバージョンが新しい事を確認すること。
ipvsadm入れてkeepalivedをおもむろにconfigure
[root@rrreeeyyy keepalived-1.2.2]# yum install ipvsadm
[root@rrreeeyyy src]# wget http://www.keepalived.org/software/keepalived-1.2.2.tar.gz
[root@rrreeeyyy src]# tar zxfv keepalived-1.2.2.tar.gz
[root@rrreeeyyy src]# cd keepalived-1.2.2
[root@rrreeeyyy keepalived-1.2.2]# ./configure --with-kernel-dir=/lib/modules/`uname -r`/build
configure: error: Popt libraries is required
popt librariesがないので入れておもむろにconfigure
[root@rrreeeyyy keepalived-1.2.2]# yum install popt-devel
[root@rrreeeyyy keepalived-1.2.2]# ./configure --with-kernel-dir=/lib/modules/`uname -r`/build
Keepalived version : 1.2.2
Compiler : gcc
Compiler flags : -g -O2
Extra Lib : -lpopt -lssl -lcrypto
Use IPVS Framework : Yes
IPVS sync daemon support : Yes
IPVS use libnl : No
Use VRRP Framework : Yes
Use Debug flags : No
IPVS use libnlがNoになってるので入れておもむろに
[root@rrreeeyyy keepalived-1.2.2]# yum install libnl-devel
[root@rrreeeyyy keepalived-1.2.2]# ./configure --with-kernel-dir=/lib/modules/`uname -r`
Keepalived configuration
------------------------
Keepalived version : 1.2.2
Compiler : gcc
Compiler flags : -g -O2
Extra Lib : -lpopt -lssl -lcrypto -lnl
Use IPVS Framework : Yes
IPVS sync daemon support : Yes
IPVS use libnl : Yes
Use VRRP Framework : Yes
Use Debug flags : No
[root@rrreeeyyy keepalived-1.2.2]# make
Make complete
[root@rrreeeyyy keepalived-1.2.2]# make install
起動スクリプトの類をなんとか
[root@rrreeeyyy bin]# ln -s /usr/local/src/keepalived-1.2.2/bin/keepalived /usr/sbin/keepalived
[root@rrreeeyyy bin]# cp -a /usr/local/src/keepalived-1.2.2/keepalived/etc/init.d/keepalived.rh.init /etc/init.d/keepalived
[root@rrreeeyyy bin]# cp -a /usr/local/src/keepalived-1.2.2/keepalived/etc/init.d/keepalived.sysconfig /etc/sysconfig/keepalived
mkdir /etc/keepalived
をしてあげてその下にkeepalived.conf等の設定ファイルを置く。 設定ファイルのsample
/usr/local/src/keepalived-1.2.2/keepalived/etc/keepalived/keepalived.conf
においてあるので、/etc/keepalived配下にコピーする。
# ip addr show
inet 192.168.200.16/32 scope global eth0
inet 192.168.200.17/32 scope global eth0
inet 192.168.200.18/32 scope global eth0
# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.200.100:443 rr persistent 50
TCP 192.168.201.100:1358 rr persistent 50
-> 192.168.200.200:1358 Masq 1 0 0
TCP 10.10.10.3:1358 rr persistent 50
こんなかんじで、VIPとipvsadmの振り分けが一応設定されていれば恐らくインストール成功。 あとは頑張ってkeepalived.confを書く。
おわり
おまけ:
仮想ホストにruby入れる
おもむろに
[root@coco-01 ruby-1.9.3-p0]# wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p0.tar.gz
[root@coco-01 ruby-1.9.3-p0]# tar zxfv ruby-1.9.3-p0.tar.gz
[root@coco-01 ruby-1.9.3-p0]# ./configure --prefix=/usr/local/ruby-1.9.3/
[root@coco-01 ruby-1.9.3-p0]# make
[root@coco-01 ruby-1.9.3-p0]# make install
おわり
と思いきや
[root@coco-01 ruby-1.9.3]# gem install sinatra
/usr/local/ruby-1.9.3/lib/ruby/1.9.1/yaml.rb:56:in `':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
こんなエラーが出たので、libyamlを入れる事に。 CentOSはyumでレポジトリ追加しなきゃいけないぽくて面倒だったのでビルドした。
[root@coco-01 src]# wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
[root@coco-01 src]# tar zxfv yaml-0.1.4.tar.gz
[root@coco-01 yaml-0.1.4]# ./configure
[root@coco-01 yaml-0.1.4]# make
[root@coco-01 yaml-0.1.4]# make install
[root@coco-01 bin]# vim /etc/ld.so.conf.d/libyaml.conf
(+) /usr/local/lib
[root@coco-01 yaml-0.1.4]# ldconfig
rubyを再度上の手順でリコンパイルしてmake&&make install
gemのエラーが無事消える
おわり