Date: 8월 18, 2022
SIOS LifeKeeper 및 Google Cloud용 일반 로드 밸런서 키트 소개
이것은 논의 할 것입니다 일반 로드 밸런서 애플리케이션 복구 키트 (ARK) Linux용 SIOS Lifekeeper 및 특히 Google Cloud에서 구성하는 방법 SIOS ARK는 플랫폼 또는 애플리케이션 인식을 추가하는 SIOS LifeKeeper 제품에 대한 플러그인입니다.
이 블로그는 2노드 NFS 클러스터를 사용하는 방법과 이들이 제공하는 NFS 내보내기가 로드 밸런서를 통해 궁극적으로 액세스할 수 있는 방법을 보여줍니다.
SIOS는 SIOS LifeKeeper에서 클라이언트 리디렉션을 용이하게 하기 위해 이 ARK를 만들었습니다. GCP에서 실행되는 클러스터 .
GCP는 라우터 자체 IP 주소에 대한 브로드캐스트 요청인 무상 ARP를 지원하지 않기 때문에 클라이언트는 기존 클러스터 가상 IP 주소에 직접 연결할 수 없습니다. 대신 클라이언트는 로드 밸런서에 연결해야 하며 로드 밸런서는 트래픽을 활성 클러스터 노드로 리디렉션합니다. GCP는 레이어 4 TCP, 레이어 4 UDP 또는 레이어 7 HTTP/HTTP에서 작동하는 별도의 로드 밸런서 솔루션을 구현합니다. 로드 밸런서는 다음을 결정할 수 있는 상태 프로브인 비공개 또는 공개 프런트엔드 IP를 갖도록 구성할 수 있습니다. 노드가 활성 상태이고 일련의 백엔드 IP 주소(클러스터의 각 노드에 대해) 및 수신/발신 네트워크 트래픽 규칙입니다.
일반적으로 상태 프로브는 애플리케이션의 활성 포트를 모니터링하고 해당 애플리케이션이 활성 상태인 노드를 결정합니다. SIOS 일반 로드 밸런서 ARK는 활성 노드가 사용자 정의 포트에서 수신 대기하도록 구성됩니다. 그런 다음 이 포트는 GCP 부하 분산기에서 상태 프로브 포트로 구성됩니다. 이렇게 하면 활성 클러스터 노드가 TCP 상태 확인 프로브에 응답하여 자동 클라이언트 리디렉션을 활성화할 수 있습니다.
GCP의 설치 및 구성은 간단하고 아래에 자세히 설명되어 있습니다.
GCP 포털 내에서 부하 분산 선택 이 인스턴스에서 우리는 TCP 로드 밸런싱을 원합니다. 로드 밸런서를 만들고 이름과 함께 배포할 리소스 그룹을 선택합니다. 저는 클러스터 유형과 일치하는 이름을 사용하고 싶습니다. 예를 들어 IMA-NFS-LB와 함께 로드 밸런서를 사용하면 두 IMA-NFS 노드 앞에 배치됩니다.
이것이 인터넷 연결인지 VPC 내부인지 결정할 수 있습니다. 이 경우 내 VPC 내에서만 사용하기 위해 내 NFS 서버를 전면에 내도록 내부 전용 로드 밸런서를 구성하고 있습니다.
이름, 지역 등이 무엇인지 결정하면 백엔드 구성을 할당하라는 메시지가 표시되며, 이를 위해서는 프런트엔드할 HA 노드가 포함된 인스턴스 그룹이 필요합니다.
인스턴스 그룹을 할당했으면 상태 확인을 정의합니다. 이것은 Lifekeeper 일반 로드 밸런서 구성에서 사용할 포트와 일치하는 포트입니다. 이 경우에는 54321을 사용하고 있습니다. 다시 말하지만 포트 번호는 Lifekeeper와 함께 사용되므로 주의하십시오.
건강 기준의 기본값을 그대로 사용했습니다.
로드 밸런서에 대한 백엔드 구성 정보 및 상태 확인이 입력되면 프론트엔드 구성을 정의해야 합니다. 이는 로드 밸런서에 대해 생성하려는 서브넷, 리전 및 IP로 구성됩니다.
당신은 당신의 IP를 구성할 것이고 이것은 당신이 보호하고 있는 Lifekeeper IP와 일치할 것입니다.
구성에 만족하면 구성을 검토하거나 간단히 만들기를 클릭할 수 있습니다.
"만들기"를 선택하면 GCP가 로드 밸런서 배포를 시작합니다. 이 작업에는 몇 분이 소요될 수 있으며 완료되면 구성이 SIOS Protection Suite로 이동합니다.
SIOS 보호 제품군으로 구성
이 블로그에서는 SPS-L을 사용하여 보호하도록 3개의 NFS 내보내기를 구성했으며, 3개의 내보내기는 GCP 부하 분산기의 프런트엔드 IP와 동일한 IP를 사용하도록 구성했습니다. 나는 사용하고있다 데이터 키퍼 내보내기에 저장된 데이터를 복제합니다.
첫 번째 단계는 스크립트를 얻는 것입니다. 가장 간단한 방법은 wget을 사용하는 것이지만 winscp 또는 유사한 도구를 사용하여 전체 패키지를 다운로드하고 rpm을 노드에 직접 업로드할 수도 있습니다. Lifekeeper 클러스터의 모든 노드에 핫픽스를 설치해야 합니다.
전체 복구 키트는 여기에서 얻을 수 있습니다. http://ftp.us.sios.com/pickup/LifeKeeper_Linux_Core_en_9.5.1/patches/Gen-LB-PL-7172-9.5.1 wget으로 부품을 찾을 수 있습니다. wget http://ftp.us.sios.com/pickup/Gen-LB-PL-7172-9.5.1/steeleye-lkHOTFIX-Gen-LB-PL-7172-9.5.1-7154.x86_64.rpm wget http://ftp.us.sios.com/pickup/Gen-LB-PL-7172-9.5.1/steeleye-lkHOTFIX-Gen-LB-PL-7172-9.5.1-7154.x86_64.rpm.md5sum wget http://ftp.us.sios.com/pickup/Gen-LB-PL-7172-9.5.1/Gen-LB-readme.txt 다운로드가 완료되면 FTP 사이트에 기록된 값과 MD5 합계를 확인합니다.
다음과 같이 RPM을 설치합니다. rpm -ivh 스틸아이-lkHOTFIX-Gen-LB-PL-7172-9.5.1-7154.x86_64.rpm 다음을 실행하여 설치가 성공했는지 확인하십시오. rpm -qa | grep steeleye-lkHOTFIX-Gen-LB-PL-7172 어떤 이유로 RPM을 제거해야 하는 경우 다음을 실행하여 수행할 수 있습니다. rpm -e steeleye-lkHOTFIX-Gen-LB-PL-7172-9.5.1-7154.x86_64 아래는 이미 구성한 세 가지 NFS 내보내기를 보여주는 GUI입니다. 내에서 우리가 해야 할 일 SIOS 보호 제품군 SIOS에서 제공하는 Hotfix 스크립트를 사용하여 Load Balancer를 정의합니다.
먼저 새 리소스 계층을 만들고 드롭다운에서 일반 응용 프로그램을 선택합니다. /opt/Lifekeeper/SIOS_Hotfixes/Gen-LB-PL-7172/에 있는 restore.pl 스크립트를 정의합니다. /opt/Lifekeeper/SIOS_Hotfixes/Gen-LB-PL-7172/에 있는 remove.pl 스크립트를 정의하십시오. /opt/Lifekeeper/SIOS_Hotfixes/Gen-LB-PL-7172/에 있는 quickCheck 스크립트를 정의하십시오. 로컬 복구 스크립트가 없으므로 이 입력을 지워야 합니다. 애플리케이션 정보를 묻는 메시지가 표시되면 Healthcheck 포트에서 구성한 것과 동일한 포트 번호(예: 54321)를 입력하려고 합니다. 서비스가 생성되면 서비스를 제공하도록 선택할 것입니다. 리소스 태그는 SPS-L GUI에 표시되는 이름입니다. 저는 쉽게 식별할 수 있는 이름을 사용하고 싶습니다. 모든 것이 올바르게 구성된 경우 "END 성공적인 복원"이 표시되면 리소스를 두 노드 중 하나에서 호스팅할 수 있도록 이를 다른 노드로 확장할 수 있습니다.
두 노드로 확장한 후 완료된 로드 밸런서 구성을 보여줍니다. 이 클러스터의 마지막 단계는 세 가지 NFS 내보내기에 대한 하위 종속성을 생성하는 것입니다. 즉, Datakeeper 미러 및 IP로 완료된 모든 NFS 내보내기는 로드 밸런서에 의존합니다. 활성 노드에서 심각한 문제가 발생하면 이러한 모든 리소스가 다른 작동 중인 노드로 장애 조치됩니다.
위의 Lifekeeper GUI에서 완성된 계층 구조입니다. 아래는 NFS 내보내기, IP, 파일 시스템 및 DataKeeper 복제 볼륨을 로드 밸런서 리소스의 자식으로 보여주는 확장된 GUI 보기를 보여줍니다.
이것은 GCP에서 SIOS LifeKeeper를 사용하여 간단한 NFS 클러스터를 보호하는 방법의 한 예일 뿐입니다. 보호해야 하는 모든 비즈니스 크리티컬 애플리케이션에도 동일한 개념이 적용됩니다. GCP 로드 밸런서(인터넷 또는 내부)가 현재 애플리케이션을 호스팅하는 노드를 결정할 수 있도록 SIOS에서 제공하는 로드 밸런서 ARK를 활용하기만 하면 됩니다.