9장. 대상 볼륨에서 공간 회수

대상 볼륨에서 회수 공간 작업을 사용하여 실제 사용 가능한 공간에 액세스할 수 있습니다. 회수 작업에서는 영구 볼륨에서 파일 또는 데이터를 삭제하고 이 작업을 Ceph RBD에 사용할 수 있는 경우 사용 가능한 스토리지 공간과 함께 모호성을 제거합니다. 오브젝트는 여전히 RBD 장치에 남아 있고 스토리지가 Ceph 클러스터에 해제되지 않으므로 사용 가능한 실제 스토리지 공간에 대한 잘못된 정보가 표시됩니다.

공간 회수 작업은 RBD 장치에 rbd sparsify 를 트리거합니다. 이를 통해 제로된 이미지 확장 영역의 공간을 회수합니다. 파일 시스템 모드의 경우 fstrim 은 블록 장치에 마운트된 파일 시스템에서도 수행됩니다. 파일 시스템에서 fstrim 이 활성화되면 다음 모드로 Ceph RBD를 기반으로 ReadWriteOnce(RWO) 액세스를 사용하여 PVC를 생성할 수 있습니다.

  • 볼륨 모드 블록
  • 볼륨 모드 파일 시스템
참고

새로 설치된 클러스터의 경우 회수 공간 작업은 기본적으로 활성화됩니다.

업그레이드된 클러스터에 대한 회수 공간 작업을 활성화하려면 openshift-storage 네임스페이스의 rook-ceph-operator-override configmap에서 CSI_ENABLE_CSIADDONS: "true" 를 설정합니다.

$ oc patch cm rook-ceph-operator-config -n openshift-storage -p $'data:\n "CSI_ENABLE_CSIADDONS": "true"'

다음 세 가지 방법 중 하나를 사용하여 공간을 회수할 수 있습니다.

  • ReclaimSpaceJob을 사용하여 공간 회수 작업 활성화
  • ReclaimSpaceCronJob을 사용하여 공간 회수 작업 활성화
  • PersistentVolumeClaims를 사용하여 공간 회수 작업(Red Hat은 이 방법을 사용하여 공간 회수 작업 활성화)을 활성화하는 것이 좋습니다.

9.1. ReclaimSpaceJob을 사용하여 공간 회수 작업 활성화

ReclaimSpaceJob 은 대상 볼륨에서 회수 공간 작업을 호출하도록 설계된 네임스페이스가 지정된 사용자 정의 리소스입니다. 이는 공간 회수 작업을 즉시 시작하는 일회성 방법입니다. 필요한 경우 회수 공간 작업을 반복하려면 ReclaimSpaceJob CR 생성을 반복해야 합니다.

절차

  1. 공간 회수 작업을 위해 다음 사용자 정의 리소스를 생성하고 적용합니다.

    apiVersion: csiaddons.openshift.io/v1alpha1
    kind: ReclaimSpaceJob
    metadata:
      name: sample-1
    spec:
      target:
        persistentVolumeClaim: pvc-1

    위의 yaml에서 사용되는 변수는 다음과 같습니다.

    • target 은 작업이 수행할 볼륨 대상을 나타냅니다.

      • PersistentVolumeClaim 에는 PersistentVolumeClaim 의 이름을 나타내는 문자열이 포함되어 있습니다.
    • backoffLimit 은 회수 공간 작업이 실패하기 전에 최대 재시도 횟수를 지정합니다. 지정하지 않으면 기본값은 6으로 설정됩니다. 허용되는 최대 값과 최소값은 60 및 0입니다.
    • retryDeadlineSeconds 는 시작 시간을 기준으로 작업이 중단될 수 있는 기간을 지정합니다. 값은 양의 정수여야 하며 시간 단위가 초 단위여야 합니다. 지정하지 않으면 기본값은 600초로 설정됩니다. 허용되는 최대 값은 1800입니다.
  2. 작업이 완료된 후 고객 리소스를 삭제합니다.