LVS構築で簡単ロードバランサー

YUMインストール

sudo yum install -y ipvsadm

keepalivedのインストール

keepalivedはYUMレポジトリに追加されていないので、基本ソースからコンパイルしてインストールになります(その際、カーネルのソースコードが必要です。ただ、RPMを作れるオプションもあって、私の方でCentOS6.3(x86_64)のRPMを作成しました。↓からダウンロードできます)
http://www.geek.sc/file/keepalived-1.2.7-5.x86_64.rpm

wget http://www.geek.sc/file/keepalived-1.2.7-5.x86_64.rpm
rpm -ivh keepalived-1.2.7-5.x86_64.rpm

/etc/keepalived/keepalived.conf編集(VIP(VirtualIP)構成)

! Configuration File for keepalived

global_defs {
   notification_email {
     saito@geek.sc
   }
   notification_email_from saito@geek.sc
#   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance vip_httpd {
interface eth1
virtual_router_id 1

virtual_ipaddress {
10.0.0.100/24 dev eth1
}
}

virtual_server 10.0.0.100 80 {
delay_loop 3
lvs_sched rr
lvs_method DR
protocol TCP

real_server 10.0.0.51 80 {
weight 1
inhibit_on_failure
HTTP_GET {
url {
path /health.html
status_code 200
}
connect_port 80
connect_timeout 3
}
}

real_server 10.0.0.52 80 {
weight 1
inhibit_on_failure
HTTP_GET {
url {
path /health.html
status_code 200
}
connect_port 80
connect_timeout 3
}
}

IPフォワード設定

$ sudo echo 1 > /proc/sys/net/ipv4/ip_forward
$ sudo vi /etc/sysctl.conf

net.ipv4.ip_forward=1

$ sudo sysctl -p /etc/sysctl.conf

分岐先サーバーでiptables設定

$ sudo iptables -t nat -A PREROUTING -p tcp -d 10.0.0.100 -j REDIRECT
$ sudo /etc/init.d/iptables save

LVSサーバーでipvsadmとkeepalived起動

$ sudo /etc/init.d/ipvsadm start
$ sudo /etc/init.d/keepalived start

確認

ip add |grep -w inet
結果 inet 10.0.0.100/24 scope global secondary eth3
sudo ipvsadm -Ln
結果
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.0.100:80 rr
-> 10.0.0.51:80 Route 1 0 0
-> 10.0.0.52:80 Route 1 0 0

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください