가상 컴퓨터 한 대가 부하 균형 lvs - NAT 모드 와 lvs - DR 모드 구축
7466 단어 건설 하 다.
lvs 부하 균형 실현 은 세 가지 모델 이 있 는데 그것 이 바로 NAT, DR, TUN 모드 는 NAT 모드 와 DR 모드 만 배 웠 는데 지금 은 주로 NAT, DR 모드 를 어떻게 구축 하 는 지 설명 합 니 다.nat 는 주소 변환 이 라 고 하고 dr 는 직접 경로, tun 은 터널 이 라 고 합 니 다.
1. NAT 모드 구축 환경 준비
먼저 centos 7 이 설 치 된 가상 머 신 을 준비 한 다음 에 몇 대의 가상 머 신 을 완전 하 게 복제 해 야 한다. 복 제 된 가상 머 신 은 몇 곳 을 고 쳐 야 한다. 첫 번 째 곳 은 바로 네트워크 카드 의 곳 이다. vi /etc/sysconfig/network-script/ifcfg-eth0 인 터널 HWADDR 값 을 수정 해 야 합 니 다. 이 값 은 mac 주소 이 고 수정 해 야 할 것 은 UUID 입 니 다. ,이것 도 다른 것 으로 바 꾸 고 네트워크 카드 를 다시 시작 해 야 합 니 다.
1. 준비 작업
1) 우선 방화벽 을 닫 고 setenforce 0
2) lvs 서버 로 ipvsadm 설치
yum install ipvsadm -y
2. 네트워크 토폴로지 구축
LVS Director :
:vip
:lvs
vip : 192.168.0.200
:255.255.255.0
: 192.168.0.1
:Bridge
:dip
:lvs
dip : 172.16.100.1
:255.255.0.0
:
:Host-Only
RealServer :
:rip1
:web1
rip1 :172.16.100.10
:255.255.0.0
: 172.16.100.1
:Host-Only
:rip2
:web2
rip1 :172.16.100.11
:255.255.0.0
: 172.16.100.1
:Host-Only
3. RealServer 에 httpd 서 비 스 를 배치 하고 테스트 합 니 다.
httpd , httpd , httpd
[root@web1 ~]# yum -y install httpd
[root@web1 ~]# service httpd start
[root@web1 ~]# echo "RS1-web1 Allentuns.com" > /var/www/html/index.html
[root@web2 ~]# yum -y install httpd
[root@web2 ~]# echo "RS2-web2 Allentuns.com" > /var/www/html/index.html
[root@web2 ~]# service httpd start
httpd OK!
[root@web1 ~]# curl http://localhost RS1-web1 Allentuns.com
[root@web1 ~]# curl http://172.16.100.11 RS2-web2 Allentuns.com
[ ]
4. Director 에 ipvs 서 비 스 를 배치 하고 테스트 합 니 다.
(1) ipvsadm
[root@LVS ~]# yum -y install ipvsadm
(2)
[root@LVS ~]# ipvsadm -A -t 192.168.0.200:80 -s rr #
[root@LVS ~]# ipvsadm -a -t 192.168.0.200:80 -r 172.16.100.10 -m # RealServer
NAT
[root@LVS ~]# ipvsadm -a -t 192.168.0.200:80 -r 172.16.100.11 -m # RealServer NAT
[root@LVS ~]# ipvsadm -L -n # ipvs IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.0.200:80 rr
-> 172.16.100.10:80 Masq 1 0 0
-> 172.16.100.11:80 Masq 1 0 0
[root@LVS ~]# cat /proc/sys/net/ipv4/ip_forward # Linux
0
[root@LVS ~]# echo 1 > /proc/sys/net/ipv4/ip_forward # Linux
[root@LVS ~]# cat /proc/sys/net/ipv4/ip_forward 1
(3) http
[root@LVS ~]# curl http://192.168.0.200/index.html RS2-web2 Allentuns.com # web2
[root@LVS ~]# curl http://192.168.0.200/index.html RS1-web1 Allentuns.com # web1
[root@LVS ~]# curl http://192.168.0.200/index.html RS2-web2 Allentuns.com # web1
[root@LVS ~]# curl http://192.168.0.200/index.html RS1-web1 Allentuns.com # web2
(4) LVS
:
[root@LVS ~]# service ipvsadm save ipvsadm: Saving IPVS table to /etc/sysconfig/ipvsadm: [ ]
:
[root@LVS ~]# ipvsadm -S > /etc/sysconfig/ipvsadm.s1
ipvsadm
[root@LVS ~]# ipvsadm -C
[root@LVS ~]# ipvsadm -L -n IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@LVS ~]# ipvsadm -R < /etc/sysconfig/ipvsadm.s1
[root@LVS ~]# ipvsadm -L -n IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.0.200:80 wrr
-> 172.16.100.10:80 Masq 3 0 0
-> 172.16.100.11:80 Masq 1 0 0
2. DR 모델 구축 의 환경 준비
1. 자신의 가상 컴퓨터 에서 조작 하려 면 리 눅 스 시스템 5 대 를 준비 해 야 합 니 다. 아 날로 그 클 라 이언 트 한 대, 아 날로 그 공유 기 한 대, 아 날로 그 lvs 서버 한 대, 나머지 두 대 는 아 날로 그 realServer 를 배경 서비스 제공 자로 합 니 다.이곳 의 다섯 대의 가상 컴퓨터 가 모두 복제 되 었 다 면 주의해 야 할 것 은 네트워크 카드 설정 정보 에 있 는 HWADDR 과 uid 는 다른 것 과 다 르 게 해 야 한 다 는 것 이다.
2. 네트워크 토폴로지 의 구축 은 저 는 이 단계 가 가장 어렵다 고 생각 합 니 다. 먼저 ip, 네트워크, 경로, 백 스테이지 의 httpd 서 비 스 를 잘 해 야 합 니 다. 이런 것들 을 다 한 후에 lvs 를 설정 하 는 것 이 쉽 습 니 다. 저 는 dr 모델 을 구축 하 는 데 대부분의 시간 을 네트워크 토폴로지 의 구축 에 썼 습 니 다.
3. 구체 적 으로 구축 하 는 내용 이 너무 많 습 니 다. 몇 가지 중요 한 부분 을 말씀 드 리 겠 습 니 다. 제 가 구 덩이 를 밟 았 습 니 다. 첫째, 내부 네트워크 를 모 의 해 야 합 니 다. 클 라 이언 트 의 마스크 와 내부 네트워크 의 마스크 가 똑 같 아야 합 니 다. 이런 점 은 경험 담 입 니 다. 그리고 네트워크 구간 이 다 를 수 있 습 니 다. 예 를 들 어 외부 네트워크 시 뮬 레이 션 등 입 니 다. 192.168.0.22 ,내부 네트워크 시 뮬 레이 션 192.168.30.100 ,그리고 클 라 이언 트 의 네트워크 카드 는 브리지 모드 를 통과 해 야 합 니 다. ,공유 기 는 두 개의 네트워크 카드 가 필요 하 다. 외부 네트워크 와 통 하 는 연결 모드 가 필요 합 니 다. 내부 네트워크 와 통 하 는 것 은 호스트 모드 입 니 다. 그리고 각 네트워크 카드 의 hwaddr 와 uid 는 모두 다 릅 니 다. - 이 점 에서 저 는 깊 은 피 해 를 입 었 습 니 다.
4. 그 다음 에 dr 모드 를 만 듭 니 다.
1) 우선 리 얼 두 대 에서 server 에서 아래 명령 을 실행 합 니 다.
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
2) vip
ip a a vip/32 dev lo
3)lvs
,
4)
ipvsadm -A -t 192.168.30.98:80 -s rr
ipvsadm -a -t 192.168.30.98:80 -r 192.168.30.100 -g
ipvsadm -a -t 192.168.30.98:80 -r 192.168.30.101 -g
5) lvs vip dip
ip a a 192.168.30.98/32 dev eth0
6)
systemctl restart network
7) curl
그 과정 에서 겪 은 저항 들 을 말씀 드 리 겠 습 니 다.
1) 나의 Liux 시스템 은 모두 복 제 된 것 이기 때문에 어떤 네트워크 카드 의 hwaddr 와 uid 는 다 르 게 수정 되 지 않 았 다.
2) 아 날로 그 공유 기의 그 장 치 는 경로 기능 을 켜 야 한다.
echo net.ipv4.ip_forward =1 >> /etc/sysctl.conf
sysctl -p
iptables -vnL
3) 그리고 마지막 에 네트워크 토폴로지 가 설정 되 어 있 는 후에 client 엔 드 가 내부 네트워크 ip 이 통 하지 않 는 것 을 발 견 했 습 니 다. 마지막 으로 lvs 서비스 가 방화벽 이 꺼 지지 않 아서 발생 한 것 입 니 다.
4) 서버 마다 실행 setenforce 0
5) 배 운 명령 들
route add default gw 192.168.30.1 --------------
route -nn
tcpdump -i eth0 -nn port 80 ---------------- , 80
tcpdump -i eth0 -nn icmp ----------------- icmp
httpd ,, /var/www/html vi index.html
httpd systemctl restart httpd
ipvsadm -A -t 192.168.30.98 -s rr
ipvsadm -a -t 192.168.30.98:80 -g dr
lvs ipvsadm -S -n > /etc/sysconfig/ipvsadm
ipvsadm -R < /etc/sysconfig/ipvsadm
ipvsadm -Ln
6) 여 기 는 VIP 서브 넷 마스크 가 32 비트 임 을 주의해 야 한다. 255.255.255.255, 백 엔 드 서버 의 가상 IP 는 lo: 0 에 연결 되 어야 하 며, 동시에 서브 넷 마스크 를 255.255.255.255.255 로 지정 해 야 합 니 다. 그렇지 않 으 면 ARP 비활성화 에 이상 이 발생 할 수 있 습 니 다.
7) vip 가 lvs 서버 에 연결 되 어 있 을 때 eth 0 에 귀속, 로 에 있 을 수 없습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
경험 치:실전 무선 네트워크 구축텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.