31장. 비corosync 노드를 클러스터에 통합: pacemaker_remote 서비스
pacemaker_remote 서비스를 사용하면 노드에서 corosync 를 실행하지 않고 클러스터가 실제 클러스터 노드인 것처럼 해당 리소스를 클러스터에 통합할 수 있습니다.
pacemaker_remote 서비스에서 제공하는 기능은 다음과 같습니다.
-
pacemaker_remote서비스를 사용하면 Red Hat 노드 32개 지원 제한을 초과할 수 있습니다. -
pacemaker_remote서비스를 사용하면 가상 환경을 클러스터 리소스로 관리하고 가상 환경 내의 개별 서비스를 클러스터 리소스로 관리할 수도 있습니다.
다음 용어는 pacemaker_remote 서비스를 설명하는 데 사용됩니다.
-
클러스터 노드 - 고가용성 서비스(
pacemaker및corosync)를 실행하는 노드입니다. -
원격 노드 -
corosync클러스터 멤버십 없이도 클러스터에 원격으로 통합하기 위해pacemaker_remote를 실행하는 노드입니다. 원격 노드는ocf:pacemaker:remote리소스 에이전트를 사용하는 클러스터 리소스로 구성됩니다. -
게스트 노드 -
pacemaker_remote서비스를 실행하는 가상 게스트 노드입니다. 가상 게스트 리소스는 클러스터에서 관리하며 둘 다 클러스터에 의해 시작되고 원격 노드로 클러스터에 통합됩니다. -
pacemaker_remote - Pacemaker 클러스터 환경의 원격 노드 및 KVM 게스트 노드 내에서 원격 애플리케이션 관리를 수행할 수 있는 서비스 데몬입니다. 이 서비스는 corosync를 실행하지 않는 노드에서 원격으로 리소스를 관리할 수 있는 Pacemaker의 로컬 executor 데몬(
pacemaker-execd)의 향상된 버전입니다.
pacemaker_remote 서비스를 실행하는 Pacemaker 클러스터에는 다음과 같은 특징이 있습니다.
-
원격 노드 및 게스트 노드는
pacemaker_remote서비스를 실행합니다(가상 머신 측에 필요한 구성이 거의 없음). -
클러스터 노드에서 실행되는 클러스터 스택(
pacemaker및corosync)은 원격 노드의pacemaker_remote서비스에 연결하여 클러스터에 통합할 수 있습니다. -
클러스터 노드에서 실행되는 클러스터 스택(
pacemaker및corosync)은 게스트 노드를 시작하고 게스트 노드의pacemaker_remote서비스에 즉시 연결하여 클러스터에 통합할 수 있습니다.
클러스터 노드가 관리하는 클러스터 노드와 원격 노드 간의 주요 차이점은 원격 및 게스트 노드가 클러스터 스택을 실행하지 않는다는 것입니다. 즉, 원격 및 게스트 노드에 다음과 같은 제한 사항이 있습니다.
- 쿼럼에서 발생하지 않습니다.
- 펜싱 장치 작업을 실행하지 않습니다.
- 클러스터의 Designated Controller (DC)가 될 수 없습니다.
-
pcs명령의 전체 범위를 자체적으로 실행하지 않습니다.
반면 원격 노드 및 게스트 노드는 클러스터 스택과 관련된 확장성 제한에 바인딩되지 않습니다.
이러한 제한 사항 외에도 원격 및 게스트 노드는 리소스 관리와 관련하여 클러스터 노드와 마찬가지로 작동하며 원격 및 게스트 노드는 자체적으로 펜싱될 수 있습니다. 클러스터는 각 원격 및 게스트 노드에서 리소스를 완전히 관리하고 모니터링할 수 있습니다. 이에 대한 제약 조건을 빌드하거나 대기 상태로 설정하거나 pcs 명령으로 클러스터 노드에서 수행하는 기타 작업을 수행할 수 있습니다. 클러스터 노드에서와 마찬가지로 원격 및 게스트 노드가 클러스터 상태 출력에 표시됩니다.
31.1. pacemaker_remote 노드의 호스트 및 게스트 인증 링크 복사링크가 클립보드에 복사되었습니다!
Pacemaker는 pacemaker 노드와 pacemaker_remote 노드 간의 연결을 보호하는 두 가지 방법을 지원합니다.
- TCP를 통한 사전 공유 키(PSK) 암호화 및 인증을 사용하는 TLS(Transport Layer Security)
- SSL 인증서가 있는 TLS(RHEL 9.6 이상). 이 방법을 사용하면 기존 인증서를 사용하여 연결을 보호할 수 있습니다.
31.1.1. PSK 암호화 사용 TLS 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 노드 add-guest 명령을 사용하여 게스트 노드를 구성하거나 명령을 사용하여 원격 노드를 구성할 때 기본적으로 포트 3121을 사용하여 클러스터 노드와 클러스터 노드 add-remotepacemaker_remote 간의 연결은 사전 공유 키(TLS) 암호화 및 TCP를 통한 인증을 사용하여 보안됩니다. 즉, 클러스터 노드와 pacemaker_remote 를 실행하는 노드 모두 동일한 개인 키를 공유해야 합니다. 기본적으로 이 키는 클러스터 노드와 원격 노드 모두의 /etc/pacemaker/authkey 에 배치해야 합니다.
pcs cluster node add-guest 명령 또는 pcs cluster node add-remote 명령을 처음 실행하면 authkey 를 생성하여 클러스터의 모든 기존 노드에 설치합니다. 나중에 유형의 새 노드를 생성하면 기존 authkey 가 새 노드에 복사됩니다.
31.1.2. SSL/TLS 인증서 구성 링크 복사링크가 클립보드에 복사되었습니다!
X.509(SSL/TLS) 인증서를 사용하여 Pacemaker 원격 연결을 암호화할 수 있습니다. 이 방법을 사용하면 개인 공유 키가 아닌 Pacemaker 원격 연결에 기존 호스트 인증서를 재사용할 수 있습니다.
SSL/TLS 인증서를 구성하려면 pcs cluster node add-guest 명령 또는 pcs cluster node add-remote 명령을 사용하여 원격 연결을 생성합니다. 그런 다음 인증서를 사용하도록 원격 연결을 변환할 수 있습니다.
절차
다음 절차에 따라 Pacemaker 노드와 원격 노드 간의 연결을 보호하기 위해 SSL/TLS 인증서를 구성합니다.
pcs cluster node add-guest명령 또는pcs cluster node add-remote명령을 사용하여 원격 연결을 생성합니다. 이렇게 하면 게스트 노드 또는 원격 노드의authkey가 설정됩니다. 다음 예제 명령은 원격 노드를 생성하고 해당 노드의authkey를 설정합니다.pcs cluster node add-remote remote1
[root@clusternode1 ~]# pcs cluster node add-remote remote1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 원격 노드의 전체 구성 절차는 Pacemaker 원격 노드 구성을 참조하십시오.
모든 클러스터 노드 및 Pacemaker 원격 노드의
etc/sysconfig/pacemaker파일에서 다음 변수를 업데이트하여 SSL/TLS 인증서를 사용하도록 만든 연결을 변환합니다.PCMK_ca_file- 클라이언트 또는 서버 인증서를 확인하는 데 사용되는 신뢰할 수 있는 인증 기관이 포함된 파일의 위치입니다. 이 파일은 PEM 형식이어야 하며hacluster사용자 또는haclient그룹에 대한 읽기 권한을 허용해야 합니다.PCMK_cert_file- 연결 서버 측에 서명된 인증서가 포함된 파일의 위치입니다. 이 파일은 PEM 형식이어야 하며hacluster사용자 또는haclient그룹에 대한 읽기 권한을 허용해야 합니다.PCMK_crl_file(선택 사항) - PEM 형식의 인증서 해지 목록 파일의 위치입니다.PCMK_key_file- 일치하는PCMK_cert_file에 대한 개인 키가 포함된 파일의 위치입니다( PEM 형식). 이 파일은 PEM 형식이어야 하며hacluster사용자 또는haclient그룹에 대한 읽기 권한을 허용해야 합니다.-
선택적으로 클러스터 및 원격 노드에서
/etc/pacemaker/authkey파일을 제거합니다. 인증서가 구성된 경우 Pacemaker에서 인증서를 사용하지만authkey파일을 제거하면 노드에서 인증서를 구성하는 데 소홀한 경우 Pacemaker에서 PSK 암호화를 사용하지 않습니다.