OS [Cluster] RHEL 7 Pacemaker install guide
페이지 정보
작성자 Leesangwoo 아이디로 검색 전체게시물 댓글 0건 조회 9,661회 좋아요 0회 작성일 19-08-28 12:41본문
구축 목적 : pacemaker에 대한 설치에 대한 가이드 제시를 한다.
pacemaker 환경 구성
● 구축 전 필수 준비 사항 : service ip 2개 ( 1,2 server ip ), heartbeat ip 2개 ( 1,2 server ip ), heartbeat network sw 2대 ( 이중화 )
⇒ 필수 과정 : 3. 각 노드의 /etc/hosts에 동일하게 구성
4. 각 노드의 local repository 설정
5. 각 노드의 pacemaker 패키지 설치
6. 각 노드의 hacluster 계정에 패스워드 설정
7. 각 노드의 pcsd 데몬 기동
8. 클러스터로 구성할 노드 인증
9. 인증한 노드로 클러스터 구성
10. 클러스터 시작
11. 클러스터 fence 비활성화
○ 구축 시 준비 사항 : vip, shared volume ( standard volume, LVM 중 택 1 ), fence device ( vm은 구성이 안됨 ), service script
⇒ 선택 과정 : 1. 방화벽 정지 및 비활성화
2. selinux 비활성화
12. 자동 복구 방지 설정
13. vip 리소스 등록
14. 볼륨 리소스 등록
※ Pacemaker 구축 전 모든 노드에 ( 구성할 모든 서버 ) 동일하게 환경을 만들어 준다.
1. 방화벽을 stop 및 disable 해준다.
firewall-cmd --permanent --add-service=high-availability ( corosync : 5405/UDP, pcsd : 2224/TCP, Pacemaker : 3121/TCP, dlm 21064/TCP )
명령으로도 pacemaker Port 허용할 수 있지만, 다양한 서비스를 올리다 보면 트러블 슈팅이 어려워 질 수 있다.
그래서 대부분 방화벽이 필요하지 않으면 대부분 리눅스의 방화벽을 stop 상태로 만든다.
2. selinux 도 disabled 해준다.
selinux는 간단한 리소스의 경우 제약을 안 받지만,
DB나 기타 솔루션이 selinux에 제약으로 문제가 생길 수 있어서 대부분 disable 로 설정한다.
3. 각 노드의 /etc/hosts 에 동일하게 각 노드의 ip와 등록할 vip를 입력해준다.
현재 구성할 노드가 2개라 ha1과 ha2의 서비스 ip와 heartbeat ip , 등록할 vip 만 hosts에 입력을 하였다.
만약 3개라면 ha1, ha2, ha3 의 서비스 ip와 heartbeat ip 각각 3개씩 총 6개에 vip를 등록한다면 7개를 입력하여야 한다.
4. 각 노드의 local repository 설정을 해준다.
local repository 설정은 pacemaker ( pcsd, pacemaker, corosync 등 ) 패키지들을 설치하기 위하여 필요하다.
5. 각 노드에 pcs fence-agents-all 패키지를 설치한다.
yum install pcs fence-agents-all 로 pcsd, pacemaker, corosync등의 필수 패키지와 fence device 설정을 위한 패키지가 설치 된다.
6. 각 노드에 패키지 설치 후 생성된 hacluster 계정에 패스워드를 생성한다.
패키지 설치 후 자동으로 hacluster 계정이 생성이 되지만 패스워드는 수동으로 입력해 주어야 된다.
passwd hacluster로 하여도 되고, echo 'test12#$' | passwd --stdin hacluster 이렇게 설정하여도 된다. ( 단! 동일하게 설정하여야 된다 )
7. 각 노드에 pcsd 데몬을 시작한다.
각 노드에 pcsd를 실행하면 pcsd가 pacemaker 관리 툴이기에 많은 설정이 가능하다.
pcs cluster start --all 명령어로 pacemaker와 corosync 데몬 start와 enable도 가능하고, 한 노드에서면 실행하면 해당 명령이 각 노드로 전파된다.
8. 클러스터로 구성할 두 노드 ( 서버 ) 를 인증한다.
pacemaker를 구성하기전 각 노드에 hacluster 계정에 아까 설정한 password 입력하여 인증을 한다.
노드명은 hosts에서 heartbeat 대역으로 입력한 호스트명을 사용한다.
( 만약 서비스 회선이 문제가 생기거나 과부하 걸리면 오판하여 서비스를 standby 쪽으로 넘기는 상황을 방지하기 위해서이다 )
2 노드가 아닌 3 노드로 구성할 계획이면 ha1-hb, ha2-hb, ha3-hb 추가로 입력하여 인증하면 된다.
9. 인증한 두 노드를 클러스터로 구성한다
인증을 완료한 2 노드를 ha_cluster란 이름으로 pacemaker ( 클러스터 ) 로 구성한다.
10. 클러스터 시작을 해준다.
pcs cluster start -–all 명령어로 클러스터를 기동한다.
해당 명령어로 클러스터를 기동하면 아래 이미지처럼 corosync와 pacemaker 를 백그라운드로 서비스를 시작하여 준다.
그래서 Daemon Status 부분을 보면 corosync, pacemaker, pcsd 가 active 인 것을 확인할 수 있다.
11. 구성 중 서버가 꺼지는 것을 방지하기 위해 fence 설정을 비활성화 한다.
pacemaker 구성하기 전 리소스의 문제로 리소스 등록 후 바로 서버가 꺼지는 것을 방지하기 위해 fence ( stonith ) 설정을 비활성화한다.
pacemaker 구성시 문제가 발생할 요소 확인은 crm_verify -L –V 로 가능하다.
12. 서버 장애해결 후 자동 복구 ( fail-back ) 방지
active 서버에 문제가 발생하면 자동으로 서비스는 standby 서버로 넘어간다.
그리고 나중에 active 서버의 문제가 해결되면 pacemaker는 서비스를 active서버에 자동으로 원상복구 할 가능성이 있다.
만약에 active 서버에 서비스가 자동으로 원상복구가 되는 것을 방지하기 위하여 stickiness 값을 설정한다.
13. 클러스터에 vip 리소스를 등록한다.
pcs resource create vip ocf:heartbeat:IPaddr2 ip=192.168.56.100 ( vip ) cidr_netmask=24 ( netmask ) op monitor interval=30s 로 리소스 등록하고,
pcs resource show로 리소스 상태만 따로 확인 가능하다.
vip 리소스 등록 후 enp0s3 인터페이스에 vip가 추가된 것을 확인이 가능하다.
14. 클러스터에 볼륨 리소스를 등록한다.
pcs resource create sh_volume Filesystem device="/dev/sdb1" ( 마운트 할 볼륨 ) directory="/shared" ( 마운트 될 폴더 )
fstype="xfs" ( 볼륨 포멧 방식 ) 로 리소스 등록을 하고,
pcs resource show로 리소스 상태만 따로 확인 가능하다.
df -h 명령어로 마운트 된 볼륨과 볼륨 크기가 보이는 것을 확인이 가능하다.
댓글목록
등록된 댓글이 없습니다.