공유할 서비스 선택

TECH


TECH

OS [Cluster] Pacemaker 설치

페이지 정보

작성자 Chojunhyung 아이디로 검색 전체게시물 댓글 0건 조회 13,820회 좋아요 1회 작성일 20-03-13 11:12

본문

- Pacemaker 클러스터 설치(RHEL/CentOS 8 version별 차이)

 

- HA의 필요성 

552e872ee65fc6343f54a79bf511b10d_1585037714_6661.PNG

      서버 한대로 서비스를 구성 했을 시 서비스에 문제가 생기면 서버 한대에서만 서비스가 돌아가고 있었기 때문에 장애시간동안 서비스가 원활이 되지 않아 금전적으로나 손해가 발생한다.

   552e872ee65fc6343f54a79bf511b10d_1585038054_9578.PNG 

  이중화 시 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) : 클러스터 리소스 관리 데몬으로 노드 중 하나를 마스터로 선택하여 모든 클러스터 의사 결정을 중앙 집중화

  # corosync : 클러스터 내의 노드 간 Discovery, 통신, 동기화 작업 등등 인프라 관리.
  # pacemaker : corosync의 기능을 이용하여, 클러스터 구성시 리소스 제어 및 관리. 클러스터 특정 기능을 사용할 때는 대부분 pacemaker를 호출. 

(Virtual IP 리소스 할당을 위해 내부적으로 corosync 사용)

  # 쿼럼디스크 : 디스크 기반 쿼럼 데몬.

  

 

- 구성

(Active - Stand by)

 552e872ee65fc6343f54a79bf511b10d_1584415565_9876.PNG 

 

   

- 환경

 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로 변경

    552e872ee65fc6343f54a79bf511b10d_1584422463_7044.PNG 

 

 0.2. /etc/hosts파일 설정

  552e872ee65fc6343f54a79bf511b10d_1584422419_5981.PNG 

 

1. HA Package 설치를 위한 repo 구성

  (CentOS 8 기준)

 1.1. DNS 구성

     1) resolv.conf 복사

       552e872ee65fc6343f54a79bf511b10d_1585029793_6737.PNG 

       - 기존 7버전까지만 해도 /etc/resolv.conf가 있었지만 8버전 이후로 /etc/resolv.conf파일이 존재하지 않는다.

     2) resolv.conf 설정

       552e872ee65fc6343f54a79bf511b10d_1585029962_687.PNG
       - 외부와 통신할 수 있게 nameserver ip수정이 꼭 필요

 

 1.2. HA repo 구성

      552e872ee65fc6343f54a79bf511b10d_1584684750_6715.PNG 

   - CentOS HA Package는 외부에서 받아오기때문에 외부망과 연결이 필요 

   변경점)

   # mirrorlist 주석 해제

   enabled=0 -> enabled=1

 

 1.3. repolist 확인

      552e872ee65fc6343f54a79bf511b10d_1584589802_3059.PNG 

 

 (RHEL 8 기준)

 1.4. DNS 구성

    - RHEL 8 HA package는 iso 마운트 후 package를 설치하기 때문에 외부와의 연결은 불필요


 1.5. HA repo 구성

     552e872ee65fc6343f54a79bf511b10d_1584435232_255.PNG  

     - RHEL 8버전 부터는 HA Package를 iso파일에 없기때문에 따로 iso 파일을 받아야 합니다.

     - BaseOS, AppStream은 기존 dvd package로 구성 

 

 1.6. repolist 확인

      552e872ee65fc6343f54a79bf511b10d_1584589771_7923.PNG  

  

 2. HA Cluster Install&Configuration

    - Package 설치 (양 node 설치 진행)

     552e872ee65fc6343f54a79bf511b10d_1585793496_8431.PNG 

  - 클러스터 구성을 하기 위한 필요 패키지들을 설치 진행

  - pcs와 fence-agents-all 설치 시 dependency 패키지로 pacemaker, corosync 패키지가 같이 설치 된다.

 

 2.1. cluster 계정 패스워드 등록 (양 node 같이 등록)

      552e872ee65fc6343f54a79bf511b10d_1584583700_8999.PNG 

     - HA Cluster 인증을 위해 hacluster 계정의 패스워드를 등록

     - hacluster 계정은 패키지들이 설치 되면서 자동적으로 생성

     - 계정의 비밀번호가 다르면 인증이 되지 않으니 같은 비밀번호로 등록 요망

 

 2.2. pcs daemon 시작 (양 node 시작)

     552e872ee65fc6343f54a79bf511b10d_1584583922_955.PNG

     - pcsd : pacemaker/corosync 설정, 관리 daemon

 

 2.3. 각 노드 인증

   1) RHEL/CentOS 7

     552e872ee65fc6343f54a79bf511b10d_1584591362_2182.PNG 

   2) RHEL/CentOS 8

    552e872ee65fc6343f54a79bf511b10d_1584584132_727.PNG 

    - 클러스터에 들어갈 노드를 서로 인증하는 절차

    - 7버전과 8버전의 노드 인증 명령어(cluster -> host)가 변경

  

 2.4. 클러스터 구성

     1) RHEL/CentOS 7

        552e872ee65fc6343f54a79bf511b10d_1584591377_6464.PNG 

 

     2) RHEL/CentOS 8

        552e872ee65fc6343f54a79bf511b10d_1584584379_8853.PNG 

         - 클러스터에 몇개의 노드가 들어가는지, 노드들의 이름을 적고 클러스터의 이름을 설정

         변경점)

         - RHEL/CentOS 7 : pcs cluster setup --name hacluster node1 node2

         - RHEL/CentOS 8 : pcs cluster setup hacluster node1 node2 

         - 8버전 부터는 --name옵션이 빠지고 바로 클러스터 이름을 명시

 

 2.5. 클러스터 시작 

      552e872ee65fc6343f54a79bf511b10d_1584683626_8494.PNG 

 

 2.6 클러스터 상태 확인

     552e872ee65fc6343f54a79bf511b10d_1584684661_0426.PNG 

     - 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 설정

  - 리소스의 위치나 순서, 동거 조건을 제약하는 설정

   552e872ee65fc6343f54a79bf511b10d_1585887429_9017.PNG 

  - 리소스 등록 후 기본 위치는 위의 사진과 같이 중구난방으로 위치하게 된다.

  - 리소스 조건을 정의하지 않으면 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

 

