7.11.2. Garbage 컬렉션 설정 조정

Ceph Object Gateway는 새로 작성한 오브젝트와 덮어쓰는 오브젝트에 즉시 스토리지를 할당합니다. 또한 다중 파트 업로드의 일부는 일부 스토리지도 사용합니다.

버킷 인덱스에서 오브젝트를 삭제한 후 Ceph Object Gateway는 삭제된 오브젝트에 사용된 스토리지 공간을 제거합니다. 마찬가지로 Ceph Object Gateway는 다중 파트 업로드가 완료된 후 또는 업로드가 비활성화되었거나 구성 가능한 시간 동안 완료되지 않은 경우 다중 파트 업로드와 연관된 데이터를 삭제합니다. Red Hat Ceph Storage 클러스터에서 삭제된 개체 데이터를 제거하는 프로세스를 GC(가비지 컬렉션)라고 합니다.

가비지 컬렉션을 기다리는 오브젝트는 다음 명령을 사용하여 수행할 수 있습니다.

radosgw-admin gc list

가비지 컬렉션은 스토리지 관리자가 Ceph 개체 게이트웨이를 구성하는 방법에 따라 지속적으로 또는 낮은 로드 시간에 실행되는 백그라운드 활동입니다. 기본적으로 Ceph Object Gateway는 가비지 컬렉션 작업을 지속적으로 수행합니다. 가비지 컬렉션 작업은 특히 개체 삭제 작업에서 Ceph 개체 게이트웨이의 일반적인 기능이므로 대부분의 경우 가비지 컬렉션에 적합한 개체가 있습니다.

일부 워크로드는 가비지 컬렉션 활동의 속도를 일시적으로 또는 영구적으로 초과할 수 있습니다. 이는 특히 많은 오브젝트가 짧은 기간 동안 저장되고 삭제되는 삭제가 많은 워크로드에 적용됩니다. 이러한 유형의 워크로드의 경우 스토리지 관리자는 다음 구성 매개 변수를 사용하여 다른 작업을 기준으로 가비지 수집 작업의 우선 순위를 늘릴 수 있습니다.

  • rgw_gc_obj_min_wait 구성 옵션은 삭제된 오브젝트의 데이터를 제거하기 전에 최소 시간(초)을 기다립니다. 기본값은 2시간 또는 7200초입니다. 클라이언트가 오브젝트를 읽을 수 있기 때문에 개체가 즉시 제거되지 않습니다. 많은 워크로드를 삭제하면 이 설정이 너무 많은 스토리지를 사용하거나 제거할 오브젝트 수가 많을 수 있습니다. Red Hat은 이 값을 30분 이하 또는 1800초 미만으로 설정하지 않는 것이 좋습니다.
  • rgw_gc_processor_period 구성 옵션은 가비지 컬렉션 사이클 런타임입니다. 즉 가비지 컬렉션 스레드의 연속 실행 사이의 시간입니다. 가비지 컬렉션이 이 기간보다 오래 실행되는 경우 Ceph Object Gateway는 가비지 컬렉션 주기를 다시 실행하기 전에 기다리지 않습니다.
  • rgw_gc_max_concurrent_io 구성 옵션은 게이트웨이 가비지 컬렉션 스레드에서 삭제된 데이터를 삭제할 때 사용할 최대 동시 IO 작업 수를 지정합니다. 많은 워크로드를 삭제하면 이 설정을 다수의 동시 IO 작업으로 늘리는 것이 좋습니다.
  • rgw_gc_max_trim_chunk 구성 옵션은 단일 작업에서 가비지 컬렉터 로그에서 제거할 최대 키 수를 지정합니다. 삭제에 따른 작업에서 각 가비지 수집 작업 중에 더 많은 오브젝트가 제거되도록 최대 키 수를 늘리는 것이 좋습니다.

Red Hat Ceph Storage 4.1부터 가비지 컬렉션 로그에서 인덱스 오브젝트의AP를 해제하면 스토리지 클러스터에서 가비지 수집 작업의 성능에 미치는 영향을 줄일 수 있습니다. 다음과 같이 몇 가지 새로운 구성 매개 변수가 Ceph Object Gateway에 추가되어 가비지 컬렉션 큐를 조정합니다.

  • rgw_gc_max_deferred_entries_size 구성 옵션은 가비지 컬렉션 큐에서 지연된 항목의 최대 크기를 설정합니다.
  • rgw_gc_max_queue_size 구성 옵션은 가비지 컬렉션에 사용되는 최대 큐 크기를 설정합니다. 이 값은 osd_max_object_size - rgw_ gc_max_deferred_entries_size - 1KB보다 크지 않아야 합니다.
  • rgw_gc_max_deferred 구성 옵션은 가비지 컬렉션 큐에 저장된 지연된 최대 항목 수를 설정합니다.
참고

이러한 가비지 컬렉션 구성 매개 변수는 Red Hat Ceph Storage 5 이상용입니다.

참고

테스트에서 50% 삭제 및 50% 쓰기 작업과 같이 균등하게 균형을 맞추는 삭제-쓰기 워크로드가 있는 경우 스토리지 클러스터는 11시간으로 완전히 채워집니다. 이는 Ceph Object Gateway 가비지 컬렉션이 삭제 작업에 보조를 맞추지 못하기 때문입니다. 이 경우 클러스터 상태가 HEALTH_ERR 상태로 전환됩니다. 병렬 가비지 컬렉션 튜닝 가능 항목에 대한 공격적인 설정은 스토리지 클러스터의 시작 부분을 크게 지연시키고 많은 워크로드에 도움이 될 수 있습니다. 일반적인 실제 스토리지 클러스터 워크로드는 주로 가비지 컬렉션으로 인해 스토리지 클러스터 채우기를 유발할 가능성이 낮습니다.