インストール
VirtualBoxを利用して以下の構成で実装した。
LVS ブリッジ(dhcp + 仮想IP)
Server1 ブリッジ(dhcp)
Server2 ブリッジ(dhcp)
本来はLVSにNICを2枚挿して、
内側と外側のネットワーク境界に設置するけど、
面倒なので普通にブリッジで構成する。
まずはLVS用の仮想アドレスを用意する。
仮想IPの設定は簡単で、
単に ifcfg-eth1 をコピーして編集するだけでいい。
# cp ifcfg-eth1 ifcfg-eth1:0
---------------
DEVICE="eth1:0"
ONBOOT=yes
NETMASK=255.255.255.0
TYPE=Ethernet
IPADDR=192.168.11.92 //割り当てる仮想IP
---------------
# /etc/init.d/network restart
# ifconfig
これで仮想IPが表示されるはず。
次にIPパケット転送を有効にする
# vim /etc/sysctl.conf
------------------
net.ipv4.ip_forward = 1 ←値を「1」に変更して有効にする
------------------
設定を反映させる。
# sysctl -p
yumでインストールする。
# yum install ipvsadm
この時ipvsadmのバージョンと
カーネルに組み込まれているipvsのバージョンを確認する必要がある。
今回はバージョンに問題がなかったので、そのまま続行。
ipvsadm でLVSの設定をしていく。
まずは初期化しておく。
# ipvsadm -C
LVSのIPを登録する。
# ipvsadm -A -t 192.168.11.92:80 -s rr
- sオプションはリクエストの割り振り方を変える。
今回はラウンドロビンにした。
クライアントのIPを登録する。
# ipvsadm -a -t 192.168.11.92:80 -r 192.168.11.99:80 -m
# ipvsadm -a -t 192.168.11.92:80 -r 192.168.11.98:80 -m
設定の永続保存する。
# /etc/init.d/ipvsadm save
確認してみる。
# ipvsadm -l
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.11.92:http wlc
-> 192.168.11.98:http Masq 1 0 0
-> 192.168.11.99:http Masq 1 0 0
各クライアントサーバでループバックアドレスを設定する。
ループバックアドレスを指定することで、
192.168.11.92が自分宛のリクエストだと認識させる。
--- ifcfg-lo:0 ---
DEVICE=lo:0
IPADDR=192.168.11.92
NETMASK=255.255.255.255
ONBOOT=yes
これでOKなはず。