이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 10723|회답: 1

【실용적 행동】Keepalived와 Nginx를 위한 웹 고가용성 튜토리얼

[링크 복사]
게시됨 2021. 10. 18. 오후 11:08:11 | | | |
보관 소프트웨어는 주로 VRRP 프로토콜을 통해 고가용성 기능을 구현합니다. VRRP는 Virtual Router Redundancy Protocol의 약자로, VRRP는 정적 경로의 단일 지점 장애 문제를 해결하기 위해 설계되었으며, 개별 노드가 다운되더라도 전체 네트워크가 끊김 없이 작동할 수 있도록 보장합니다. 따라서 Keepalived는 LVS 구성 및 관리 기능을 수행하며, LVS 하에서 노드의 건강 상태를 점검하는 기능도 가지고 있으며, 한편으로는 시스템 네트워크 서비스의 고가용성 기능도 구현할 수 있습니다.

보관 고가용성 장애 조치 원칙

고가용성 서비스 쌍 간의 유지형 장애 조치는 VRRP(가상 라우터 중복 프로토콜)를 통해 구현됩니다.

Keepalived 서비스가 정상적으로 작동할 때, 마스터 노드는 백업 노드가 아직 살아 있음을 알리기 위해 스탠바이 노드에 지속적으로 하트비트 메시지를 전송합니다(멀티캐스트). 마스터 노드가 실패하면 하트비트 메시지를 보낼 수 없으므로 스탠바이 노드는 더 이상 마스터 노드의 하트비트를 감지할 수 없고, 스탠바이 노드는 자체 인수(takeover) 프로그램을 호출하여 마스터 노드의 IP 자원과 서비스를 인수합니다. 주 마스터 노드가 복원되면, 백업 노드는 마스터 노드가 인수한 IP 자원과 서비스를 해제하고 원래의 대기 상태로 복원합니다.

유지된 고가용성 쌍은 VRRP를 통해 서로 통신합니다

1) VRRP, 즉 Virtual Router Redundancy Protocol의 정식 명칭으로, 중국어명은 Virtual Route Redundancy Protocol이며, VRRP는 정적 경로의 단일 고장 지점 문제를 해결하기 위해 등장했습니다.
2) VRRP는 VRRP 라우터에 라우팅 작업을 부여하는 캠페인 프로토콜 메커니즘입니다.
3) VRRP는 IP 멀티캐스트를 사용합니다 (기본 멀티캐스트 주소 (224.0.0.18)) 는 고가용성 쌍 간의 통신을 가능하게 합니다.
4) 마스터 노드가 패킷을 보내고 대기 노드가 패킷을 받으면, 대기 노드가 마스터 노드가 전송한 데이터 패킷을 받을 수 없을 때, 마스터 노드의 자원을 인수하기 위해 탈취 프로그램이 시작됩니다. 여러 대기 노드가 있을 수 있으며, 우선순위 경쟁을 통해 선정되지만, 일반적으로 Keepaled 시스템의 운영 및 유지보수에는 쌍이 존재합니다.
5) VRRP는 암호화 프로토콜을 사용해 데이터를 암호화하지만, Keepalived 관계자들은 인증 유형과 비밀번호를 설정할 때 평문을 사용할 것을 여전히 권장합니다.

키팔리비드 서비스 작동 방식

1) 보존된 고가용성 페어는 VRRP를 통해 통신하며, VRRP는 캠페인 메커니즘을 통해 결정됩니다. 마스터의 우선순위가 대기보다 높으므로 작업 시 마스터가 모든 자원을 우선적으로 확보합니다. 대기 노드는 대기 상태에 있으며, 마스터가 멈추면 대기 노드가 마스터 노드의 자원을 인수한 후 마스터 노드를 대체하여 외부 세계에 서비스를 제공합니다.

2) 유지된 서비스 쌍 사이,항상 전송하는 서버는 마스터 서버뿐입니다VRRP방송 패키지마스터가 사용 불가능, 즉 호스트가 마스터가 전송한 방송 패키지를 들을 수 없을 때, 관련 서비스가 자원을 인수하여 비즈니스 연속성을 보장합니다. 가장 빠른 점령 속도는 1초 미만일 수 있습니다.

테스트 환경

시스템: CentOS 8

IP 주소설명
192.168.50.222VIP 연설
192.168.50.227마스터 마스터 노드
192.168.50.131백업 대기 노드

완성된 렌더링을 다음과 같이 살펴보겠습니다:


Nginx 서비스를 설치하세요

얌을 직접 사용하세요마스터노드그리고대체 노드서버는 다음 명령어로 nginx를 설치합니다:


기본 노드와 대기 노드의 nginx 구성 파일을 별도로 편집하세요, 경로:/etc/nginx/nginx.conf구성은 다음과 같습니다:



nginx 명령어로 시작, 다음 이미지에 나와 같이 브라우저를 통해 포트 8055 접근을 테스트합니다:



Install Keepalived
기본 노드와 대기 노드 모두에 설치하려면 명령어는 다음과 같습니다:




프로필 주소:/etc/keepalived/keepalived.conf



여기서는 건강 체크 스크립트를 구성하고 새로 만들어야 합니다chk_nginx.sh파일, 코드는 다음과 같습니다:

스크립트를 /etc/keepalived 디렉터리에 업로드하세요. 실행 권한을 다음과 같이 부여합니다:



192.168.50.227 기본 노드 keepalived.conf 구성다음과 같습니다:

192.168.50.133 대체 노드 keepalived.conf 구성다음과 같습니다:

두 서버에 각각 부팅과 부팅을 설정하세요



지금까지구성이 완료되었습니다(렌더링은 문서 상단을 참조하세요)는 nginx 서비스를 통해 다음 명령어로 테스트할 수 있습니다:

(끝)




이전의:OpenFeign connect 시간 초과 실행 예외
다음:우연히 발견한 장소들
 집주인| 게시됨 2021. 11. 20. 오전 9:05:11 |
keepalived를 사용해 액티브-액티브 고가용성과 연결된 패시브 노드를 구성하세요https://docs.nginx.com/nginx/adm ... a-keepalived-nodes/
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com