LVS (Linux Virtual Server) 設定2016/01/11 |
LVS (Linux Virtual Server) によるロードバランサの構築です。
ここでは以下のような環境を例に設定します。 | --------+-------------------------------------------------------------------- | +-------------------+--------------------+ |10.0.0.40(VIP) | | eth0|10.0.0.30 eth0|10.0.0.51 eth0|10.0.0.52 +------+-----+ +-------+------+ +-------+------+ | LVS Server | | Backend#1 | | Backend#2 | | | | Web Server | | Web Server | +------------+ +--------------+ +--------------+ |
LVSサーバーの 10.0.0.40(VIP)宛へ来た HTTP パケットを Backend#1, Backend#2 の Webサーバーへ DSR(Direct Server Return) 方式で負荷分散します。
|
|
[1] | ipvsadm をインストールします。 |
root@dlp:~#
apt-get -y install ipvsadm
root@dlp:~#
vi /etc/default/ipvsadm # 変更 AUTO=" true "
# 変更 DAEMON=" master "
# 利用するインターフェースに変更 IFACE=" eth0 "
/etc/init.d/ipvsadm start |
[2] | LVS サーバーで仮想IPアドレスを設定しておきます。 |
root@dlp:~#
vi /etc/network/interfaces # 最終行に追記 auto eth0:0 iface eth0:0 inet static address 10.0.0.40 network 10.0.0.0 netmask 255.255.255.0 ifup eth0:0 root@dlp:~# ip addr show eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP< mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:39:8a:e6 brd ff:ff:ff:ff:ff:ff inet 10.0.0.30/24 brd 10.0.0.255 scope global eth0 valid_lft forever preferred_lft forever inet 10.0.0.40/24 brd 10.0.0.255 scope global secondary eth0:0 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fe39:8ae6/64 scope link valid_lft forever preferred_lft forever |
[3] | DSR 方式の場合、バックエンドからクライアントへの戻りパケットはダイレクトになるため、以下のような設定が必要になります。 バックエンドサーバー全台で設定します。 |
# IP アドレスの部分は仮想IP を指定 root@node01:~# iptables -t nat -A PREROUTING -d 10.0.0.40 -j REDIRECT
|
[4] | LVS サーバーで負荷分散の設定をします。 |
# テーブルをクリア root@dlp:~# ipvsadm -C
# 仮想サービスを登録 # [ipvsadm -A -t (サービス用仮想IP:ポート) -s (分散方式)] root@dlp:~# ipvsadm -A -t 10.0.0.40:80 -s rr # バックエンドサーバーを登録 # [ipvsadm -a -t (サービス用仮想IP:ポート) -r (実サーバのIP:ポート) -g]) root@dlp:~# ipvsadm -a -t 10.0.0.40:80 -r 10.0.0.51:80 -g root@dlp:~# ipvsadm -a -t 10.0.0.40:80 -r 10.0.0.52:80 -g # テーブル確認 root@dlp:~# ipvsadm -l IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 10.0.0.40:http rr -> node01.srv.world:http Route 1 0 0 -> node02.srv.world:http Route 1 0 0 # ルールを保存 root@dlp:~# ipvsadm -S >> /etc/ipvsadm.rules
|
[5] | 以上で設定完了です。任意のクライアントPC から Webブラウザで設定したサービス用IPにアクセスして動作確認してください。 |
なお、分散方式には以下のような種類があります。
|
Sponsored Link |
|