CLOUD

OpenStack ceph 스냅샷 삭제 시 실패하는 권한 문제 해결 정리

92Hoonhee 2025. 3. 28. 11:11

Ceph 인증 키와 권한(Caps) 설명 정리

1. Ceph 인증 키 구조

  • Ceph는 서비스별로 클러스터 접근을 위한 인증 키(keyring)를 사용합니다.
  • 일반적으로 /etc/ceph/ 또는 Kolla 환경에서는 /etc/kolla/<서비스>/ceph/ 경로에 위치합니다.

2. 권한 정보 (caps)

  • 키 자체는 인증을 위한 도구일 뿐, 실제 권한은 Ceph 클러스터 내부에 저장된 caps 값에 따라 결정됩니다.
  • ceph auth get client.<id> 명령어를 통해 키의 실제 권한을 확인할 수 있습니다.

3. Caps 필드 구성 예시

caps mon = "allow r"
caps osd = "allow class-read object_prefix rbd_children, allow rwx pool=volumes"
  • mon = "allow r": monitor에 대한 read-only 권한 (기본 요구)
  • osd 권한:
    • allow rwx pool=volumes:
      • r: read (읽기)
      • w: write (쓰기)
      • x: execute (삭제 및 관리 등 포함된 확장 권한)
    • allow class-read object_prefix rbd_children:
      • RBD 계층에서 오브젝트들을 스캔하거나 하위 오브젝트 접근에 필요
      • 스냅샷, 이미지 목록 조회, 삭제 등 고급 작업에 필수

4. 주의 사항

  • 단순히 키 파일(.keyring)만 있다고 해서 그 권한을 가진다고 단정지을 수는 없습니다.
  • 클러스터 내부에 등록된 caps를 기준으로 판단해야 하며, 항상 다음 명령으로 확인합니다:
  • ceph auth get client.cinder

5. 권한 수정 예시

  • 필요 시 권한을 재정의하거나 추가할 수 있습니다:
  • ceph auth caps client.cinder \ mon "allow r" \ osd "allow class-read object_prefix=rbd_children, allow rwx pool=volumes"

이 정리는 OpenStack 환경에서 Cinder, Glance, Nova 등의 Ceph 연동 이슈를 해결할 때 유용하게 사용됩니다.