Linux 클러스터: LVS 로드 밸런싱 클러스터 구축(2)
1. DR 모드 LVS 구축
1. 준비 작업
2. dir에서 스크립트 작성
[root@zlinux-01 ~]# vim /usr/local/sbin/lvs_dr.sh
#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/usr/sbin/ipvsadm
vip=192.168.242.110
rs1=192.168.242.129
rs2=192.168.242.130
#ifdown ifup ,
# , IP
ifdown ens33
ifup ens33
#
ifconfig ens33:2 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev ens33:2
$ipv -C
$ipv -A -t $vip:80 -s rr
$ipv -a -t $vip:80 -r $rs1:80 -g -w 1
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1
[root@zlinux-01 ~]# sh /usr/local/sbin/lvs_dr.sh
'ens33'。
(D-Bus :/org/freedesktop/NetworkManager/ActiveConnection/2)
3,rs에서 스크립트 작성(두 개의 내용이 같다)
[root@zlinux-02 ~]# vim /usr/local/sbin/lvs_dr_rs.sh
#!/bin/bash
vip=192.168.242.110
ifdown lo
ifup lo
# vip lo , rs
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
# arp , rs mac
# www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html
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
[root@zlinux-02 ~]# sh /usr/local/sbin/lvs_dr_rs.sh
4. 테스트
저는 여기서 네 번째 가상 기기로 테스트를 했습니다. 없으면 브라우저에 VIP 주소 테스트를 직접 입력할 수 있습니다.
[root@zlinux-04 ~]# curl 192.168.242.110
LVS-zlinux03
[root@zlinux-04 ~]# curl 192.168.242.110
LVS-zlinux02
[root@zlinux-04 ~]# curl 192.168.242.110
LVS-zlinux03
[root@zlinux-04 ~]# curl 192.168.242.110
LVS-zlinux02
[root@zlinux-04 ~]# curl 192.168.242.110
LVS-zlinux03
2. keepalived+LVS
전체 구조는 두 대의 서버(역할은dir)가 각각keepalived 소프트웨어를 설치해야 하는데 그 목적은 고가용을 실현하는 것이지만keepalived 자체도 부하 균형 기능이 있기 때문에 이번 실험은keepalived 한 대만 설치할 수 있다.keepalived에는 ipvsadm의 기능이 내장되어 있기 때문에 ipvsadm 패키지를 더 이상 설치할 필요가 없고 그 lvs_를 작성하고 실행할 필요가 없습니다dir의 스크립트입니다.
1. 준비 작업
주keepalived(스케줄러dir): 192.168.242.128 실제 서버rs1:192.168.242.129, 스위치 복구는 이전의 원시 스위치 실제 서버rs2:192.168.242.130, 스위치 복구는 이전의 원시 스위치 VIP:192.168.242.110
2. keepalived 설정을 수정하여 가격을 묻는다
[root@zlinux-01 ~]# cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak //
[root@zlinux-01 ~]# > /etc/keepalived/keepalived.conf //
[root@zlinux-01 ~]# vim /etc/keepalived/keepalived.conf //
vrrp_instance VI_1 {
# BACKUP
state MASTER
interface ens33
virtual_router_id 51
# 90
priority 100
auth_pass zlinux
}
virtual_ipaddress {
192.168.242.110
}
}
virtual_server 192.168.242.110 80 {
#( 10 realserver )
delay_loop 10
#(lvs )
lb_algo wlc
#(DR )
lb_kind DR
#( IP 60 realserver)
persistence_timeout 0
#( TCP realserver )
protocol TCP
real_server 192.168.242.129 80 {
#( )
weight 100
TCP_CHECK {
#(10 )
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.242.130 80 {
weight 100
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
3. keepalived 시작
[root@zlinux-01 ~]# ipvsadm -C // , LVS
[root@zlinux-01 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@zlinux-01 ~]# systemctl start keepalived //
[root@zlinux-01 ~]# ps aux | grep keep
root 3406 0.0 0.0 120720 1404 ? Ss 18:21 0:00 /usr/sbin/keepalived -D
root 3407 0.0 0.1 127464 3324 ? S 18:21 0:00 /usr/sbin/keepalived -D
root 3408 0.0 0.1 131656 2848 ? S 18:21 0:00 /usr/sbin/keepalived -D
root 3414 0.0 0.0 112680 976 pts/0 R+ 18:25 0:00 grep --color=auto keep
두 대rs에서 실행해야 합니다sh /usr/local/sbin/lvs_dr_rs.sh
4. 테스트
검사 방법 1: 브라우저에서 VIP를 입력합니다192.168.242.110
그리고 일부러 rs의 Nginx 서비스를 멈추고 브라우저를 새로 고쳐서 결과를 봅니다.검사 방법 2: 스케줄러에서 관련 명령을 실행하고 연결 수를 확인합니다.[root@zlinux-01 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.242.110:80 wlc
-> 192.168.242.129:80 Route 100 0 0
[root@zlinux-01 ~]# ipvsadm -ln // Nginx , ,
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.242.110:80 wlc
-> 192.168.242.129:80 Route 100 0 0
-> 192.168.242.130:80 Route 100 1 0
다음으로 전송:https://blog.51cto.com/3069201/2097093
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
[root@zlinux-01 ~]# cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak //
[root@zlinux-01 ~]# > /etc/keepalived/keepalived.conf //
[root@zlinux-01 ~]# vim /etc/keepalived/keepalived.conf //
vrrp_instance VI_1 {
# BACKUP
state MASTER
interface ens33
virtual_router_id 51
# 90
priority 100
auth_pass zlinux
}
virtual_ipaddress {
192.168.242.110
}
}
virtual_server 192.168.242.110 80 {
#( 10 realserver )
delay_loop 10
#(lvs )
lb_algo wlc
#(DR )
lb_kind DR
#( IP 60 realserver)
persistence_timeout 0
#( TCP realserver )
protocol TCP
real_server 192.168.242.129 80 {
#( )
weight 100
TCP_CHECK {
#(10 )
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.242.130 80 {
weight 100
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
[root@zlinux-01 ~]# ipvsadm -C // , LVS
[root@zlinux-01 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@zlinux-01 ~]# systemctl start keepalived //
[root@zlinux-01 ~]# ps aux | grep keep
root 3406 0.0 0.0 120720 1404 ? Ss 18:21 0:00 /usr/sbin/keepalived -D
root 3407 0.0 0.1 127464 3324 ? S 18:21 0:00 /usr/sbin/keepalived -D
root 3408 0.0 0.1 131656 2848 ? S 18:21 0:00 /usr/sbin/keepalived -D
root 3414 0.0 0.0 112680 976 pts/0 R+ 18:25 0:00 grep --color=auto keep
[root@zlinux-01 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.242.110:80 wlc
-> 192.168.242.129:80 Route 100 0 0
[root@zlinux-01 ~]# ipvsadm -ln // Nginx , ,
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.242.110:80 wlc
-> 192.168.242.129:80 Route 100 0 0
-> 192.168.242.130:80 Route 100 1 0
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.