공유할 서비스 선택

TECH


TECH

OS [Cluster] RHEL 7 Pacemaker install guide

페이지 정보

작성자 Leesangwoo 아이디로 검색 전체게시물 댓글 0건 조회 8,139회 좋아요 0회 작성일 19-08-28 12:41

본문

구축 목적 : pacemaker에 대한 설치에 대한 가이드 제시를 한다.

 

pacemaker 환경 구성

 

45a3b5cc80c8539583fcfa45f969143a_1574657664_5583.jpg
 

 

  


fce0db1a982260c74ff0a625bdaa4ecb_1570494775_4451.jpg
  

● 구축 전 필수 준비 사항 : 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 해준다

 

ff343ce42ae3a33ca142a4591b139d35_1566957485_5365.jpg

 

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 해준다. 

 

ff343ce42ae3a33ca142a4591b139d35_1566957743_2558.jpg
 

selinux는 간단한 리소스의 경우 제약을 안 받지만,

 

DB나 기타 솔루션이 selinux에 제약으로 문제가 생길 수 있어서 대부분 disable 로 설정한다

 





 

3. 각 노드의 /etc/hosts 에 동일하게 각 노드의 ip와 등록할 vip를 입력해준다.

  

ff343ce42ae3a33ca142a4591b139d35_1566957800_4772.jpg 

 

현재 구성할 노드가 2개라 ha1 ha2의 서비스 ip heartbeat ip , 등록할 vip hosts에 입력을 하였다.

  

만약 3개라면 ha1, ha2, ha3 의 서비스 ip heartbeat ip 각각 3개씩 총 6개에 vip를 등록한다면 7개를 입력하여야 한다.

 






4. 각 노드의 local repository 설정을 해준다.

  

ff343ce42ae3a33ca142a4591b139d35_1566957983_0347.jpg
 

local repository 설정은 pacemaker ( pcsd, pacemaker, corosync ) 패키지들을 설치하기 위하여 필요하다. 




 

 

 

5. 각 노드에 pcs fence-agents-all 패키지를 설치한다.

 

ff343ce42ae3a33ca142a4591b139d35_1566958443_5193.jpg
 

yum install pcs fence-agents-all pcsd, pacemaker, corosync등의 필수 패키지와 fence device 설정을 위한 패키지가 설치 된다. 






6. 각 노드에 패키지 설치 후 생성된 hacluster 계정에 패스워드를 생성한다.

 

ff343ce42ae3a33ca142a4591b139d35_1566958533_8192.jpg
 

패키지 설치 후 자동으로 hacluster 계정이 생성이 되지만 패스워드는 수동으로 입력해 주어야 된다

  

passwd hacluster로 하여도 되고, echo 'test12#$' | passwd --stdin hacluster 이렇게 설정하여도 된다. ( ! 동일하게 설정하여야 된다 )

 







7. 각 노드에 pcsd 데몬을 시작한다.

 

ff343ce42ae3a33ca142a4591b139d35_1566958603_6715.jpg 

 

각 노드에 pcsd를 실행하면 pcsd pacemaker 관리 툴이기에 많은 설정이 가능하다.

   

pcs cluster start --all 명령어로 pacemaker corosync 데몬 start enable도 가능하고, 한 노드에서면 실행하면 해당 명령이 각 노드로 전파된다.

 





8. 클러스터로 구성할 두 노드 ( 서버 ) 를 인증한다.

 

ff343ce42ae3a33ca142a4591b139d35_1566958701_5335.JPG 

 

pacemaker를 구성하기전 각 노드에 hacluster 계정에 아까 설정한 password 입력하여 인증을 한다.

 

노드명은 hosts에서 heartbeat 대역으로 입력한 호스트명을 사용한다


( 만약 서비스 회선이 문제가 생기거나 과부하 걸리면 오판하여 서비스를 standby 쪽으로 넘기는 상황을 방지하기 위해서이다 )

  

2 노드가 아닌 3 노드로 구성할 계획이면 ha1-hb, ha2-hb, ha3-hb 추가로 입력하여 인증하면 된다.

 







9. 인증한 두 노드를 클러스터로 구성한다

 

ff343ce42ae3a33ca142a4591b139d35_1566963720_1018.JPG 

 

인증을 완료한 2 노드를 ha_cluster란 이름으로 pacemaker ( 클러스터 ) 로 구성한다.

 





10. 클러스터 시작을 해준다.

 

ff343ce42ae3a33ca142a4591b139d35_1566964066_0813.JPG
 

pcs cluster start -–all 명령어로 클러스터를 기동한다. 

 

해당 명령어로 클러스터를 기동하면 아래 이미지처럼 corosync와 pacemaker 를 백그라운드로 서비스를 시작하여 준다.

 

fce0db1a982260c74ff0a625bdaa4ecb_1570499225_4137.JPG 

 

그래서 Daemon Status 부분을 보면 corosync, pacemaker, pcsd 가 active 인 것을 확인할 수 있다.

 

 

 

 

 

 

11. 구성 중 서버가 꺼지는 것을 방지하기 위해 fence 설정을 비활성화 한다. 

 

ff343ce42ae3a33ca142a4591b139d35_1566964983_2145.JPG
 

