OS [Cluster] Pacemaker 설치
페이지 정보
작성자 Chojunhyung 아이디로 검색 전체게시물 댓글 0건 조회 14,115회 좋아요 1회 작성일 20-03-13 11:12본문
- Pacemaker 클러스터 설치(RHEL/CentOS 8 version별 차이)
- HA의 필요성
서버 한대로 서비스를 구성 했을 시 서비스에 문제가 생기면 서버 한대에서만 서비스가 돌아가고 있었기 때문에 장애시간동안 서비스가 원활이 되지 않아 금전적으로나 손해가 발생한다.
이중화 시 Service의 문제가 생겼을 시 자연스레 Standby 서버로 넘어가기 때문에 장애의 발생이 급격히 줄어든다.
※ HA의 필요성
http://www.chlux.co.kr/bbs/board.php?bo_table=board02&wr_id=43&sca=OS&page=3
- 소개
중요한 서비스를 무중단으로 운영하기 위한 클러스터 구축 (Only Active - Stand By)
- 클러스터 주요 구성 요소
# Cluster Information Base (CIB) : 클러스터 정보 자료로 모든 클러스터의 옵션, 노드, 자원, 서로 간의 관계 및 현재 상태에 대한 정의 설정 업데이트에 대해 모든 노드 동기화
# Cluster Resource Management Daemon (CRMd) : 클러스터 리소스 관리 데몬으로 노드 중 하나를 마스터로 선택하여 모든 클러스터 의사 결정을 중앙 집중화
(Virtual IP 리소스 할당을 위해 내부적으로 corosync 사용)
# 쿼럼디스크 : 디스크 기반 쿼럼 데몬.
- 구성
(Active - Stand by)
- 환경
Hardware
- VMware ESXI
OS
- CentOS 8.1-1911 x2
- RHEL 8.1 x2
Service
- Mysql 8.0
- Setup
0. 공통 사항
1. HA Package 설치를 위한 repo 구성
2. HA Cluster Install&Configuration
3. Service(Application) 확인
4. Constraint 설정
5. Failover 기본 순서
- 사전 준비 사항
물리서버 기준)
Service Network(이중화), Heartbeat Network(이중화) Split brain 대비
Fence Device 구성을 위한 ILO, IDRAC, RSA IPMI Appliance 계정 및 static IP 필요
서비스 Resource 등록을 위해 Shared Volume(Storage) 필요
※ Split brain
http://www.chlux.co.kr/bbs/board.php?bo_table=board02&wr_id=88&sca=OS
가상화서버 기준)
VM기준 이중화는 되지만 버그가 있어 ICMP 확인이 불가.
이중화는 안하는것으로 권고
Service Network, Heartbeat Network,
Fence Device 구성을 위해 VMware의 경우 Vmware 접속 Admin 계정, Password, IP 필요
서비스 Resource 등록을 위해 Shared Volume(Storage) 필요
- Setup (2 Node 구성)
0. 공통 사항
0.1. 방화벽&SElinux disable로 변경
0.2. /etc/hosts파일 설정
1. HA Package 설치를 위한 repo 구성
(CentOS 8 기준)
1.1. DNS 구성
1) resolv.conf 복사
- 기존 7버전까지만 해도 /etc/resolv.conf가 있었지만 8버전 이후로 /etc/resolv.conf파일이 존재하지 않는다.
2) resolv.conf 설정
- 외부와 통신할 수 있게 nameserver ip수정이 꼭 필요
1.2. HA repo 구성
- CentOS HA Package는 외부에서 받아오기때문에 외부망과 연결이 필요
변경점)
# mirrorlist 주석 해제
enabled=0 -> enabled=1
1.3. repolist 확인
(RHEL 8 기준)
1.4. DNS 구성
- RHEL 8 HA package는 iso 마운트 후 package를 설치하기 때문에 외부와의 연결은 불필요
1.5. HA repo 구성
- RHEL 8버전 부터는 HA Package를 iso파일에 없기때문에 따로 iso 파일을 받아야 합니다.
- BaseOS, AppStream은 기존 dvd package로 구성
1.6. repolist 확인
2. HA Cluster Install&Configuration
- Package 설치 (양 node 설치 진행)
- 클러스터 구성을 하기 위한 필요 패키지들을 설치 진행
- pcs와 fence-agents-all 설치 시 dependency 패키지로 pacemaker, corosync 패키지가 같이 설치 된다.
2.1. cluster 계정 패스워드 등록 (양 node 같이 등록)
- HA Cluster 인증을 위해 hacluster 계정의 패스워드를 등록
- hacluster 계정은 패키지들이 설치 되면서 자동적으로 생성
- 계정의 비밀번호가 다르면 인증이 되지 않으니 같은 비밀번호로 등록 요망
2.2. pcs daemon 시작 (양 node 시작)
- pcsd : pacemaker/corosync 설정, 관리 daemon
2.3. 각 노드 인증
1) RHEL/CentOS 7
2) RHEL/CentOS 8
- 클러스터에 들어갈 노드를 서로 인증하는 절차
- 7버전과 8버전의 노드 인증 명령어(cluster -> host)가 변경
2.4. 클러스터 구성
1) RHEL/CentOS 7
2) RHEL/CentOS 8
- 클러스터에 몇개의 노드가 들어가는지, 노드들의 이름을 적고 클러스터의 이름을 설정
변경점)
- RHEL/CentOS 7 : pcs cluster setup --name hacluster node1 node2
- RHEL/CentOS 8 : pcs cluster setup hacluster node1 node2
- 8버전 부터는 --name옵션이 빠지고 바로 클러스터 이름을 명시
2.5. 클러스터 시작
2.6 클러스터 상태 확인
- Online: [ node1 node2] : online상태로 확인이 되었다면 클러스터에 2 node가 등록
2.7. cluster 기본 셋팅
- 장애 처리 후 리소스 이동 방지 설정
# pcs property set default-resource-stickiness=100
- 리소스 등록 시 fence device 작동 방지
# pcs property set stonith-enabled=false
- 리소스 등록이 끝나게 되면 fence device 작동 할 수 있도록 변경
# pcs property set stonith-enabled=true
- 2 node 구성 할 시 일반적으로 quorum 설정을 disable
# pcs property set no-quorum-policy=ignore
- 셋팅 확인
# pcs property show
3. Service(Application) 확인
- HA Cluster에 등록 될 수 있는 Service(Application) 확인
ex) Oracle DB, Mysql, 기타 등등..
4. Constraint 설정
- 리소스의 위치나 순서, 동거 조건을 제약하는 설정
- 리소스 등록 후 기본 위치는 위의 사진과 같이 중구난방으로 위치하게 된다.
- 리소스 조건을 정의하지 않으면 failover시 어떠한 에러가 발생할 지 모른다.
- 그러므로 리소스들을 한데 뭉쳐 그룹화 하거나 constraint 설정을 하여야 한다.
4.1. 리소스 위치 제약 조건
- 기본 포맷
# pcs constraint location <resource-name> prefers <node[=score]>
- 어떤 리소스가 어떤 노드에서 실행 될 것인지 결정
- score의 기본 값은 INFINITY
# pcs constraint location <resource-name> avoids <node[=score]>
- 어떤 리소스가 어떤 노드에서 실행 되지 말아야 하는지 결정
- score는 마찬가지로 기본 값은 INFINITY
4.2. 리소스 순서 제약 조건
- 기본 포맷
# pcs constraint order start <first-resource-name> then <second-resource-name>
- 어떤 리소스가 먼저 시작되고 늦게 시작 될 것인지 결정
ex) 위 사진과 같이 리소스들이 그룹으로 되지 않았다면 order 조건으로 순서를 결정해 주어야 한다.
failover 시 node2에서 vip up, filesystem up, mysql_service up 순으로 결정한다면
# pcs constraint order start vip then mysqlfs
# pcs constraint order start mysqlfs then mysql_service
- 이와 같이 순서를 정의
- 이미 그룹으로 리소스들을 한데 묶었다면 진행을 하지 않아도 무방
4.3. 리소스 동거 제약 조건
- 기본 포맷
# pcs constraint colocation add <resource-name> with <resource-name> [score]
- 어떤 리소스와 함께 있어야 하는지 결정
5. Failover 기본 순서
node1) Service down -> Filesystem umount(Shared Volume) -> VIP down
ndoe2) VIP up -> Filesystem(Shared Volume) mount -> Service up
HA 구성 후 운영 메뉴얼
- http://www.chlux.co.kr/bbs/board.php?bo_table=board02&wr_id=90&sca=OS
댓글목록
등록된 댓글이 없습니다.