트러블슈팅

[OpenStack] openstack cinder volume 삭제 오류

KidAnt 2023. 12. 19. 15:08

발단

  1. volume을 db에서 강제삭제 하였으나 cinder volume disk가 정상적으로 지워지지 않은 상황 발생 (fdisk -l시 할당되어 있음)
  2. mriadb에서도 삭제됨

조치

  • lv 삭제 시도(lvremove)
  • 실패 (어딘가에 마운트됨)
  • openstack 아키텍처 별로 stop 후 재삭제 시도
  • 실패 (동일)
  • 'vi syslog' 로 cinder 동작 확인
  • tgt 마운트 흔적 발견(cinde의 부가적 demon, cinde의 설정파일에 존재함)
Nov 23 14:51:40 testserver tgtd[1428]: tgtd: device_mgmt(246) sz:69 params:path=/dev/cinder-volumes/volume-00752a82-9373-4921-84e2-6954ac6616cd
Nov 23 14:51:40 testserver tgtd[1428]: tgtd: bs_thread_open(409) 16
Nov 23 14:51:40 testserver tgtd[1428]: tgtd: device_mgmt(246) sz:69 params:path=/dev/cinder-volumes/volume-2c106d6d-3f0d-48a6-b611-dc48a74abc02
Nov 23 14:51:40 testserver tgtd[1428]: tgtd: bs_thread_open(409) 16
Nov 23 14:51:40 testserver tgtd[1428]: tgtd: device_mgmt(246) sz:69 params:path=/dev/cinder-volumes/volume-2fc03c92-43fa-4bf9-b712-2dd81aa7be44
Nov 23 14:51:40 testserver tgtd[1428]: tgtd: bs_thread_open(409) 16
Nov 23 14:51:40 testserver tgtd[1428]: tgtd: device_mgmt(246) sz:69 params:path=/dev/cinder-volumes/volume-89e6fea3-0b8c-4677-b81d-1447b33d9e68
Nov 23 14:51:40 testserver tgtd[1428]: tgtd: bs_thread_open(409) 16

 

 

service sertgt stop
  • 해당 tgt를 멈추고 삭제 시도
  • 삭제 완료

사후강평

  1. 상당히 막무가네로 진행한 해결방법으로 db가 꼬여버려서 Horizon대시보드에서 volume이 삭제되었음에도 해당부분만큼 줄어들지 않는 현상이 발견됨
  2. 이를 해결할려면 재설치나 새 프로젝트를 생성하는 방법밖에 없고 대시보드에서 인스턴스 하드 총량을 따로 표시해주기 때문에 openstack 사용에는 문제가 없어 해당 부분은 따로 조치를 하지 않기로 결정함
  3. 또한 이러한 일을 방지하기 아래의 CLI를 이용한 volume 삭제방법을 권장함


CLI volume 삭제방법

#admin으로 권한 설정 후

openstack volume list --all

# volume id를 확인하고


#해당 volume에 스냅샷 등의 다른 연결 있는지 확인 후

cinder reset-state --state available <id>

# available  상태로 전환


cinder reset-state --reset-migration-status <id>
# migration 상태로 전환 


cinder reset-state --attach-status detached <id>
# 인스턴스에 volume 연결 해제


cinder delete <id>

# volume 삭제