pacemaker 구성하기 전 리소스의 문제로 리소스 등록 후 바로 서버가 꺼지는 것을 방지하기 위해 fence ( stonith ) 설정을 비활성화한다.

 

pacemaker 구성시 문제가 발생할 요소 확인은 crm_verify -L –V 로 가능하다.

 

 

 

 

 

 

 

 

12. 서버 장애해결 후 자동 복구 ( fail-back ) 방지 

 

ff343ce42ae3a33ca142a4591b139d35_1566965098_5995.JPG 

 

active 서버에 문제가 발생하면 자동으로 서비스는 standby 서버로 넘어간다.

 

그리고 나중에 active 서버의 문제가 해결되면 pacemaker는 서비스를 active서버에 자동으로 원상복구 할 가능성이 있다.

 

만약에 active 서버에 서비스가 자동으로 원상복구가 되는 것을 방지하기 위하여 stickiness 값을 설정한다.

 

 

 

 

 

 

13. 클러스터에 vip 리소스를 등록한다. 

 

ff343ce42ae3a33ca142a4591b139d35_1566965668_0218.JPG 

 

pcs resource create vip ocf:heartbeat:IPaddr2 ip=192.168.56.100 ( vip ) cidr_netmask=24 ( netmask ) op monitor interval=30s 로 리소스 등록하고,

pcs resource show로 리소스 상태만 따로 확인 가능하다.

 

 

 

 

 

 

 

fce0db1a982260c74ff0a625bdaa4ecb_1570513598_8331.JPG
 

vip 리소스 등록 후 enp0s3 인터페이스에 vip가 추가된 것을 확인이 가능하다.

 

 

 

 

 

 

 

14. 클러스터에 볼륨 리소스를 등록한다.  

 

ff343ce42ae3a33ca142a4591b139d35_1566965891_544.JPG
 

pcs resource create sh_volume Filesystem device="/dev/sdb1" ( 마운트 할 볼륨 ) directory="/shared" ( 마운트 될 폴더 ) 

 

fstype="xfs" ( 볼륨 포멧 방식 ) 로 리소스 등록을 하고,

 

pcs resource show로 리소스 상태만 따로 확인 가능하다.

 

 

 

 

 

 

 

 

 

 

 

fce0db1a982260c74ff0a625bdaa4ecb_1570513943_5161.JPG 

 

df -h 명령어로 마운트 된 볼륨과 볼륨 크기가 보이는 것을 확인이 가능하다.

 

 

 

 

 

댓글목록

등록된 댓글이 없습니다.

TECH 목록
번호 제목 작성자 작성일 조회수
50 OS LeeHyongDong 아이디로 검색 전체게시물 06-17 3401
[Linux] RHEL 8 loopback 인터페이스 IP 설정

카테고리 : OS

3,401 0
작성자 : LeeHyongDong 22/06/17
49 OS LeeHyongDong 아이디로 검색 전체게시물 03-31 3301
[Linux] dovecot 설명 및 설정

카테고리 : OS

3,301 0
작성자 : LeeHyongDong 22/03/31
48 OS LeeHyongDong 아이디로 검색 전체게시물 02-28 7889
[Linux]Postfix 설명 및 설정

카테고리 : OS

7,889 0
작성자 : LeeHyongDong 22/02/28
47 OS LeeHyongDong 아이디로 검색 전체게시물 10-20 3779
[Linux] NFS 동작 아키텍쳐 및 포트 변경

카테고리 : OS

3,779 0
작성자 : LeeHyongDong 21/10/20
46 OS LeeHyongDong 아이디로 검색 전체게시물 09-28 1769
[Linux] ansible 플레이북 작성 및 실행

카테고리 : OS

1,769 0
작성자 : LeeHyongDong 21/09/28
45 OS LeeHyongDong 아이디로 검색 전체게시물 08-24 2495
[Linux] ansible 환경설정 및 애드혹

카테고리 : OS

2,495 0
작성자 : LeeHyongDong 21/08/24
44 OS LeeHyongDong 아이디로 검색 전체게시물 06-29 1685
[Linux] ansible 설명 및 설치 방법

카테고리 : OS

1,685 0
작성자 : LeeHyongDong 21/06/29
43 OS LeeHyongDong 아이디로 검색 전체게시물 04-08 5242
[Linux] 재부팅없이 multipath 제거

카테고리 : OS

5,242 0
작성자 : LeeHyongDong 21/04/08
42 OS LeeHyongDong 아이디로 검색 전체게시물 02-23 5323
[Linux] 8버전 HA-LVM 등록

카테고리 : OS

5,323 0
작성자 : LeeHyongDong 21/02/23
41 OS LeeHyongDong 아이디로 검색 전체게시물 01-21 3882
[Linux] #2. 클러스터 OCF 및 LSB 구성

카테고리 : OS

3,882 0
작성자 : LeeHyongDong 21/01/21
Total 80건
게시물 검색

주식회사 클럭스| 대표 : 이찬호| 사업자등록번호 : 107-87-27655
주소 : 서울특별시 영등포구 국회대로 800, 여의도파라곤
E-mail : sales@chlux.co.kr
Copyright © 클럭스 www.chlux.co.kr All rights reserved.
상단으로Top