Centos7 설치 구성 LVS-DR

15681 단어 docker고가용성lvs

LVS DR 원리(라우팅 직접 연결):


사용자는 LVS의 VIP를 요청하여 LVS에서 메시지의 MAC 주소를 실제 서버의 MAC 주소로 수정하고 원본 IP와 목표 IP를 변경하지 않으며 원본 IP는 사용자 IP로 변하지 않습니다. 그리고 LVS는 메시지를 RS 서버에 보냅니다. RS가 되돌아올 때 실제 게이트웨이에서 데이터를 가져와 LVS를 거치지 않습니다.

환경:

VIP:		172.17.0.100
DIP:		172.17.0.5
RIP:		172.17.0.2
RIP:		172.17.0.380
 :	NGINX

설치 구성


LVS 설치

[root@0f34df37cdaf ansible]# yum install -y ipvsadm* -y
 
[root@0f34df37cdaf ansible]# lsmod | grep ip_vs

LVS 서버에 eth0:1 구성
[root@0f34df37cdaf /]# cd /etc/sysconfig/network-scripts/
[root@0f34df37cdaf network-scripts]# vim ifcfg-eth0:1
DEVICE=eth0:1
IPADDR=172.17.0.100
NETMASK=255.255.255.255
ONBOOT=yes
~           
 
[root@0f34df37cdaf network-scripts]# ifconfig eth0:1  172.17.0.100/24  
[root@0f34df37cdaf network-scripts]# ifconfig 
[root@0f34df37cdaf network-scripts]# ifconfig eth0:1   
eth0:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.100  netmask 255.255.255.0  broadcast 172.17.0.255
        ether 02:42:ac:11:00:05  txqueuelen 0  (Ethernet)                   

LVS 모듈 추가

[root@0f34df37cdaf /]# yum install -y kernel kernel-devel
 
[root@0f34df37cdaf /]# modprobe ip_vs_wrr
[root@0f34df37cdaf /]# modprobe ip_vs_rr
 
[root@0f34df37cdaf /]# lsmod |grep ip_vs

LVS 구성

[root@0f34df37cdaf /]# ipvsadm -A -t 172.17.0.100:80 -s rr 
[root@0f34df37cdaf /]# ipvsadm -a -t 172.17.0.100:80 -r 172.17.0.3:80 -g -w 100 
[root@0f34df37cdaf /]# ipvsadm -a -t 172.17.0.100:80 -r 172.17.0.2:80 -g -w 100 
[root@0f34df37cdaf /]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.17.0.100:80 rr
  -> 172.17.1.2:80                Route   100    0          0         
  -> 172.17.1.3:80                Route   100    0          0  

NGINX 서버에서 SIP 구성

ifconfig lo:0 172.17.0.100 broadcast 172.17.0.100 netmask 255.255.255.255 up 

테스트

[root@a2deb4fa0a27 ~]# curl 172.17.0.100
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

모든 RIP ipvsadm 삭제 - D -t 172.17.0.100:80
주: 1. 데이터가 없으면 LVS에 루트 add-host 172.17.0.100 eth0 2를 추가할 수 있습니다. LVS 기계에서 전송 내용을 설정하여 전송 기능을 켜야 합니다. echo 1 >/proc/sys/net/ipv4/ip_forward
--------------------end

좋은 웹페이지 즐겨찾기