このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
01_linux:01_net:23_lvs_on_cloudstack [2014/08/25 07:02] – 01_linux:01_net:22_lvs_on_cloudstack renamed to 01_linux:01_net:23_lvs_on_cloudstack matsui | 01_linux:01_net:23_lvs_on_cloudstack [2018/11/01 23:21] (現在) – matsui | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== 23 LVS on CloudStack ====== | ||
+ | |||
+ | < | ||
+ | (internet) | ||
+ | | | ||
+ | | 182.48.51.190 | ||
+ | +----+-----------+ | ||
+ | | Virtual Router | | ||
+ | +----+-----------+ | ||
+ | | 10.1.0.1/24 GW | ||
+ | | | ||
+ | -----+------ 10.1.0.0/24 ------+-------------------+-------- | ||
+ | | ||
+ | | eth0 | ||
+ | | eth0:0 10.1.0.100/ | ||
+ | +----+------+ | ||
+ | | LVS serv | | Web serv1 | | Web Serv2 | | ||
+ | +----+------+ | ||
+ | </ | ||
+ | |||
+ | ===== LVS Server ===== | ||
+ | |||
+ | === 1.ipvsadm インストール === | ||
+ | <code console> | ||
+ | # yum install ipvsadm | ||
+ | </ | ||
+ | |||
+ | === 2.VIPを付けておく === | ||
+ | |||
+ | <code console> | ||
+ | # ip addr add 10.1.0.100/ | ||
+ | </ | ||
+ | |||
+ | * ※参考: | ||
+ | |||
+ | === 3.sysctl編集 === | ||
+ | |||
+ | == sysctl.confに追加 == | ||
+ | |||
+ | <code console> | ||
+ | # vi / | ||
+ | |||
+ | 下記を追加 | ||
+ | net.ipv4.ip_forward=1 | ||
+ | net.ipv4.conf.default.rp_filter=0 | ||
+ | </ | ||
+ | |||
+ | 今回はNICが1つなので本来は必要ないが、NICを2つで構成している場合は必ず「net.ipv4.conf.default.rp_filter」を設定する。 | ||
+ | [[https:// | ||
+ | |||
+ | |||
+ | == 反映 == | ||
+ | |||
+ | <code console> | ||
+ | # sysctl -p | ||
+ | </ | ||
+ | |||
+ | === 4.Vritual Routerの設定 === | ||
+ | |||
+ | ファイアウォールは開けておく | ||
+ | Nat設定(ポート転送)は、80番、443番を VIP: | ||
+ | |||
+ | === 5.ipvsamで設定を入れる === | ||
+ | |||
+ | == VIP設定 == | ||
+ | |||
+ | <code console> | ||
+ | # ipvsadm -A -t 10.1.0.100: | ||
+ | # ipvsadm -A -t 10.1.0.100: | ||
+ | </ | ||
+ | |||
+ | == 実サーバ設定 == | ||
+ | <code console> | ||
+ | # ipvsadm -a -t 10.1.0.100: | ||
+ | # ipvsadm -a -t 10.1.0.100: | ||
+ | # ipvsadm -a -t 10.1.0.100: | ||
+ | # ipvsadm -a -t 10.1.0.100: | ||
+ | </ | ||
+ | |||
+ | == 確認 == | ||
+ | |||
+ | <code console> | ||
+ | # ipvsadm -Ln | ||
+ | IP Virtual Server version 1.2.1 (size=4096) | ||
+ | Prot LocalAddress: | ||
+ | -> RemoteAddress: | ||
+ | TCP 10.1.0.100: | ||
+ | -> 10.1.0.150: | ||
+ | -> 10.1.0.160: | ||
+ | TCP 10.1.1.85: | ||
+ | -> 10.1.0.150: | ||
+ | -> 10.1.0.160: | ||
+ | </ | ||
+ | |||
+ | ===== Web Serv側 ===== | ||
+ | |||
+ | LVSサーバ側の設定が終わっていると、「182.48.51.190 -> 10.1.0.100」への通信がそのままWeb Serv1、Web Serv2へ転送されます。 | ||
+ | そのままだと、自分宛てと気づけずにパケットを処理する事ができません。 | ||
+ | その為、下記どちらかでVIP宛て通信を返す必要があります。 | ||
+ | |||
+ | ==== 1.PREROUTING してVIP宛て通信を処理 ==== | ||
+ | |||
+ | iptables -t nat -I PREROUTING -d 10.1.0.100 -j REDIRECT | ||
+ | |||
+ | ==== 2.ループバックアドレスを設定 ==== | ||
+ | |||
+ | <code console> | ||
+ | # ip addr add 10.1.0.100/ | ||
+ | </ | ||
+ | |||
+ | === sysctl修正 === | ||
+ | |||
+ | ループバックアドレスを設定すると、arp関係で問題が出るので、 | ||
+ | 下記の設定を入れてあげる。 | ||
+ | |||
+ | == sysctl.conf修正 == | ||
+ | |||
+ | <code console> | ||
+ | # vi / | ||
+ | |||
+ | 下記を追加 | ||
+ | net.ipv4.conf.all.arp_ignore = 1 | ||
+ | net.ipv4.conf.all.arp_announce = 2 | ||
+ | </ | ||
+ | |||
+ | == 反映 == | ||
+ | <code console> | ||
+ | # sysctl -p | ||
+ | </ | ||