검색

9.3. 버킷 인덱스 재하드 구성

download PDF

스토리지 관리자는 단일 사이트 및 다중 사이트 배포에서 버킷 인덱스 재하드를 구성하여 성능을 향상시킬 수 있습니다.

버킷 인덱스를 수동으로 오프라인 또는 온라인으로 재하드할 수 있습니다.

9.3.1. 버킷 인덱스 재하드

Ceph Object Gateway는 인덱스 풀에 버킷 인덱스 데이터를 저장합니다. 기본값은 .rgw.buckets.index 매개변수입니다. 클라이언트가 버킷당 최대 오브젝트 수에 대한 할당량을 설정하지 않고 단일 버킷에 많은 오브젝트를 배치하면 인덱스 풀에서 성능이 저하될 수 있습니다.

  • 버킷별로 많은 수의 오브젝트를 추가할 때 버킷 인덱스 재하드를 통해 성능 병목 현상을 방지할 수 있습니다.
  • 새 버킷에 대한 버킷 인덱스 재하드를 구성하거나 기존 버킷에서 버킷 인덱스를 변경할 수 있습니다.
  • shard 수가 계산된 shard 수에 가장 가까운 소수로 있어야 합니다. 소수인 버킷 인덱스 shard는 shard 전체에서 균등하게 분산된 버킷 인덱스 항목에서 더 잘 작동하는 경향이 있습니다.
  • 버킷 인덱스를 수동으로 또는 동적으로 재하드할 수 있습니다.

    버킷 인덱스를 동적으로 재하드하는 프로세스 중에 모든 Ceph Object Gateway 버킷을 주기적으로 확인하고 재하드해야 하는 버킷을 감지합니다. 버킷이 rgw_max_objs_per_shard 매개변수에 지정된 값보다 크면 Ceph Object Gateway가 백그라운드에서 버킷을 동적으로 재하드합니다. rgw_max_objs_per_shard 의 기본값은 shard당 100k 오브젝트입니다. 버킷 인덱스 복구는 영역 또는 영역 그룹을 수정하지 않고 업그레이드된 단일 사이트 구성에서 예상대로 동적으로 작동합니다. 단일 사이트 구성은 다음 중 하나일 수 있습니다.

    • 영역이 없는 기본 영역 구성입니다.
    • 하나 이상의 영역이 있는 기본이 아닌 구성입니다.
    • 다중 영역 단일 사이트 구성.
참고

버전 지정된 버킷은 특히 개체의 작은 하위 집합을 작성하고 다시 작성하는 경우 불균형된 인덱스를 나타낼 수 있습니다. 이 문제로 인해 많은 수의 오브젝트 업로드가 발생할 때 버전이 지정된 버킷에 있는 큰 omap이 발생할 수 있습니다.

9.3.2. 버킷 인덱스 복구

bucket_index_max_shards = 0 을 사용하여 생성된 버킷을 다시 고정하면 버킷의 메타데이터가 제거됩니다. 그러나 영향을 받는 버킷을 복구하여 버킷 인덱스를 복원할 수 있습니다.

/usr/bin/rgw-restore-bucket-index 툴은 /tmp 디렉토리에 임시 파일을 생성합니다. 이러한 임시 파일은 이전 버킷의 버킷 오브젝트 수에 따라 공간을 사용합니다. 10M 이상의 개체가 있는 이전 버킷에는 /tmp 디렉토리에 4GB 이상의 여유 공간이 필요합니다. /tmp 의 스토리지 공간이 소진되면 툴은 다음 메시지와 함께 실패합니다.

ln: failed to access '/tmp/rgwrbi-object-list.4053207': No such file or directory

임시 오브젝트가 제거됩니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph Object Gateway가 최소 두 개의 사이트에 설치되어 있습니다.
  • jq 패키지가 설치되어 있어야 합니다.

