공유할 서비스 선택

TECH


TECH

OS [Cluster] RHEL 7 Pacemaker install guide

페이지 정보

작성자 Leesangwoo 아이디로 검색 전체게시물 댓글 0건 조회 9,661회 좋아요 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 목록
번호 제목 작성자 작성일 조회수
14 OS LeeHyongDong 아이디로 검색 전체게시물 10-11 10840
[Linux] 커널 파라미터 설정

카테고리 : OS

10,840 0
작성자 : LeeHyongDong 19/10/11
13 OS Chojunhyung 아이디로 검색 전체게시물 10-04 6398
[Storage] NAS vs SAN vs ISCSI

카테고리 : OS

6,398 0
작성자 : Chojunhyung 19/10/04
12 OS Chojunhyung 아이디로 검색 전체게시물 10-02 8878
[Storage] ISCSI 설치 및 구성

카테고리 : OS

8,878 0
작성자 : Chojunhyung 19/10/02
11 OS LeeHyongDong 아이디로 검색 전체게시물 09-30 9987
[Linux] LVM 소개 및 설정

카테고리 : OS

9,987 0
작성자 : LeeHyongDong 19/09/30
열람중 OS Leesangwoo 아이디로 검색 전체게시물 08-28 9662
열람중
[Cluster] RHEL 7 Pacemaker install guide

카테고리 : OS

9,662 0
작성자 : Leesangwoo 19/08/28
9 OS Leesangwoo 아이디로 검색 전체게시물 08-21 3609
[Cluster] RHEL HA의 필요성과 구축 효과

카테고리 : OS

3,609 0
작성자 : Leesangwoo 19/08/21
8 OS Leesangwoo 아이디로 검색 전체게시물 08-20 4042
[Cluster] RHEL HA, GFS 구성전 요구사항

카테고리 : OS

4,042 0
작성자 : Leesangwoo 19/08/20
7 OS Chojunhyung 아이디로 검색 전체게시물 07-03 12448
[Linux] RHEL 8 Install guide

카테고리 : OS

12,448 0
작성자 : Chojunhyung 19/07/03
6 OS partner_test 아이디로 검색 전체게시물 05-29 15999
[Linux] RHEL7 ntp서버 시간 동기화

카테고리 : OS

15,999 0
작성자 : partner_test 19/05/29
5 Middleware partner 아이디로 검색 전체게시물 11-19 15553
[TOMCAT] log 관리

카테고리 : Middleware

15,553 0
작성자 : partner 18/11/19
Total 234건
게시물 검색

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