Keepalived + Lvs + Nginx 고가 용 클 러 스 터 부하 구축
14574 단어 NginxKeepalivedLVS
1. LVS - DR 모드 구축 - ipvsadm 설정
1.1 초기 준비
systemctl stop NetworkManager
systemctl disable NetworkManager
#
cd /etc/sysconfig/network-script/
#
cp ifcfg-ens33 ifcfg-ens33:1
ifcfg - ens 33: 1 숫자 1 은 별명 으로 임의로 이름 을 지 을 수 있 습 니 다.
1.3. 하위 인터페이스 설정 을 수정 합 니 다. 설정 은 다음 과 같 습 니 다.
vim ifcfg-ens33:1
DEVICE="ens33:1"
ONBOOT="yes"
IPADDR=192.168.64.120
NETMASK=255.255.255.0
BOOTPROTO="static"
192.168.64.120 은 가상 ip 로 외부 네트워크 사용자 에 게 방문 할 수 있 는 ip 주소 이 고 이 치 는
nginx-keepalived
의 가상 ip 과 같다.1.4. 네트워크 서 비 스 를 다시 시작 하거나 Liux 를 다시 시작 합 니 다.
service network restart
ip addr 는 자신 이 만 든 가상 ip 을 볼 수 있 습 니 다.
1.5, 설치 ipvsadm
yum install ipvsadm
#
ipvsadm -Ln
2. LVS - DR 모드 구축 - RS 2 대 에 가상 ip 설정
2.1 가상 네트워크 서브 인터페이스 설정
#
cd /etc/sysconfig/network-scripts/
#
cp ifcfg-lo ifcfg-lo:1
#
vim ifcfg-lo:1
#
DEVICE=lo:1
IPADDR=192.168.64.150
NETMASK=255.255.255.255
... ( )
2.2 네트워크 새로 고침 후 가상 ip 보기
service network restart
ip addr
다른 서버 처럼 설정
3. LVS - DR 모드 구축 - RS 2 대 에 arp 설정
ARP 응답 단계 와 알림 행위 의 개념
1. arp - ignore: arp 해당 단계 (처리 요청)
3.1.1 sysctl. conf 열기
vim /etc/sysctl.conf
3.1.2 모든 네트워크 카드, 기본 네트워크 카드 와 가상 네트워크 카드 의 arp 응답 등급 과 알림 행 위 를 설정 하고 각각 대응 합 니 다.
all、default、lo
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
3.1.3 설정 파일 새로 고침
sysctl -p
3.1.4 게 이 트 웨 이 를 추가 하여 데이터 메 시 지 를 받 는 데 사용 하고 본 컴퓨터 에 요청 한 후에 lo 에 게 처리 할 것 입 니 다.
route add -host 192.168.64.120 dev lo:1
#
route -n
3.1.5 서버 재 부팅 후 효력 을 잃 지 않도록 다음 과 같이 처리 합 니 다.
echo "route add -host 192.168.64.120 dev lo:1" >> /etc/rc.local
# /etc/rc.local
4. LVS - DR 모드 구축 - ipv sadm 클 러 스 터 규칙 설정
4.1 LVS 노드 를 만 들 고 사용자 가 방문 하 는 클 러 스 터 스케줄 러
ipvsadm -A -t 192.168.64.120:80 -s rr
제시 하 다.
ipvsadm -a -t 192.168.64.120:80 -r 192.168.64.131:80 -g
ipvsadm -a -t 192.168.64.120:80 -r 192.168.64.131:80 -g
제시 하 다.
ipvsadm -S
4.4. 클 러 스 터 검사
ipvsadm -Ln
ipvsadm -Ln --stats
service ipvsadm restart
ipvsadm -Ln --persistent --conn
ipvsadm -Lnc
ipvsadm --set 1 1 1
ipvsadm -Ln --timeout
ipvsadm -h
man ipvsadm
5. Keepalived + Lvs + Nginx 높 은 사용 가능 한 클 러 스 터 부하 균형 구축
준비 작업
global_defs {
# id: keepalived ,
router_id LVS_192.168.64.133
}
#
vrrp_instance VI_1 {
# , 192.168.64.133 nginx
# :MASTER, :BACKUP
state MASTER
#
interface ens33
#
virtual_router_id 55
# / , , MASTER , MASTER
priority 100
# , 1s
advert_int 1
# ,
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.64.120
}
}
# IP+ , nginx , 80
virtual_server 192.168.64.120 80 {
# , :
delay_loop 6
# ,
lb_algo rr
# LVS NAT|TUN|DR
lb_kind DR
#
persistence_timeout 10
# -t
protocol TCP
# , nginx ip
real_server 192.168.64.131 80 {
# 1
weight 1
#
TCP_CHECK {
# 80
connect_port 80
# 2s
connect_timeout 2
# 2
nb_get_retry 2
# 3s
delay_before_retry 3
}
}
real_server 192.168.64.132 80 {
# 1
weight 1
#
TCP_CHECK {
# 80
connect_port 80
# 2s
connect_timeout 2
# 2
nb_get_retry 2
# 3s
delay_before_retry 3
}
}
}
5.2, 두 번 째 Lvs 서버 설정
global_defs {
# id: keepalived ,
router_id LVS_192.168.64.134
}
#
vrrp_instance VI_1 {
# , 192.168.64.134 nginx
# :MASTER, :BACKUP
state BACKUP
#
interface ens33
#
virtual_router_id 55
# / , , MASTER , MASTER
priority 50
# , 1s
advert_int 1
# ,
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.64.120
}
}
# IP+ , nginx , 80
virtual_server 192.168.64.120 80 {
# , :
delay_loop 6
# ,
lb_algo rr
# LVS NAT|TUN|DR
lb_kind DR
#
persistence_timeout 10
# -t
protocol TCP
# , nginx ip
real_server 192.168.64.131 80 {
# 1
weight 1
#
TCP_CHECK {
# 80
connect_port 80
# 2s
connect_timeout 2
# 2
nb_get_retry 2
# 3s
delay_before_retry 3
}
}
real_server 192.168.64.132 80 {
# 1
weight 1
#
TCP_CHECK {
# 80
connect_port 80
# 2s
connect_timeout 2
# 2
nb_get_retry 2
# 3s
delay_before_retry 3
}
}
}
5.3 주종 을 시작 하 는 Keepalived
#
cd /usr/local/keepalived/sbin
# keepalived
./keepalived
5.4, Lvs 상황 보기
# ( )
ipvsadm -C
#
ipvsadm -Ln
#
ipvsadm -Lnc
#
ipvsadm -Ln --stats
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
linux2에 nginx 설치설치 가능한 nginx를 확인하고, 해당 nginx를 설치한다. localhost 혹은 해당 ip로 접속을 하면 nginx 화면을 볼 수 있다....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.