10장. 대상 볼륨에서 공간 회수
삭제된 파일 또는 제로 데이터 청크는 Ceph 클러스터에서 스토리지 공간을 차지하여 사용 가능한 스토리지 공간을 부정확하게 보고합니다. 회수 공간 작업은 대상 볼륨에서 다음 작업을 실행하여 이러한 불일치를 제거합니다.
-
fstrim- 이 작업은파일 시스템모드에 있는 볼륨에서 실행되며 회수 공간 작업을 실행할 때 볼륨이 Pod에 마운트된 경우에만 실행됩니다. -
RBD Sparsify- 이 작업은 볼륨이 Pod에 연결되지 않은 경우 실행되고 4M 크기의 제로 크기의 청크로 사용되는 공간을 회수합니다.
- 회수 공간 작업은 Ceph RBD 볼륨에서만 지원됩니다.
- 회수 공간 작업은 실행 시 성능 저하가 발생합니다.
다음 방법 중 하나를 사용하여 공간을 회수할 수 있습니다.
- PersistentVolumeClaims 주석을 사용하여 회수 공간 작업 활성화( 회수 공간 작업을 활성화하는 데 사용할 권장 방법)
- ReclaimSpaceJob을 사용하여 회수 공간 작업 활성화
- ReclaimSpaceCronJob을 사용하여 회수 공간 작업 활성화
10.1. PersistentVolumeClaims 주석을 사용하여 회수 공간 작업 활성화 링크 복사링크가 클립보드에 복사되었습니다!
지정된 일정에 따라 회수 공간 작업을 자동으로 호출할 수 있도록 PersistentVolumeClaims 에 주석을 달 때는 다음 절차를 사용하십시오.
- schedule 값은 반복 작업 요청 및/또는 간격을 설정하는 Kubernetes CronJobs 와 동일한 형식입니다.
-
권장 일정 간격은
@weekly입니다. 일정 간격 값이 비어 있거나 유효하지 않은 형식의 경우 기본 일정 값은@weekly로 설정됩니다. -
예약된 각 작업 사이에 지원되는 최소 간격은 최소 24시간입니다. 예를 들어
@daily(하루 00:00시) 또는0 3 * * *(매일 3:00)입니다. -
off-peak, 유지 관리 창 또는 워크로드 입력/출력이 낮은 것으로 예상되는 간격 동안
ReclaimSpace작업을 예약합니다. -
일정이수정되면ReclaimSpaceCronJob이 다시 생성됩니다. 주석이 제거되면 자동으로 삭제됩니다.
프로세스
PVC(영구 볼륨 클레임) 세부 정보를 가져옵니다.
oc get pvc data-pvc
$ oc get pvc data-pvcCopy to Clipboard Copied! Toggle word wrap Toggle overflow NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE data-pvc Bound pvc-f37b8582-4b04-4676-88dd-e1b95c6abf74 1Gi RWO ocs-storagecluster-ceph-rbd 20h
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE data-pvc Bound pvc-f37b8582-4b04-4676-88dd-e1b95c6abf74 1Gi RWO ocs-storagecluster-ceph-rbd 20hCopy to Clipboard Copied! Toggle word wrap Toggle overflow reclaimspace.csiaddons.openshift.io/schedule=@monthly주석을 PVC에 추가하여reclaimspacecronjob을 생성합니다.oc annotate pvc data-pvc "reclaimspace.csiaddons.openshift.io/schedule=@monthly"
$ oc annotate pvc data-pvc "reclaimspace.csiaddons.openshift.io/schedule=@monthly"Copy to Clipboard Copied! Toggle word wrap Toggle overflow persistentvolumeclaim/data-pvc annotated
persistentvolumeclaim/data-pvc annotatedCopy to Clipboard Copied! Toggle word wrap Toggle overflow reclaimspacecronjob이"<pvc-name>-xxxxxxx"형식으로 생성되었는지 확인합니다.oc get reclaimspacecronjobs.csiaddons.openshift.io
$ oc get reclaimspacecronjobs.csiaddons.openshift.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow NAME SCHEDULE SUSPEND ACTIVE LASTSCHEDULE AGE data-pvc-1642663516 @monthly 3s
NAME SCHEDULE SUSPEND ACTIVE LASTSCHEDULE AGE data-pvc-1642663516 @monthly 3sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 작업을 자동으로 실행하도록 일정을 수정합니다.
oc annotate pvc data-pvc "reclaimspace.csiaddons.openshift.io/schedule=@weekly" --overwrite=true
$ oc annotate pvc data-pvc "reclaimspace.csiaddons.openshift.io/schedule=@weekly" --overwrite=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow persistentvolumeclaim/data-pvc annotated
persistentvolumeclaim/data-pvc annotatedCopy to Clipboard Copied! Toggle word wrap Toggle overflow reclaimspacecronjob일정이 수정되었는지 확인합니다.oc get reclaimspacecronjobs.csiaddons.openshift.io
$ oc get reclaimspacecronjobs.csiaddons.openshift.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow NAME SCHEDULE SUSPEND ACTIVE LASTSCHEDULE AGE data-pvc-1642664617 @weekly 3s
NAME SCHEDULE SUSPEND ACTIVE LASTSCHEDULE AGE data-pvc-1642664617 @weekly 3sCopy to Clipboard Copied! Toggle word wrap Toggle overflow