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 계층에서 오브젝트들을 스캔하거나 하위 오브젝트 접근에 필요
- 스냅샷, 이미지 목록 조회, 삭제 등 고급 작업에 필수
- allow rwx pool=volumes:
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 연동 이슈를 해결할 때 유용하게 사용됩니다.