프로젝트

일반

사용자 정보

실행

새 기능 #13760

HA backend의 Pacemaker 자원 관리 추가

오 지호님이 7일 전에 추가함. 7일 전에 수정됨.

상태:
진행
우선 순위:
보통
담당자:
목표 버전:
시작 시간:
2026/09/21
완료 기한:
2026/09/21 (8일 지연)
진척도:

100%

추정 시간:
4:00 시간
발견 버전:
반영 버전:
난이도:
보통
중요도:
하
조력자:
회사:
연락처:
점수:
0.00

설명

개요

여러 노드로 묶인 backend에서는 share가 VIP를 따라 옮겨 다녀야 한다. share의 volume group과 filesystem, export를 Pacemaker 자원으로 등록하고 해제하는 경로를 넣는다. 단일 노드 backend는 지금과 동일하게 동작한다.

작업 내용

  • Pacemaker client binding: 관리 API 위에 자원 생성과 삭제, 기동, 정지, share의 자원들을 한 노드에 묶는 constraint, VIP group 조회를 감싼다
  • share 생성: volume group과 filesystem, export를 service VIP에 colocate한 자원으로 만든다. 자원 배치는 anystor-csi와 같은 형태라 두 driver가 backend 하나를 공유할 수 있다. 자원은 node maintenance window 안에서 만든다. 그 밖에서 만든 자원은 cluster가 받아들이지 않는다. export는 반대로 window 밖에서, share 자원이 기동한 뒤에 만든다
  • share 삭제: 생성의 역순으로 내리되 cluster가 허용하는 순서를 따른다. share 자원은 정지시키면 constraint를 타고 filesystem 자원까지 내려가므로 곧바로 삭제한다. filesystem 자원은 기동 중에 삭제하면 정의만 CIB에서 빠지고 실행 중인 instance가 남으므로, 먼저 비활성화하고 정지를 기다린 뒤 삭제한다. 공용 volume group 자원은 mount된 share가 더 없을 때만 내린다
  • 설정: anystor_ha_enabled로 setup 시점에 구현을 한 번 고르고, anystor_vip_group으로 따라갈 VIP를 지정한다. HA를 쓰지 않으면 Pacemaker 요청을 전혀 보내지 않는다
  • GMS mock: 자원과 constraint, service VIP를 모사하고 실제 cluster가 거절하는 상황을 그대로 거절한다. maintenance window 밖 생성, 기동 중 삭제, score 없는 constraint 세 가지다
  • 통합 검사: HA를 켠 manila 설정과 ha-check.sh로 stack을 다시 띄워 end-to-end 전 과정을 재수행하고, share마다 남은 Pacemaker 자원과 constraint를 확인한다
  • 문서: HA backend가 무엇을 더하는지, 설정 옵션 두 개, 클러스터 검사 실행 방법을 기록한다
실행 #1

오 지호님이 7일 전에 변경

  • 난이도 항목을 지정했습니다. (보통)
실행 #2

오 지호님이 7일 전에 변경

  • 진척도 항목을 변경했습니다 (0 => 100)
실행

내보내기 Atom PDF

클립보드 이미지 추가 (최대 크기: 50 MB)