9.12. Ceph Object Gateway의 가비지 컬렉션 최적화


새 데이터 오브젝트가 스토리지 클러스터에 작성되면 Ceph Object Gateway에서 이러한 새 오브젝트에 즉시 스토리지를 할당합니다. 스토리지 클러스터에서 데이터 오브젝트를 삭제하거나 덮어쓰면 Ceph Object Gateway는 버킷 인덱스에서 해당 오브젝트를 삭제합니다. 잠시 후 Ceph Object Gateway는 스토리지 클러스터에 오브젝트를 저장하는 데 사용된 공간을 제거합니다. 스토리지 클러스터에서 삭제된 오브젝트 데이터를 제거하는 프로세스를 Garbage Collection 또는 GC라고 합니다.

가비지 컬렉션 작업은 일반적으로 백그라운드에서 실행됩니다. 이러한 작업을 지속적으로 실행하거나 활동이 낮은 워크로드 및 간단한 워크로드 간격 동안만 실행되도록 구성할 수 있습니다. 기본적으로 Ceph Object Gateway는 GC 작업을 지속적으로 수행합니다. GC 작업은 Ceph Object Gateway 작업의 정상적인 부분이므로 가비지 컬렉션을 받을 수 있는 삭제된 오브젝트는 대부분 존재합니다.

9.12.1. 가비지 컬렉션 대기열 보기

스토리지 클러스터에서 삭제 및 덮어쓰는 오브젝트를 제거하기 전에 radosgw-admin 을 사용하여 가비지 컬렉션을 기다리는 오브젝트를 확인합니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph Object Gateway에 대한 루트 수준 액세스.

프로세스

  • 가비지 컬렉션을 기다리는 개체의 큐를 보려면 다음을 수행합니다.

    [ceph: root@host01 /]# radosgw-admin gc list

참고

만료되지 않은 항목을 포함하여 큐의 모든 항목을 나열하려면 --include-all 옵션을 사용합니다.

9.12.2. Garbage 컬렉션 설정 조정

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

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

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

radosgw-admin gc list

가비지 컬렉션은 스토리지 관리자가 Ceph Object Gateway를 구성하는 방법에 따라 지속적으로 또는 낮은 로드 시간 동안 실행되는 백그라운드 활동입니다. 기본적으로 Ceph Object Gateway는 가비지 컬렉션 작업을 지속적으로 수행합니다. 가비지 컬렉션 작업은 Ceph Object Gateway의 정상적인 기능이며, 특히 오브젝트 삭제 작업과 함께 가비지 컬렉션에 적합한 개체는 대부분 존재합니다.

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

  • 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부터 가비지 컬렉션 로그에서 인덱스 오브젝트의 OMAP를 오프로드하면 스토리지 클러스터에 대한 가비지 수집 작업의 성능 영향을 줄일 수 있습니다. 다음과 같이 몇 가지 새로운 구성 매개 변수가 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 8 이상에 사용됩니다.

참고

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

9.12.3. 삭제가 필요한 워크로드에 대한 가비지 컬렉션 조정

일부 워크로드는 가비지 컬렉션 활동 속도를 일시적으로 또는 영구적으로 비활성화할 수 있습니다. 이는 특히 짧은 기간 동안 많은 오브젝트가 저장되고 삭제되는 삭제와 관련된 워크로드에서 특히 그러합니다. 이러한 유형의 워크로드의 경우 다른 작업과 관련된 가비지 수집 작업의 우선 순위를 늘리는 것이 좋습니다. Ceph Object Gateway Garbage Collection에 대한 추가 질문이 있는 경우 Red Hat 지원팀에 문의하십시오.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.

프로세스

  1. rgw_gc_max_concurrent_io 값을 20 으로 설정하고 rgw_gc_max_trim_chunk 의 값을 64 로 설정합니다.

    [ceph: root@host01 /]# ceph config set client.rgw rgw_gc_max_concurrent_io 20
    [ceph: root@host01 /]# ceph config set client.rgw rgw_gc_max_trim_chunk 64

  2. Ceph Object Gateway를 다시 시작하여 변경된 설정을 적용할 수 있습니다.
  3. GC 활동 중에 스토리지 클러스터를 모니터링하여 증가된 값이 성능에 부정적인 영향을 미치지 않는지 확인합니다.
중요

실행 중인 클러스터에서 rgw_gc_max_objs 옵션의 값을 수정하지 마십시오. RGW 노드를 배포하기 전에 이 값을 변경해야 합니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동