프로세스

  • 다음 두 단계 중 하나를 수행하여 버킷 인덱스 복구를 수행합니다.

    • radosgw-admin 오브젝트 reindex --bucket BUCKET_NAME --object OBJECT_NAME 명령을 실행합니다.
    • 스크립트 - /usr/bin/rgw-restore-bucket-index -b BUCKET_NAME -p DATA_POOL_NAME 을 실행합니다.

      예제

      [root@host01 ceph]# /usr/bin/rgw-restore-bucket-index -b bucket-large-1 -p local-zone.rgw.buckets.data
      
      marker is d8a347a4-99b6-4312-a5c1-75b83904b3d4.41610.2
      bucket_id is d8a347a4-99b6-4312-a5c1-75b83904b3d4.41610.2
      number of bucket index shards is 5
      data pool is local-zone.rgw.buckets.data
      NOTICE: This tool is currently considered EXPERIMENTAL.
      The list of objects that we will attempt to restore can be found in "/tmp/rgwrbi-object-list.49946".
      Please review the object names in that file (either below or in another window/terminal) before proceeding.
      Type "proceed!" to proceed, "view" to view object list, or "q" to quit: view
      Viewing...
      Type "proceed!" to proceed, "view" to view object list, or "q" to quit: proceed!
      Proceeding...
      NOTICE: Bucket stats are currently incorrect. They can be restored with the following command after 2 minutes:
          radosgw-admin bucket list --bucket=bucket-large-1 --allow-unordered --max-entries=1073741824
      Would you like to take the time to recalculate bucket stats now? [yes/no] yes
      Done
      
      real    2m16.530s
      user    0m1.082s
      sys    0m0.870s

참고
  • 이 툴은 버전이 지정된 버킷에서는 작동하지 않습니다.

    [root@host01 ~]# time rgw-restore-bucket-index  --proceed serp-bu-ver-1 default.rgw.buckets.data
    NOTICE: This tool is currently considered EXPERIMENTAL.
    marker is e871fb65-b87f-4c16-a7c3-064b66feb1c4.25076.5
    bucket_id is e871fb65-b87f-4c16-a7c3-064b66feb1c4.25076.5
    Error: this bucket appears to be versioned, and this tool cannot work with versioned buckets.
  • 도구의 범위는 멀티사이트가 아닌 단일 사이트로 제한됩니다. 즉, site-1에서 rgw-restore-bucket-index 도구를 실행하면 site-2에서 개체를 복구하지 않으며 그 반대의 경우도 마찬가지입니다. 다중 사이트에서는 버킷에 대해 두 사이트에서 복구 툴과 오브젝트 다시 인덱싱 명령을 실행해야 합니다.

9.3.3. 버킷 인덱스 resharding의 제한 사항

중요

다음 제한 사항을 주의하여 사용하십시오. 하드웨어 선택과 관련된 영향이 있으므로 Red Hat 계정 팀과 항상 이러한 요구 사항을 논의해야 합니다.

  • 재하드가 필요하기 전에 하나의 버킷에 있는 최대 오브젝트 수: 버킷 인덱스 shard당 최대 102,400개의 오브젝트를 사용합니다. 재하드 및 병렬 처리를 극대화하려면 Ceph Object Gateway 버킷 인덱스 풀에서 충분한 OSD를 제공합니다. 이 병렬화는 Ceph Object Gateway 인스턴스 수로 확장되며 순서 내 인덱스 shard 열거를 숫자 시퀀스로 대체합니다. 기본 잠금 제한 시간은 60초에서 90초로 연장됩니다.
  • 샤딩을 사용할 때 최대 오브젝트 수: 이전 테스트를 기반으로 현재 지원되는 버킷 인덱스 shard 수는 65521입니다. Red Hat 품질 보증은 버킷 샤딩에서 전체 확장성 테스트를 수행하지 않았습니다.
  • 샤딩을 사용할 때 최대 오브젝트 수: 이전 테스트를 기반으로 현재 지원되는 버킷 인덱스 shard 수는 65,521입니다.
  • 다른 영역이 수집되기 전에 버킷을 세 번 다시 마운트할 수 있습니다. 이전 세대가 동기화될 때까지 Resharding이 권장되지 않습니다. 이전 reshards의 약 4 세대의 버킷이 지원됩니다. 제한에 도달하면 이전 로그 생성 중 하나 이상이 완전히 트리밍될 때까지 동적 재하드가 버킷을 다시 덮어쓰지 않습니다. radosgw-admin 버킷 reshard 명령을 사용하면 다음 오류가 발생합니다.

    Bucket _BUCKET_NAME_ already has too many log generations (4) from previous reshards that peer zones haven't finished syncing.
    
    Resharding is not recommended until the old generations sync, but you can force a reshard with `--yes-i-really-mean-it`.

