LVS + Keepalived #22013/08/20 |
LVS + Keepalived 構成で、LVS + Keepalived 自身のサーバーも冗長化する構成で設定してみます。
| +----------------+----------------+ | | 192.168.0.100|eth0 ----VIP:192.168.0.99--- eth0|192.168.0.101 +----------------+ +----------------+ | LVS+Keepalived | | LVS+Keepalived | +----------------+ +----------------+ 10.0.0.100|eth1 -----VIP:10.0.0.99----- eth1|10.0.0.101 | | +----------------+----------------+ | +----------+ | +----------+ | |10.0.0.30 | 10.0.0.31| | | Backend1 |------------------------------| Backend2 | | Web | eth0 eth0| Web | +----------+ +----------+ |
LVS + Keepalived サーバーの eth0, eth1 双方へ VIP を設定し、eth0 側の VIP宛へ来た HTTP パケットを
Backend1, Backend2 の WebサーバーへNAT転送してみます。
なお、バックエンドWebサーバーの両方で、デフォルトゲートウェイを LVS の内側 VIPに設定しておく必要があります。
(例では「10.0.0.99」)
|
|
[1] | LVS の設定は Keepalived で制御されるので、まずは LVSの設定をクリアしておきます。 |
[root@gw ~]# ipvsadm -C [root@gw ~]# /etc/rc.d/init.d/ipvsadm save ipvsadm: Saving IPVS table to /etc/sysconfig/ipvsadm: [ OK ] |
[2] | Keepalived 設定 両方のサーバーで1箇所を除いて同じ設定でOKです。「priority」の箇所のみ両方のサーバーで同じにならないように適当に値をかえてください。 |
[root@gw ~]# mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bk
[root@gw ~]#
vi /etc/keepalived/keepalived.conf # 新規作成 global_defs { notification_email { cent@srv.world } notification_email_from root@srv.world smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_Server } vrrp_instance VI_1 { # 両方でバックアップとする(プライオリティで制御する) state BACKUP # 監視させるインターフェース interface eth0 # 仮想ルータのID virtual_router_id 51 # プライオリティ (ここだけ両方のサーバーで値をかえる) # (値の大きい方が優先度が高くなる) priority 100 # VRRP送信間隔 advert_int 1 # VRRPをやり取りする際の認証情報 authentication { auth_type PASS auth_pass password } virtual_ipaddress { # 仮想IPアドレス 192.168.0.99 dev eth0 10.0.0.99 dev eth1 } } virtual_server 192.168.0.99 80 { delay_loop 3 lvs_sched rr lvs_method NAT protocol TCP real_server 10.0.0.30 80 { weight 1 HTTP_GET { url { path / status_code 200 } connect_timeout 3 } } real_server 10.0.0.31 80 { weight 1 HTTP_GET { url { path / status_code 200 } connect_timeout 3 } } } /etc/rc.d/init.d/keepalived restart Stopping keepalived: [ OK ] Starting keepalived: [ OK ] |
[3] |
以上で設定完了です。クライアントからWebブラウザで設定したVIPにアクセスして動作確認してください。
|
Sponsored Link |
|