# LVS서버
# LVS 설치
$ yum -y install ipvsadm
# 설정확인 0이면 비활성화 된 것임.
$ sysctl -a | grep ip_forward
net.ipv4.ip_forward = 0
net.ipv4.ip_forward_use_pmtu = 0
$ vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
$ sysctl -p
# 리부트 후, 값이 저장되었는지 확인해보자.
$ reboot
$ sysctl -a | grep ip_forward
net.ipv4.ip_forward = 1
net.ipv4.ip_forward_use_pmtu = 0
# 가상IP(VIP) 추가
$ ip addr add 192.168.199.250 dev eno16777736:0
# 잘못 추가했다면
# ip addr del 192.168.199.250 dev eno16777736:0
[root@localhost ~]# ip addr
1: lo: mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno16777736: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:4d:21:a7 brd ff:ff:ff:ff:ff:ff
inet 192.168.199.130/24 brd 192.168.199.255 scope global dynamic eno16777736
valid_lft 1677sec preferred_lft 1677sec
inet 192.168.199.250/32 scope global eno16777736
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe4d:21a7/64 scope link
valid_lft forever preferred_lft forever
# LVS Direct Routing으로 추가하기
$ ipvsadm -C
$ ipvsadm -A -t 192.168.199.250:8001 -s rr
$ ipvsadm -a -t 192.168.199.250:8001 -r 192.168.199.128:8001 -g
$ ipvsadm -a -t 192.168.199.250:8001 -r 192.168.199.129:8001 -g
# real server
vi /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
$ sysctl -p
# LVS에 할당한 VIP를 lo:0에 추가한다.
$ ip addr add 192.168.199.250 dev lo:0
$ ip addr
1: lo: mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet 192.168.199.250/32 scope global lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno16777736: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:74:0f:83 brd ff:ff:ff:ff:ff:ff
inet 192.168.199.129/24 brd 192.168.199.255 scope global dynamic eno16777736
valid_lft 1601sec preferred_lft 1601sec
inet6 fe80::20c:29ff:fe74:f83/64 scope link
valid_lft forever preferred_lft forever
# 잘되고 있는지 LVS서버에서 확인
$ ipvsadm -L -n --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
-> RemoteAddress:Port
TCP 192.168.199.250:8001 2 43 0 10016 0
-> 192.168.199.128:8001 1 29 0 5964 0
-> 192.168.199.129:8001 1 14 0 4052 0
에잇, 되긴 했지만 너무 어렵다. haproxy로 하자.