9.3.4. 간단한 배포에서 버킷 인덱스 재하드 구성

모든 새 버킷에서 버킷 인덱스 재하드를 활성화하고 구성하려면 rgw_override_bucket_index_max_shards 매개변수를 사용합니다.

매개변수를 다음 값 중 하나로 설정할 수 있습니다.

  • 버킷 인덱스 분할을 비활성화하려면 기본값입니다.
  • 버킷 샤딩을 활성화하고 최대 shard 수를 설정하는 0 보다 큰 값입니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph Object Gateway가 최소 두 개의 사이트에 설치되어 있습니다.

프로세스

  1. 권장 shard 수를 계산합니다.

    number of objects expected in a bucket / 100,000
    참고

    현재 지원되는 최대 버킷 인덱스 shard 수는 65,521입니다.

  2. 그에 따라 rgw_override_bucket_index_max_shards 옵션을 설정합니다.

    구문

    ceph config set client.rgw rgw_override_bucket_index_max_shards VALUE

    VALUE 를 계산된 권장 shard 수로 바꿉니다.

    예제

    [ceph: root@host01 /]# ceph config set client.rgw rgw_override_bucket_index_max_shards 12

    • Ceph Object Gateway의 모든 인스턴스에 대해 버킷 인덱스 재하드를 구성하려면 글로벌 옵션을 사용하여 rgw_override_bucket_index_max_shards 매개변수를 설정합니다.
    • Ceph Object Gateway의 특정 인스턴스에 대해서만 버킷 인덱스 재하드를 구성하려면 인스턴스에 rgw_override_bucket_index_max_shards 매개변수를 추가합니다.
  3. 클러스터의 모든 노드에서 Ceph Object Gateway를 다시 시작하여 적용합니다.

    구문

    ceph orch restart SERVICE_TYPE

    예제

    [ceph: root#host01 /]# ceph orch restart rgw

추가 리소스

9.3.5. 다중 사이트 배포에서 버킷 인덱스 재하드 구성

다중 사이트 배포에서 각 영역에 장애 조치를 관리하기 위해 다른 index_pool 설정이 있을 수 있습니다. 하나의 영역 그룹에서 영역에 대한 shard 수를 일관되게 구성하려면 해당 영역 그룹의 구성에 bucket_index_max_shards 매개변수를 설정합니다. bucket_index_max_shards 매개변수의 기본값은 11입니다.

매개변수를 다음 값 중 하나로 설정할 수 있습니다.

  • 버킷 인덱스 분할을 비활성화하려면 0 입니다.
  • 버킷 샤딩을 활성화하고 최대 shard 수를 설정하는 0 보다 큰 값입니다.
참고

해당하는 경우 각 영역의 인덱스 풀을 SSD 기반 OSD의 CRUSH 규칙 세트에 매핑하면 버킷 인덱스 성능에 도움이 될 수 있습니다. 자세한 내용은 성능 도메인 설정 섹션을 참조하십시오.

중요

다중 사이트 배포에서 동기화 문제를 방지하려면 버킷에 생성 간격이 3개 이상 없어야 합니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph Object Gateway가 최소 두 개의 사이트에 설치되어 있습니다.

프로세스

  1. 권장 shard 수를 계산합니다.

    number of objects expected in a bucket / 100,000
    참고

    현재 지원되는 최대 버킷 인덱스 shard 수는 65,521입니다.

  2. 영역 그룹 구성을 zonegroup.json 파일로 추출합니다.

    예제

    [ceph: root@host01 /]# radosgw-admin zonegroup get > zonegroup.json

  3. zonegroup.json 파일에서 이름이 지정된 각 영역에 대해 bucket_index_max_shards 매개변수를 설정합니다.

    구문

    bucket_index_max_shards = VALUE

    VALUE 를 계산된 권장 shard 수로 바꿉니다.

    예제

    bucket_index_max_shards = 12

  4. 영역 그룹을 재설정합니다.

    예제

    [ceph: root@host01 /]# radosgw-admin zonegroup set < zonegroup.json

  5. 기간을 업데이트합니다.

    예제

    [ceph: root@host01 /]# radosgw-admin period update --commit

  6. 복구가 완료되었는지 확인합니다.

    구문

    radosgw-admin reshard status --bucket BUCKET_NAME

    예제

    [ceph: root@host01 /]# radosgw-admin reshard status --bucket data

검증

  • 스토리지 클러스터의 동기화 상태를 확인합니다.

    예제

    [ceph: root@host01 /]# radosgw-admin sync status

9.3.6. 버킷 인덱스를 동적으로 복구

resharding 큐에 버킷을 추가하여 버킷 인덱스를 동적으로 재하드할 수 있습니다. 복구할 수 있도록 계획되어 있습니다. reshard 스레드는 백그라운드에서 실행되며 한 번에 하나씩 예약된 재하드를 실행합니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph Object Gateway가 최소 두 개의 사이트에 설치되어 있습니다.

프로세스

  1. rgw_dynamic_resharding 매개변수를 true 로 설정합니다.

    예제

    [ceph: root@host01 /]# radosgw-admin period get

  2. 선택 사항: 다음 명령을 사용하여 Ceph 구성을 사용자 지정합니다.

    구문

    ceph config set client.rgw OPTION VALUE

    OPTION을 다음 옵션으로 교체합니다.

    • rgw_reshard_num_logs: resharding 로그의 shard 수입니다. 기본값은 16 입니다.
    • rgw_reshard_bucket_lock_duration: 재하드하는 동안 버킷에 있는 잠금 기간입니다. 기본값은 360 초입니다.
    • rgw_dynamic_resharding: 동적 재하드를 활성화하거나 비활성화합니다. 기본값은 true입니다.
    • rgw_max_objs_per_shard: shard당 최대 오브젝트 수입니다. 기본값은 shard당 100000 오브젝트입니다.
    • rgw_reshard_thread_interval: reshard 스레드 처리의 라운드 사이의 최대 시간입니다. 기본값은 600 초입니다.

    예제

    [ceph: root@host01 /]# ceph config set client.rgw rgw_reshard_num_logs 23

  3. resharding 큐에 버킷을 추가합니다.

    구문

    radosgw-admin reshard add --bucket BUCKET --num-shards NUMBER

    예제

    [ceph: root@host01 /]# radosgw-admin reshard add --bucket data --num-shards 10

  4. resharding 큐를 나열합니다.

    예제

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

  5. 버킷 로그 생성 및 shard를 확인합니다.

    예제

    [ceph: root@host01 /]# radosgw-admin bucket layout --bucket data
    {
        "layout": {
            "resharding": "None",
            "current_index": {
                "gen": 1,
                "layout": {
                    "type": "Normal",
                    "normal": {
                        "num_shards": 23,
                        "hash_type": "Mod"
                    }
                }
            },
            "logs": [
                {
                    "gen": 0,
                    "layout": {
                        "type": "InIndex",
                        "in_index": {
                            "gen": 0,
                            "layout": {
                                "num_shards": 11,
                                "hash_type": "Mod"
                            }
                        }
                    }
                },
                {
                    "gen": 1,
                    "layout": {
                        "type": "InIndex",
                        "in_index": {
                            "gen": 1,
                            "layout": {
                                "num_shards": 23,
                                "hash_type": "Mod"
                            }
                        }
                    }
                }
            ]
        }
    }

  6. 버킷 재하드 상태를 확인합니다.

    구문

    radosgw-admin reshard status --bucket BUCKET

    예제

    [ceph: root@host01 /]# radosgw-admin reshard status --bucket data

  7. resharding 대기열의 즉시 프로세스 항목:

    [ceph: root@host01 /]# radosgw-admin reshard process
  8. 보류 중인 버킷 재하드를 취소합니다.

    주의

    보류 중인 재하드 작업만 취소할 수 있습니다. 진행 중인 재하드 작업을 취소하지 마십시오.

    구문

    radosgw-admin reshard cancel --bucket BUCKET

    예제

    [ceph: root@host01 /]# radosgw-admin reshard cancel --bucket data

검증

  • 버킷 재하드 상태를 확인합니다.

    구문

    radosgw-admin reshard status --bucket BUCKET

    예제

    [ceph: root@host01 /]# radosgw-admin reshard status --bucket data

9.3.7. 다중 사이트 구성에서 버킷 인덱스 복구

Red Hat Ceph Storage는 다중 사이트 구성에서 동적 버킷 인덱스 복구 기능을 지원합니다. 이 기능을 사용하면 오브젝트 복제를 중단하지 않고 버킷을 다중 사이트 구성으로 다시 고정할 수 있습니다. rgw_dynamic_resharding 이 활성화되면 각 영역에서 독립적으로 실행되며 영역은 동일한 버킷에 대해 다른 shard 수를 선택할 수 있습니다.

다음 단계를 수행하면 기존 Red Hat Ceph Storage 클러스터 사용할 수 있습니다. 스토리지 클러스터를 업그레이드한 후 기존 영역 및 영역 그룹에서 resharding 기능을 수동으로 활성화해야 합니다.

참고

영역 및 영역 그룹은 기본적으로 지원 및 활성화됩니다.

참고

다른 영역이 수집되기 전에 버킷을 세 번 다시 고정할 수 있습니다. 자세한 내용은 버킷 인덱스 resharding의 제한을 참조하십시오.

참고

동적으로 재하드하기 위한 임계값 수보다 많은 오브젝트 수를 사용하여 버킷을 생성하고 업로드한 경우 복구 프로세스를 시작하려면 이전 버킷에 I/O를 계속 작성해야 합니다.

사전 요구 사항

  • 두 사이트의 Red Hat Ceph Storage 클러스터는 최신 버전으로 업그레이드됩니다.
  • 두 사이트에서 모두 활성화된 모든 Ceph Object Gateway 데몬이 최신 버전으로 업그레이드됩니다.
  • 모든 노드에 대한 루트 수준 액세스.

프로세스

  1. zonegroup에서 resharding 이 활성화되어 있는지 확인합니다.

    예제

    [ceph: root@host01 /]# radosgw-admin sync status

    zonegroup에서 재하드하는 데 영역 그룹 기능이 활성화되지 않은 경우 절차를 계속합니다.

  2. Ceph Object Gateway가 설치된 다중 사이트 구성의 모든 영역 그룹에서 재하드 기능을 활성화합니다.

    구문

    radosgw-admin zonegroup modify --rgw-zonegroup=ZONEGROUP_NAME --enable-feature=resharding

    예제

    [ceph: root@host01 /]# radosgw-admin zonegroup modify --rgw-zonegroup=us --enable-feature=resharding

  3. 기간 및 커밋을 업데이트합니다.

    예제

    [ceph: root@host01 /]# radosgw-admin period update --commit

  4. Ceph Object Gateway가 설치된 다중 사이트 구성의 모든 영역에서 Resharding 기능을 활성화합니다.

    구문

    radosgw-admin zone modify --rgw-zone=ZONE_NAME --enable-feature=resharding

    예제

    [ceph: root@host01 /]# radosgw-admin zone modify --rgw-zone=us-east --enable-feature=resharding

  5. 기간 및 커밋을 업데이트합니다.

    예제

    [ceph: root@host01 /]# radosgw-admin period update --commit

  6. 영역 및 영역 그룹에서 resharding 기능이 활성화되었는지 확인합니다. 각 영역에 supported_features 가 나열되고 zonegroups가 enabled_features목록을 나열하는 것을 확인할 수 있습니다.

    예제

    [ceph: root@host01 /]# radosgw-admin period get
    
    "zones": [
                        {
                            "id": "505b48db-6de0-45d5-8208-8c98f7b1278d",
                            "name": "us_east",
                            "endpoints": [
                                "http://10.0.208.11:8080"
                            ],
                            "log_meta": "false",
                            "log_data": "true",
                            "bucket_index_max_shards": 11,
                            "read_only": "false",
                            "tier_type": "",
                            "sync_from_all": "true",
                            "sync_from": [],
                            "redirect_zone": "",
                            "supported_features": [
                                "resharding"
                            ]
                    "default_placement": "default-placement",
                    "realm_id": "26cf6f23-c3a0-4d57-aae4-9b0010ee55cc",
                    "sync_policy": {
                        "groups": []
                    },
                    "enabled_features": [
                        "resharding"
                    ]

  7. 동기화 상태를 확인합니다.

    예제

    [ceph: root@host01 /]# radosgw-admin sync status
              realm 26cf6f23-c3a0-4d57-aae4-9b0010ee55cc (usa)
          zonegroup 33a17718-6c77-493e-99fe-048d3110a06e (us)
               zone 505b48db-6de0-45d5-8208-8c98f7b1278d (us_east)
    zonegroup features enabled: resharding

    이 예에서는 us zonegroup에 대해 resharding 기능이 활성화됩니다.

  8. 선택 사항: 영역 그룹의 복구 기능을 비활성화 할 수 있습니다.

    중요

    단일 영역에서 재하드를 비활성화하려면 해당 특정 영역에서 rgw_dynamic_resharding 구성 옵션을 false 로 설정합니다.

    1. Ceph Object Gateway가 설치된 다중 사이트의 모든 영역 그룹에서 기능을 비활성화합니다.

      구문

      radosgw-admin zonegroup modify --rgw-zonegroup=ZONEGROUP_NAME --disable-feature=resharding

      예제

      [ceph: root@host01 /]# radosgw-admin zonegroup modify --rgw-zonegroup=us --disable-feature=resharding

    2. 기간 및 커밋을 업데이트합니다.

      예제

      [ceph: root@host01 /]# radosgw-admin period update --commit

추가 리소스

9.3.8. 버킷 인덱스를 수동으로 복구

버킷이 최적화된 초기 구성보다 커진 경우 radosgw-admin 버킷 reshard 명령을 사용하여 버킷 인덱스 풀을 다시 백업합니다. 이 명령은 다음 작업을 수행합니다.

  • 지정된 버킷에 대한 새 버킷 인덱스 오브젝트 세트를 생성합니다.
  • 이러한 버킷 인덱스 오브젝트에 오브젝트 항목을 배포합니다.
  • 새 버킷 인스턴스를 만듭니다.
  • 모든 새 인덱스 작업이 새 버킷 인덱스를 통과하도록 새 버킷 인스턴스를 버킷에 연결합니다.
  • 이전 및 새 버킷 ID를 명령 출력에 출력합니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph Object Gateway가 최소 두 개의 사이트에 설치되어 있습니다.

프로세스

  1. 원래 버킷 인덱스를 백업합니다.

    구문

    radosgw-admin bi list --bucket=BUCKET > BUCKET.list.backup

    예제

    [ceph: root@host01 /]# radosgw-admin bi list --bucket=data > data.list.backup

  2. 버킷 인덱스를 다시 작성합니다.

    구문

    radosgw-admin bucket reshard --bucket=BUCKET --num-shards=NUMBER

    예제

    [ceph: root@host01 /]# radosgw-admin bucket reshard --bucket=data --num-shards=100

검증

  • 버킷 재하드 상태를 확인합니다.

    구문

    radosgw-admin reshard status --bucket bucket

    예제

    [ceph: root@host01 /]# radosgw-admin reshard status --bucket data

추가 리소스

9.3.9. 재하드 후 오래된 버킷 항목 정리

resharding 프로세스에서 오래된 버킷 항목을 자동으로 정리하지 못할 수 있으며 이러한 인스턴스는 스토리지 클러스터의 성능에 영향을 미칠 수 있습니다.

오래된 인스턴스가 스토리지 클러스터의 성능에 부정적인 영향을 미치지 않도록 수동으로 정리합니다.

중요

오래된 인스턴스를 정리하기 전에 Red Hat 지원에 문의하십시오.

중요

다중 사이트 클러스터에서는 이 절차를 간단한 배포에서만 사용하십시오.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph 개체 게이트웨이가 설치되어 있어야 합니다.

프로세스

  1. 오래된 인스턴스를 나열합니다.

    [ceph: root@host01 /]# radosgw-admin reshard stale-instances list
  2. 버킷 항목의 오래된 인스턴스를 정리합니다.

    [ceph: root@host01 /]# radosgw-admin reshard stale-instances rm

검증

  • 버킷 재하드 상태를 확인합니다.

    구문

    radosgw-admin reshard status --bucket BUCKET

    예제

    [ceph: root@host01 /]# radosgw-admin reshard status --bucket data

9.3.10. 압축 활성화

Ceph Object Gateway는 Ceph의 압축 플러그인을 사용하여 업로드된 오브젝트의 서버 측 압축을 지원합니다. 여기에는 다음이 포함됩니다.

  • zlib: 지원됨.
  • snappy: 지원됨.
  • zstd: 지원.

설정

영역의 배치 대상에서 압축을 활성화하려면 radosgw-admin 영역 배치 수정 명령에 --compression=TYPE 옵션을 제공합니다. compression TYPE 은 새 오브젝트 데이터를 작성할 때 사용할 압축 플러그인의 이름을 나타냅니다.

각 압축 오브젝트는 압축 유형을 저장합니다. 설정을 변경해도 기존 압축 오브젝트의 압축을 해제하는 기능도 저하되지 않으며, Ceph Object Gateway에서 기존 개체의 압축을 다시 풉니다.

이 압축 설정은 이 배치 대상을 사용하여 버킷에 업로드된 모든 새 개체에 적용됩니다.

영역의 배치 대상에서 압축을 비활성화하려면 radosgw-admin 영역 배치 modify 명령에 --compression=TYPE 옵션을 제공하고 빈 문자열 또는 none 을 지정합니다.

예제

[root@host01 ~] radosgw-admin zone placement modify --rgw-zone=default --placement-id=default-placement --compression=zlib
{
...
    "placement_pools": [
        {
            "key": "default-placement",
            "val": {
                "index_pool": "default.rgw.buckets.index",
                "data_pool": "default.rgw.buckets.data",
                "data_extra_pool": "default.rgw.buckets.non-ec",
                "index_type": 0,
                "compression": "zlib"
            }
        }
    ],
...
}

압축을 활성화하거나 비활성화한 후 Ceph Object Gateway 인스턴스를 다시 시작하여 변경 사항이 적용됩니다.

참고

Ceph Object Gateway는 기본 영역과 일련의 풀을 생성합니다. 프로덕션 배포의 경우 먼저 Creating a Cryostat 섹션을 참조하십시오.

통계

기존 명령 및 API는 압축되지 않은 데이터를 기반으로 오브젝트 및 버킷 크기를 계속 보고하지만 radosgw-admin 버킷 통계 명령에는 모든 버킷에 대한 압축 통계가 포함되어 있습니다.

radosgw-admin 버킷 stats 명령의 사용 유형은 다음과 같습니다.

  • rgw.main 은 일반 항목 또는 오브젝트를 나타냅니다.
  • rgw.multimeta 는 불완전한 다중 파트 업로드의 메타데이터를 나타냅니다.
  • rgw.cloudtiered 는 라이프사이클 정책이 클라우드 계층으로 전환한 오브젝트를 나타냅니다. retain_head_object=true 로 구성하면 헤드 오브젝트는 더 이상 데이터가 포함되지 않은 뒤에 남아 있지만 HeadObject 요청을 통해 오브젝트의 메타데이터를 제공할 수 있습니다. 이러한 스텁 헤드 오브젝트는 rgw.cloudtiered 카테고리를 사용합니다. 자세한 내용은 Red Hat Ceph Storage Object Gateway 가이드Amazon S3 클라우드 서비스로 데이터 전송 섹션을 참조하십시오.

구문

radosgw-admin bucket stats --bucket=BUCKET_NAME
{
...
    "usage": {
        "rgw.main": {
            "size": 1075028,
            "size_actual": 1331200,
            "size_utilized": 592035,
            "size_kb": 1050,
            "size_kb_actual": 1300,
            "size_kb_utilized": 579,
            "num_objects": 104
        }
    },
...
}

크기는 버킷에 있는 오브젝트의 누적 크기이며 압축 해제 및 암호화되지 않습니다. size_kb 는 누적된 크기 (size/1024) 로 계산됩니다. 이 예에서는thecas (1075028/1024) = 1050 입니다.

size_actual 은 각 개체가 4096바이트 블록 세트로 배포된 후 모든 오브젝트의 누적 크기입니다. 버킷에 두 개의 오브젝트(크기 크기 4100바이트 중 하나와 8500바이트)가 있는 경우 첫 번째 오브젝트는 8192바이트까지 반올림되고 두 번째 오브젝트는 12288바이트를 반올림하고 버킷에 대한 합계는 20480바이트입니다. size_kb_actual 은 킬로바이트 단위의 실제 크기이며 size_actual/1024 로 계산됩니다. 이 예에서는 1331200/1024 = 1300 입니다.

size_utilized 는 압축 및/또는 암호화된 후 데이터의 총 크기(바이트)입니다. 암호화로 인해 오브젝트의 크기가 증가할 수 있지만 압축은 줄어들 수 있습니다. size_kb_utilized 는 총 크기(킬로바이트 단위)입니다. size_kb_utilized는 킬로바이트 단위입니다 (size_utilized/1024). 이 예에서, it is craft (592035/1024)= 579.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.