내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
lvs 클러스터의 고가용성 아키텍처는 스케줄러의 고가용성만을 위한 것입니다.
vrrp를 기반으로 메인 및 백업 스케줄러 구현
고가용성 HA 아키텍처
메인 스케줄러 및 백업 스케줄러(백업 스케줄러가 여러 개 있을 수 있음)
스케줄러가 정상적으로 작동하면 장비는 완전히 중복됩니다(대기). 클러스터 작업에는 참여하지 않으며, 메인 스케줄러가 실패한 경우에만 백업이 메인 스케줄러의 작업을 대신합니다. 메인 스케줄러가 기능을 복구한 후에도 마스터는 계속해서 클러스터의 입구 역할을 합니다. , 백업은 계속 중복 상태로 유지됩니다(우선순위에 따라).
Keepalive는 LVS 고가용성 솔루션을 구현하기 위해 vrrp 프로토콜을 기반으로 합니다.
1. 멀티캐스트 주소:
224.0.0.18은 멀티캐스트 주소를 기반으로 통신합니다. 기본 및 보조 장치는 상대방이 살아 있는지 확인하기 위해 메시지를 보냅니다.
2. 우선순위에 따라 기본 위치와 보조 위치를 결정합니다.
3. 장애 조치, 기본 머신이 중단되면 백업 머신이 계속 작동하고 마스터 머신이 복구되면 백업 머신이 계속 대기합니다.
4. 기본과 보조 사이의 전환은 VIP 주소의 전환입니다.
Keepalive는 LVS용으로 특별히 나타나지만 LVS 전용은 아닙니다.
핵심 모듈: 주요 프로세스의 시작 및 유지 관리와 전역 구성 파일 로드를 담당하는 keepalive의 핵심 모듈입니다.
vrrp 모듈: 주요 기능 모듈인 vrrp 프로토콜을 구현하는 모듈
check 모듈: Health Check를 담당하며, 백그라운드에서 실제 서버의 상태도 확인할 수 있습니다.
이전 장의 DR 모드 실험을 기반으로 몇 가지 구성을 추가합니다. 이번에는 기본 스케줄러와 백업 스케줄러 두 개가 사용됩니다.
먼저 스케줄러에 keepalive를 설치하십시오.
yum -y install keepalived
설치가 완료된 후
keepalived.conf 파일을 변경해 보겠습니다.
- [root@test1 ~]# vim /etc/keepalived/keepalived.conf
- notification_email_from [email protected]
- smtp_server 127.0.0.1
- smtp_connect_timeout 30
- router_id LVS_01
- vrrp_skip_check_adv_addr
- vrrp_strict
- vrrp_garp_interval 0
- vrrp_gna_interval 0
- vrrp_iptables
- }
-
- vrrp_instance VI_1 {
- state MASTER
- interface ens33
- virtual_router_id 51
- priority 120
- advert_int 1
- authentication {
- auth_type PASS
- auth_pass 1111
- }
- virtual_ipaddress {
- 192.168.124.100
- }
- }
-
- virtual_server 192.168.124.100 80 {
- delay_loop 6
- lb_algo rr
- lb_kind DR
- persistence_timeout 50
- protocol TCP
-
- real_server 192.168.124.40 80 {
- weight 1
- TCP_CHECK {
- connect_port 80
- connect_timeout 3
- nb_get_retry 3
- delay_before_retry 3
- }
- }
-
- real_server 192.168.124.50 80 {
- 9,1 36%
첫 번째 스케줄러의 구성 파일을 두 번째 스케줄러에 복사합니다.
- scp root@192.168.233.10:/etc/keepallved/keepallved.conf
- /etc/keepallved
그런 다음 구성을 변경하십시오.
기본 및 보조 우선순위
iptables 옵션 추가
이런 방식으로 Keepalive 규칙에 대한 액세스는 ipetables 규칙 테이블에서 중지되지 않습니다.
- [root@localhost ~]# 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.124.100:80 rr persistent 50
- -> 192.168.124.40:80 Route 1 0 0
- -> 192.168.124.50:80 Route 1 0 0
확인 해봐
그런 다음 모든 것을 다시 시작하십시오.
클라이언트 결과를 살펴보세요
먼저 메인 스케줄러를 종료하자
stsemctl stop keepalived.servers
백업 스케줄러는 마스터의 작업을 이어받아 계속 작동합니다.
준비된 스케줄러에 업로드된 VIP 주소입니다.
계속 액세스할 수 있음
Keepalived에는 주로 코어(주 프로세스 시작, 유지 관리 및 전역 구성 파일 로드 및 분석을 담당하는 핵심 모듈), 검사(상태 확인 모듈) 및 vrrp(vrrp 프로토콜 구현)의 세 가지 모듈이 있습니다.
Keepalived의 작동 원리는 VRRP 프로토콜을 기반으로 합니다. 동일한 기능을 제공하는 여러 서버는 마스터와 여러 백업이 있는 서버 그룹으로 구성됩니다. 마스터에는 외부 세계에 서비스를 제공하는 VIP가 있습니다(서버가 위치한 LAN의 다른 시스템의 기본 경로는 이 VIP입니다). 백업이 VRRP 패킷을 수신할 수 없으면 마스터가 멀티캐스트를 보냅니다. 마스터가 다운되었다고 생각하고 VRRP 레벨의 우선순위에 따라 새 마스터가 될 백업을 선택합니다.
LVS + Keepalived를 구성할 때 일반적으로 마스터 및 백업 노드에 관련 소프트웨어(예: ipvsadm, keepalived)를 설치하고 keepalived.conf 파일을 구성해야 합니다. 예를 들어 마스터 노드의 구성 파일에는 마스터로 상태(state), 네트워크 인터페이스(interface), 가상 경로 ID(virtual_router_id), 우선 순위(priority), 광고 간격(advert_int), 인증 정보를 지정해야 합니다. (인증) 그리고 가상 IP 주소(virtual_ipaddress) 등은 백업 노드의 구성과 유사하지만 상태는 백업이고 일반적으로 마스터보다 우선순위가 낮습니다.
구성이 완료된 후 고가용성 로드 밸런싱을 달성하려면 keepalived 서비스를 다시 시작하십시오. 마스터 노드에 장애가 발생하면 VIP는 자동으로 백업 노드로 전환하여 마스터가 복구된 후 서비스에 대한 정상적인 액세스를 보장하고 다시 기본 로드 노드 역할을 합니다. 또한 실제 서버(rs)도 이에 따라 구성할 수 있습니다. 예를 들어 DR 모델을 사용하여 통신하는 경우 lo는 rs의 네트워크 카드에서 VIP로 구성되어야 합니다.
이러한 방식으로 LVS + Keepalived 조합은 다음과 같은 목표를 달성할 수 있습니다. 클라이언트는 VIP를 통해 서비스에 액세스하고 마스터의 로드 밸런싱 노드에 장애가 발생하면 구성 규칙에 따라 요청이 분산되며 자동으로 백업으로 전환됩니다. 서비스가 정상인지 확인하기 위한 노드; 특정 rs가 실패할 때 노드는 자동으로 제거될 수 있으며 복구 후 다시 클러스터에 추가될 수 있습니다.
실제 애플리케이션에서는 Keepalived 구성 파일의 virtual_ipaddress로 구성된 IP 주소가 동일한 네트워크 세그먼트에 있어야 하며 우선 순위 값이 높을수록 노드가 마스터가 될 확률이 높아지는 등 관련 사항에 주의해야 합니다. 노드; advert_int 값이 작을수록 노드가 VRRP 메시지를 보낼 확률이 높아집니다. 동시에 전체 시스템의 안정성과 효율적인 운영을 보장하기 위해서는 네트워크 환경, 서버 성능 등의 요소도 고려해야 합니다.