댓글목록

등록된 댓글이 없습니다.

TECH 목록
번호 제목 작성자 작성일 조회수
232 OS OSworker 아이디로 검색 전체게시물 11-17 55
RHEL 9.5 가 11월 12일에 릴리즈 되었습니다. 간략하게 살펴보시죠~

카테고리 : OS

55 0
작성자 : OSworker 24/11/17
231 OS OSworker 아이디로 검색 전체게시물 11-10 85
어떤 프로세스 어떤 이유로 인해 성능에 문제가 생겼을때 perf로 그 문제를 찾아보세요.

카테고리 : OS

85 0
작성자 : OSworker 24/11/10
230 OS OSworker 아이디로 검색 전체게시물 10-31 138
AI에 대한 관심이 많습니다. 혹시 RHEL AI에 대해 들어보셨나요?

카테고리 : OS

138 0
작성자 : OSworker 24/10/31
229 OS OSworker 아이디로 검색 전체게시물 10-24 168
Fedora와 Red Hat Enterprise Linux의 차이점

카테고리 : OS

168 0
작성자 : OSworker 24/10/24
228 OS OSworker 아이디로 검색 전체게시물 10-11 208
audit 로그에 저장된 time 을 날짜/시간 으로 변경하여 보는법

카테고리 : OS

208 0
작성자 : OSworker 24/10/11
227 OS OSworker 아이디로 검색 전체게시물 09-29 351
[보안취약점]"RHSB-2024-002 - OpenPrinting cups-filters"에 대해 설명드리고자합니다.

카테고리 : OS

351 0
작성자 : OSworker 24/09/29
226 OS OSworker 아이디로 검색 전체게시물 09-25 422
누가 설정파일을 수정했는지 알고싶어요? 그럼 audit를 사용해보세요~!

카테고리 : OS

422 0
작성자 : OSworker 24/09/25
225 OS OSworker 아이디로 검색 전체게시물 09-15 325
RHEL6.10 앞으로 어떻게 되나요? 아직도 RHEL6버전을 사용하신다구요?

카테고리 : OS

325 0
작성자 : OSworker 24/09/15
224 OS OSworker 아이디로 검색 전체게시물 08-30 428
SWAP이 왜 자꾸 사용하게 될까요? 누가 사용하는것일까요?

카테고리 : OS

428 0
작성자 : OSworker 24/08/30
223 OS OSworker 아이디로 검색 전체게시물 08-22 428
리눅스 서버에 RDP를 설치하여 윈도우에서 "원격데스크탑접속"으로 연결

카테고리 : OS

428 0
작성자 : OSworker 24/08/22
Total 232건
게시물 검색

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