* 클러스터 멤버쉽 관리
RHEL High Availability Cluster Add-on 은 클러스터 노드 멤버쉽을 컨트롤하기 위한 여러가지 방법을 제공한다. systemd 는 클러스터에 조인되고 클러스터의 한 부분이 되기 위해 클러스터 노드에서 꼭 실행되어야 하는 클러스터 서비스인 corosync 와 pacemaker를관리한다. pcsd가 실행되는 인증받은 노드에서, 클러스터 서비스는 pcs로 컨트롤된다. pcs 명령으로 클러스터를 관리할 수 있다.
* 클러스터 시작/중지하기
pcs cluster start / pcs cluster stop 명령은 클러스터를 각각 시작/중지한다. 이 명령은 명령이 실행되는 해당 노드에서 적용되며, 다른노드는 파라미터로 따로 정보를 주거나, --all로 전체노드를 대상으로 한다. pcs cluster start --all / stop --all 이것은 해당 명령을 치는 노드와 동일한 클러스터에 있는 모든 노드를 시작/중지한다.
단일 클러스터 서비스 시작하기
전체 클러스터 서비스 중지하기
* 클러스터 서비스 enable / disable 하기
pcs cluster enable / disable명령은 systemd로 관리되는 corosync와 pacemaker 두 클러스터 서비스를, 노드가 부팅되었을 때 자동으로 실행할지 말지를 결정한다. enable 하면, 리부팅시 자동으로 클러스터 서비스가 올라가서 클러스터에 조인된다. 두 명령어 모두 해당명령어를 친 노드만 적용되며, 다른 노드를 하려면 파라미터를 줘야하며, 모든 노드도 마찬가지로 파라미터를 줘야한다.
해당 노드에서 enable 수행
특정 노드 enable 수행
모든 노드 enable 수행
* 클러스터 노드를 추가하고 빼기
RHEL High Availability Cluster Add-on 은 클러스터 노드를 즉시 넣을수도, 뺼수도 있다. 이것은 클러스터 내에서 서비스 다운타임 없이 클러스터를 확장하거나, 노드를 교체할 수 있다는 것이다.
클러스터에 새로운 노드 넣기
새로운 노드가 조인되도록 해당 새로운 노드에 다음과 같은 설정이 필요하다. 방화벽 설정 / 펜스 설정 / pcsd 시작 및 enable / hacluster 패스워드 설정 (현재 존재하는 노드와 일치해야 함) 이 4가지 설정 후 아래 절차를 통해 클러스터에 해당 노드를 조인한다.
1. 노드 인증
pcs host auth node.fqdn 명령 사용, 원래 있던 클러스터 노드 사이의 인증.
2. 클러스터에 노드 추가
아래 명령은 현재 클러스터 안에 있는 노드에서 해야하며 정상상태여야 한다.
3. 클러스터 시작 및 enable
노드가 성공적으로 추가되고 인증되면, 시스템 관리자는 새 노드에서 클러스터 서비스를 시작하고 enable한다. 서비스가 이 새로운 노드에 올라가기 전에, 펜싱도 꼭 구성하고 정상작동하도록 해야한다. pcs cluster start node4.example.com / pcs cluster enable node4.example.com 이 명령어가 사용되지 않는 한 새로운 노드는 클러스터의 활성화된 멤버가 되지 않는다.
클러스터에서 노드 제거하기
pcs cluster node remove node.fqdn 명령을 사용하여 노드를 영구적으로 제거할 수 있다. 이 기능은 실제로 클러스터에 노드가 필요하지 않거나, 클러스터 노드를 새 하드웨어로 변경하는 경우 사용한다.
1. 노드 제거
아래 명령은 클러스터 내에 있는 정상 상태의 노드에서 사용해야 하며, 제거될 노드에서 사용하면 안된다.
2. 해당 노드의 펜스 제거
노드가 제거되었기 때문에, 해당 노드의 전용 펜스 장치를 제거하거나 해당 노드가 포함된 공유 펜스 장치를 재구성해야 한다. 아래 예시는해당 노드의 전용 펜스를 제거하는 예시이다.
* 클러스터 노드가 리소스를 실행 하는것을 금지하기
관리자가 일반 클러스터 운영을 중단하지 않고 클러스터 노드의 리소스 실행을 일시적으로 중단해야 하는 경우가 있다. 첫번째로 노드별작업이 필요할 때가 있다. 예를 들어 실행된 노드에 중요한 보안 업데이트를 적용해야 할 때 이러한 상황이 발생할 수 있다. 노드별로standby 모드 전환한 후 업데이트를 적용할 수 있으므로 다운타임을 줄일 수 있다. 두번째로는 리소스 마이그레이션 테스트가 있다. 노드가 standby 모드로 전환되면 리소스가 할당되지 않는다. 현재 노드에서 실행 중인 리소스는 다른 노드로 마이그레이션을 진행하게 된다.
pcs node standby/unstandby 명령은 해당 명령이 실행되는 노드를 standby모드로 만든다. 다른 노드도 인수로 주거나, --all옵션으로전체를 할 수 있다.
standby 모드는 해당 노드에 resource constraint 가 세팅되는것이고, pcs cluster unstandby는 해당 resource constraint 를 삭제하는 것이다. resource constraint를 제거한다고 하여, 해당 노드가 원래 standby전에 리소스가 있었다면 그게 반드시 다시 마이그레이션되는것은 아니다. (원래 리소스가 원복되는것이 아니라 변경 없이 그대로 있게 된다)
* 클러스터 상태 보기
클러스터 상태, corosync 상태, 구성된 리소스 그룹, 리소스, 클러스터 노드 상태는 pcs status 로 본다. 아래 명령어들로 특정 일부만 볼수도 있다. 또한 pcs status --full 모든 전체값을 확인할 수 있다.
pcs status cluster : 클러스터 상태만 확인
pcs status resources : 리소스 그룹과 각각의 리소스들만 확인
pcs status nodes : 구성된 클러스터 노드만 확인
pcs status corosync : corosync 상태만 확인
pcs status pcsd : 모든 구성된 클러스터 노드의 pcsd 상태만 확인
1. node3.example.com 은 현재 스탠바이 모드이다.
2. node1.example.com / node2.example.com 은 현재 완전히 작동중이다.
3. node4.example.com 은 현재 오프라인이다. 클러스터 서비스 두개가 멈춰있거나, 클러스터의 Quorum 문제가 있을 수 있다.
* References
pcs(8), corosync(8), and pacemaker(8) man pages
For more information, refer to the Managing cluster nodes chapter in the Configuring and managing high availability clusters at
* 실습 : 클러스터 멤버쉽 추가하기
방화벽 오픈
패키지 설치
enable 하기
hacluster 설정
인증하기 / 노드 조인하기 (다른 노드인 nodea에서 실행)
자동으로 시작되게 하기
시작하기
상태보기
fence 추가하기
상태보기
리부팅하고, 다시 자동으로 조인되는지 확인하기
'High Availability > RH436 & EX436' 카테고리의 다른 글
[RH436/EX436] 7. Multipath 구성 (2) | 2024.02.07 |
---|---|
[RH436/EX436] 6. iSCSI 연결 (1) | 2024.02.06 |
[RH436/EX436] 4. 리소스 - 리소스 관리와 Constraint (0) | 2024.02.03 |
[RH436/EX436] 3. 리소스 - 리소스 개념 (0) | 2024.02.03 |
[RH436/EX436] 2. Fencing (1) | 2024.02.03 |