Fencing 개념 및 설정 방법

2024. 12. 20. 15:08·🐳 Infra/DRBD
728x90
SMALL

[개념]

고가용성 클러스터에서 장애가 발생한 노드를 격리(Isolation) 시키는 프로세스

클러스터 환경에서 Fencing(격리) 설정이 제대로 되어 있지 않으면 고가용성  유지하는 데 심각한 문제가 발생

 

[목적]

데이터 손상 방지 (두 노드가 동시에 자원 사용 못하도록 함 / Split-Brain )

클러스터 안전성 (클러스터 전체의 일관성과 안정성 유지)

자동 복구 (장애가 발생한 노드 자동 복구 및 클러스터에서 제외)

 

[리소스 추가]

STONITH 추가

crm configure primitive <리소스_이름> stonith:<에이전트_이름> \
    params ipaddr=<IP> login=<사용자> passwd=<비밀번호> pcmk_host_list="<노드_리스트>"



# <리소스_이름>: 설정할 STONITH 리소스 이름 (예: fence-ipmi, fence-drac 등).
# stonith:<에이전트_이름>: 사용할 STONITH Fence Agent 이름 (예: fence_ipmilan, fence_drac5).
# params: Fence Device 설정에 필요한 매개변수(IP, 로그인 정보 등).
# pcmk_host_list: 해당 STONITH 리소스가 적용될 클러스터 노드 이름.

예제: DRAC 사용 경우
# DRAC은 Dell 서버의 원격 전원 관리 및 하드웨어 상태 모니터링 도구

crm configure primitive fence-drac stonith:fence_drac5 \
    params ipaddr="192.168.1.101" login="admin" passwd="password" \
    pcmk_host_list="node1 node2"
    
예제: IPMI 사용 경우
crm configure primitive fence-ipmi stonith:fence_ipmilan \
    params ipaddr="192.168.1.102" login="admin" passwd="password" \
    pcmk_host_list="node1 node2"


예제: ILO 사용 경우
crm configure primitive fence-ilo stonith:fence_ilo \
    params ipaddr="192.168.1.103" login="admin" passwd="password" \
    pcmk_host_list="node1 node2"

예제: 가상 머신 환경
1) Libvirt 환경
crm configure primitive fence-libvirt stonith:fence_virt \
    params ipaddr="192.168.1.105" login="admin" passwd="password" \
    pcmk_host_list="node1 node2"

2) VMWare 환경
crm configure primitive fence-vmware stonith:fence_vmware_soap \
    params ipaddr="192.168.1.106" login="admin" passwd="password" \
    pcmk_host_list="node1 node2"

예제: SAN 스토리지
1) iscsi 
crm configure primitive fence-iscsi stonith:fence_scsi \
    params devices="/dev/sda" pcmk_host_list="node1 node2"

 

 

[활성화]

Stonith 활성화

crm configure property stonith-enabled=true

 

 

[확인1]

crm_mon -l
  • 클러스터 상태가 표시되며, STONITH 리소스가 활성화된 상태인지 확인할 수 있습니다.
  • STONITH Resources 섹션에 설정한 STONITH 리소스가 나와야 합니다.

예시)

Stack: corosync
Current DC: node1 (version 2.1.x) - partition with quorum
Last updated: Fri Dec 20 15:30:00 2024
Last change: Fri Dec 20 15:20:00 2024 by root via cibadmin on node1

2 nodes configured
2 resources configured

Online: [ node1 node2 ]

Active resources:
 fence-drac  (stonith:fence_drac5):    Started node1

 

[확인2]

crm configure show | grep stonith-enabled
# 예상 결과
stonith-enabled: true

 

 

[테스트]

STONITH 설정 동작 테스트

stonith_admin --reboot <노드_이름>

또는

pcs stonith fence <노드_이름>

[log]

tail -f /var/log/pacemaker.log
tail -f /var/log/corosync/corosync.log

예시 로그)
Dec 20 15:31:00 node1 pacemaker-fenced[1234]: Operation 'on' targeting node2 successful
LIST

'🐳 Infra > DRBD' 카테고리의 다른 글

[ HA ] 서버 클러스터링에 대해서 알아보기  (0) 2025.03.19
stickiness 값 설정 기준 및 수정법  (1) 2024.12.20
'🐳 Infra/DRBD' 카테고리의 다른 글
  • [ HA ] 서버 클러스터링에 대해서 알아보기
  • stickiness 값 설정 기준 및 수정법
terranbin
terranbin
Studying Computer Science
EngineerStudying Computer Science
  • terranbin
    Engineer
    terranbin
  • 전체
    오늘
    어제
    • 분류 전체보기 (129)
      • ☁️Cloud (42)
        • AWS (38)
        • MS Azure (4)
      • 🐳 Infra (1)
        • System (12)
        • DRBD (3)
      • 🔌Network (8)
      • 🔹Storage (8)
      • 🔹Kubernetes (15)
      • 🔹 DevOps (8)
      • 🔹Study (4)
      • 🔹Install (6)
      • 🔹ETC (2)
      • 🔹PostMan (6)
      • 🔹Openstack (3)
      • 🔹RcloneView (6)
      • 🔹Test (0)
      • 🔹Debug (2)
      • 🔹DBMS (2)
  • 블로그 메뉴

    • 홈
  • 링크

    • sungbin
    • Github
  • 공지사항

  • 인기 글

  • 태그

    SAA
    설치
    network
    rcloneview
    rocky9
    aws dlt
    rocky8
    ceph
    OpenStack
    centos7
    Google Drive
    EC2
    kubernetes
    kubectl
    EBS
    AWS
    terraform
    distributed load testing
    postman
    S3
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
terranbin
Fencing 개념 및 설정 방법

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.