3.5. Ceph Manager rgw 모듈 사용


스토리지 관리자는 rgw 모듈을 사용하여 Ceph Object Gateway, 단일 사이트 및 다중 사이트를 배포할 수 있습니다. Ceph Object 영역, zonegroup 및 다양한 관련 엔티티를 부트 스트랩하고 구성하는 데 도움이 됩니다.

새로 생성된 또는 기존 영역에 사용 가능한 토큰을 사용할 수 있습니다. 이 토큰은 영역 정보 및 해당 마스터 영역 끝점 인증 데이터를 캡슐화하는 base64 문자열입니다.

다중 사이트 구성에서 이러한 토큰을 사용하여 rgw zone create 명령을 사용하여 기본 클러스터의 마스터 영역과 동기화하는 다른 클러스터에 보조 영역을 생성하는 데 사용할 수 있습니다.

3.5.1. rgw 모듈을 사용하여 Ceph Object Gateway 배포

Ceph Object Gateway 영역을 부트 스트랩하면 새 영역 엔티티, 새 영역 그룹, 새 영역이 생성됩니다. rgw 모듈은 해당 Ceph Object Gateway 데몬을 생성하고 배포하도록 오케스트레이터에 지시합니다.

ceph mgr 모듈 enable rgw 명령을 사용하여 rgw 모듈을 활성화합니다. rgw 모듈을 활성화한 후 명령줄에서 인수를 전달하거나 yaml 사양 파일을 사용하여 영역을 부트스트랩합니다.

사전 요구 사항

  • 하나 이상의 OSD가 배포된 실행 중인 Red Hat Ceph Storage 클러스터

프로세스

  1. Cephadm 쉘에 로그인합니다.

    [root@host01 ~]# cephadm shell
    Copy to Clipboard Toggle word wrap

  2. 'rgw'module을 활성화합니다.

    [ceph: root@host01 /]# ceph mgr module enable rgw
    Copy to Clipboard Toggle word wrap

  3. 명령줄 또는 yaml 사양 파일을 사용하여 Ceph Object Gateway 영역을 부트스트랩합니다.

    • 옵션 1: 명령줄 인터페이스를 사용합니다.

      구문

      ceph rgw realm bootstrap [--realm name REALM_NAME] [--zonegroup-name ZONEGROUP_NAME] [--zone-name ZONE_NAME] [--port PORT_NUMBER] [--placement HOSTNAME] [--start-radosgw]
      Copy to Clipboard Toggle word wrap

      [ceph: root@host01 /]# ceph rgw realm bootstrap --realm-name myrealm --zonegroup-name myzonegroup --zone-name myzone --port 5500 --placement="host01 host02" --start-radosgw
      Realm(s) created correctly. Please, use 'ceph rgw realm tokens' to get the token.
      Copy to Clipboard Toggle word wrap

    • 옵션 2: yaml 사양 파일을 사용합니다.

      1. root 사용자로 yaml 파일을 생성합니다.

        구문

        rgw_realm: REALM_NAME
        rgw_zonegroup: ZONEGROUP_NAME
        rgw_zone: ZONE_NAME
        placement:
          hosts:
           - _HOSTNAME_1_
           - _HOSTNAME_2_
        Copy to Clipboard Toggle word wrap

        [root@host01 ~]# cat rgw.yaml
        
        rgw_realm: myrealm
        rgw_zonegroup: myzonegroup
        rgw_zone: myzone
        placement:
          hosts:
           - host01
           - host02
        Copy to Clipboard Toggle word wrap

      2. 선택 사항: 영역 부트스트랩 중에 hostnames 매개변수를 zonegroup에 추가할 수 있습니다.

        구문

        service_type: rgw
        placement:
          hosts:
          - _host1_
          - _host2_
        spec:
          rgw_realm: my_realm
          rgw_zonegroup: my_zonegroup
          rgw_zone: my_zone
          zonegroup_hostnames:
          - _hostname1_
          - _hostname2_
        Copy to Clipboard Toggle word wrap

        service_type: rgw
        placement:
          hosts:
          - _host1_
          - _host2_
        spec:
          rgw_realm: my_realm
          rgw_zonegroup: my_zonegroup
          rgw_zone: my_zone
          zonegroup_hostnames:
          - foo
          - bar
        Copy to Clipboard Toggle word wrap

      3. YAML 파일을 컨테이너의 디렉터리에 마운트합니다.

        [root@host01 ~]# cephadm shell --mount rgw.yaml:/var/lib/ceph/rgw/rgw.yaml
        Copy to Clipboard Toggle word wrap

      4. 영역을 부트스트랩합니다.

        [ceph: root@host01 /]# ceph rgw realm bootstrap -i /var/lib/ceph/rgw/rgw.yaml
        Copy to Clipboard Toggle word wrap

        참고

        rgw 모듈에서 사용하는 사양 파일은 오케스트레이터에서 사용하는 형식과 동일합니다. 따라서 SSL 인증서와 같은 고급 구성 기능을 포함하여 지원되는 모든 오케스트레이션 Ceph Object Gateway 매개변수를 제공할 수 있습니다.

  4. 사용 가능한 토큰을 나열합니다.

    [ceph: root@host01 /]# ceph rgw realm tokens | jq
    
    [
      {
        "realm": "myrealm",
        "token": "ewogICAgInJlYWxtX25hbWUiOiAibXlyZWFsbSIsCiAgICAicmVhbG1faWQiOiAiZDA3YzAwZWYtOTA0MS00ZjZlLTg4MDQtN2Q0MDI0MDU1NmFlIiwKICAgICJlbmRwb2ludCI6ICJodHRwOi8vdm0tMDA6NDMyMSIsCiAgICAiYWNjZXNzX2tleSI6ICI5NTY1VFZSMVFWTExFRzdVNFIxRCIsCiAgICAic2VjcmV0IjogImQ3b0FJQXZrNEdYeXpyd3Q2QVZ6bEZNQmNnRG53RVdMMHFDenE3cjUiCn1="
      }
    ]
    Copy to Clipboard Toggle word wrap

    참고

    Ceph Object Gateway 데몬이 배포되기 전에 위의 명령을 실행하면 엔드포인트가 없으므로 토큰이 없다는 메시지가 표시됩니다.

검증

  • 오브젝트 게이트웨이 배포를 확인합니다.

    [ceph: root@host01 /]# ceph orch list --daemon-type=rgw
    NAME                                                                HOST                                    PORTS  STATUS          REFRESHED   AGE  MEM USE  MEM LIM  VERSION          IMAGE ID      CONTAINER ID
    rgw.myrealm.myzonegroup.ceph-saya-6-osd-host01.eburst  ceph-saya-6-osd-host01  *:80   running (111m)     9m ago  111m    82.3M        -  17.2.6-22.el9cp  2d5b080de0b0  2f3eaca7e88e
    Copy to Clipboard Toggle word wrap

  • 영역 부트스트랩을 통해 호스트 이름이 추가되었는지 확인합니다.

    구문

    radosgw-admin zonegroup get --rgw-zonegroup _zone_group_name_
    Copy to Clipboard Toggle word wrap

    [ceph: root@host01 /]# radosgw-admin zonegroup get --rgw-zonegroup my_zonegroup
    
    {
        "id": "02a175e2-7f23-4882-8651-6fbb15d25046",
        "name": "my_zonegroup_ck",
        "api_name": "my_zonegroup_ck",
        "is_master": true,
        "endpoints": [
            "http://vm-00:80"
        ],
        "hostnames": [
            "foo"
            "bar"
        ],
        "hostnames_s3website": [],
        "master_zone": "f42fea84-a89e-4995-996e-61b7223fb0b0",
        "zones": [
            {
                "id": "f42fea84-a89e-4995-996e-61b7223fb0b0",
                "name": "my_zone_ck",
                "endpoints": [
                    "http://vm-00:80"
                ],
                "log_meta": false,
                "log_data": false,
                "bucket_index_max_shards": 11,
                "read_only": false,
                "tier_type": "",
                "sync_from_all": true,
                "sync_from": [],
                "redirect_zone": "",
                "supported_features": [
                    "compress-encrypted",
                    "resharding"
                ]
            }
        ],
        "placement_targets": [
            {
                "name": "default-placement",
                "tags": [],
                "storage_classes": [
                    "STANDARD"
                ]
            }
        ],
        "default_placement": "default-placement",
        "realm_id": "439e9c37-4ddc-43a3-99e9-ea1f3825bb51",
        "sync_policy": {
            "groups": []
        },
        "enabled_features": [
            "resharding"
        ]
    }
    Copy to Clipboard Toggle word wrap

    Ceph Object Gateway 사양 파일의 zonegroup_hostnames 에 지정된 호스트 이름 목록은 zonegroups의 hostnames 섹션을 참조하십시오.

3.5.2. rgw 모듈을 사용하여 Ceph Object Gateway 다중 사이트 배포

Ceph Object Gateway 영역을 부트 스트랩하면 새 영역 엔티티, 새 영역 그룹, 새 영역이 생성됩니다. 다중 사이트 동기화 작업에 사용할 수 있는 새 시스템 사용자를 구성합니다. rgw 모듈은 해당 Ceph Object Gateway 데몬을 생성하고 배포하도록 오케스트레이터에 지시합니다.

ceph mgr 모듈 enable rgw 명령을 사용하여 rgw 모듈을 활성화합니다. rgw 모듈을 활성화한 후 명령줄에서 인수를 전달하거나 yaml 사양 파일을 사용하여 영역을 부트스트랩합니다.

사전 요구 사항

  • 하나 이상의 OSD가 배포된 실행 중인 Red Hat Ceph Storage 클러스터

프로세스

  1. Cephadm 쉘에 로그인합니다.

    [root@host01 ~]# cephadm shell
    Copy to Clipboard Toggle word wrap

  2. 'rgw'module을 활성화합니다.

    [ceph: root@host01 /]# ceph mgr module enable rgw
    Copy to Clipboard Toggle word wrap

  3. 명령줄 또는 yaml 사양 파일을 사용하여 Ceph Object Gateway 영역을 부트스트랩합니다.

    • 옵션 1: 명령줄 인터페이스를 사용합니다.

      구문

      ceph rgw realm bootstrap [--realm name REALM_NAME] [--zonegroup-name ZONEGROUP_NAME] [--zone-name ZONE_NAME] [--port PORT_NUMBER] [--placement HOSTNAME] [--start-radosgw]
      Copy to Clipboard Toggle word wrap

      [ceph: root@host01 /]# ceph rgw realm bootstrap --realm-name myrealm --zonegroup-name myzonegroup --zone-name myzone --port 5500 --placement="host01 host02" --start-radosgw
      Realm(s) created correctly. Please, use 'ceph rgw realm tokens' to get the token.
      Copy to Clipboard Toggle word wrap

    • 옵션 2: yaml 사양 파일 ... root 사용자로 yaml 파일을 생성합니다.

      구문

      rgw_realm: pass:q[REALM_NAME]
      rgw_zonegroup: pass:q[ZONEGROUP_NAME]
      rgw_zone: pass:q[ZONE_NAME]
      placement:
        hosts:
         - pass:q[HOSTNAME_1]
         - pass:q[HOSTNAME_2]
      spec:
        rgw_frontend_port: pass:q[PORT_NUMBER]
      zone_endpoints:pass:q[ http://RGW_HOSTNAME_1]:pass:q[RGW_PORT_NUMBER_1], pass:q[http://RGW_HOSTNAME_2]:pass:q[RGW_PORT_NUMBER_2]
      Copy to Clipboard Toggle word wrap

      [root@host01 ~]# cat rgw.yaml
      rgw_realm: myrealm
      rgw_zonegroup: myzonegroup
      rgw_zone: myzone
      placement
        hosts:
         - host01
         - host02
      spec:
        rgw_frontend_port: 5500
        zone_endpoints: http://<rgw_host1>:<rgw_port1>, http://<rgw_host2>:<rgw_port2>
      Copy to Clipboard Toggle word wrap

      1. 선택 사항: 해당 클라이언트 rgw의 경우 Ceph Object Gateway 사양 파일의 spec 섹션에서 disable_multisite_sync_traffic:true 를 설정합니다. 그런 다음 cephadm 은 RGW 데몬에 대해 rgw_run_sync_thread 구성을 false로 설정하여 동기화 작업에 참여하지 않도록 합니다. 이 자동화로 인해 해당 RGW 사용자에 대해 rgw_run_sync_thread를 수동으로 구성할 필요가 없습니다.

    구문

    ceph config set <client_rgw_daemon> rgw_run_sync_thread false
    Copy to Clipboard Toggle word wrap

    +

    다음 예에서 RGW 서비스 io.rgw는 disable_multisite_sync_traffic: true로 구성되므로 클라이언트 IO만 처리합니다. 기본적으로 RGW 서비스 sync.rgw는 disable_multisite_sync_traffic가 false이므로 다중 사이트 동기화 작업에 참여하도록 구성됩니다.

    + .example

    [root@host01 ~]# cat rgw.yaml
    service_id: io.rgw
    service_name: rgw.io.rgw
    rgw_realm: myrealm
    rgw_zonegroup: myzonegroup
    rgw_zone: myzone
    placement:
      hosts:
      - rgw_host1
      - rgw_host2
    spec:
       rgw_frontend_port: <rgw_port>
       disable_multisite_sync_traffic: true
    
    service_id: sync.rgw
    service_name: rgw.sync.rgw
    rgw_realm: myrealm
    rgw_zonegroup: myzonegroup
    rgw_zone: myzone
    placement:
      hosts:
      - rgw_host3
      - rgw_host4
    spec:
       rgw_frontend_port: <rgw_port>
    zone_endpoints: http://<rgw_host3>:<rgw_port>, http://<rgw_host4>:<rgw_port>
    Copy to Clipboard Toggle word wrap

    +

    1. YAML 파일을 컨테이너의 디렉터리에 마운트합니다.

      [root@host01 ~]# cephadm shell --mount rgw.yaml:/var/lib/ceph/rgw/rgw.yaml
      Copy to Clipboard Toggle word wrap

    2. 영역을 부트스트랩합니다.

      [ceph: root@host01 /]# ceph rgw realm bootstrap -i /var/lib/ceph/rgw/rgw.yaml
      Copy to Clipboard Toggle word wrap

      참고

      rgw 모듈에서 사용하는 사양 파일은 오케스트레이터에서 사용하는 형식과 동일합니다. 따라서 SSL 인증서와 같은 고급 구성 기능을 포함하여 지원되는 모든 오케스트레이션 Ceph Object Gateway 매개변수를 제공할 수 있습니다.

  4. 사용 가능한 토큰을 나열합니다.

    [ceph: root@host01 /]# ceph rgw realm tokens | jq
    
    [
      {
        "realm": "myrealm",
        "token": "ewogICAgInJlYWxtX25hbWUiOiAibXlyZWFsbSIsCiAgICAicmVhbG1faWQiOiAiZDA3YzAwZWYtOTA0MS00ZjZlLTg4MDQtN2Q0MDI0MDU1NmFlIiwKICAgICJlbmRwb2ludCI6ICJodHRwOi8vdm0tMDA6NDMyMSIsCiAgICAiYWNjZXNzX2tleSI6ICI5NTY1VFZSMVFWTExFRzdVNFIxRCIsCiAgICAic2VjcmV0IjogImQ3b0FJQXZrNEdYeXpyd3Q2QVZ6bEZNQmNnRG53RVdMMHFDenE3cjUiCn1="
      }
    ]
    Copy to Clipboard Toggle word wrap

    참고

    Ceph Object Gateway 데몬이 배포되기 전에 위의 명령을 실행하면 엔드포인트가 없으므로 토큰이 없다는 메시지가 표시됩니다.

  5. 이러한 토큰을 사용하여 보조 영역을 생성하고 기존 영역에 결합합니다.

    1. root 사용자로 yaml 파일을 생성합니다.

      [root@host01 ~]# cat zone-spec.yaml
      rgw_zone: my-secondary-zone
      rgw_realm_token: <token>
      placement:
        hosts:
         - ceph-node-1
         - ceph-node-2
      spec:
        rgw_frontend_port: 5500
      Copy to Clipboard Toggle word wrap

      배포 중에 특정 RGW 서비스에 대한 다중 사이트 동기화 트래픽 매개변수를 비활성화하려면 3(b 선택 사항) 단계를 따르십시오. 이 설정은 배포 중에 특정 RGW 서비스에 대한 다중 사이트 동기화 트래픽을 비활성화하므로 클라이언트 IO만 처리합니다.

    2. 컨테이너의 디렉터리에 zone-spec.yaml 파일을 마운트합니다.

      [root@host01 ~]# cephadm shell --mount zone-spec.yaml:/var/lib/ceph/radosgw/zone-spec.yaml
      Copy to Clipboard Toggle word wrap

    3. 보조 영역에서 rgw'module을 활성화합니다.

      [ceph: root@host01 /]# ceph mgr module enable rgw
      Copy to Clipboard Toggle word wrap

    4. 보조 영역을 생성합니다.

      [ceph: root@host01 /]# ceph rgw zone create -i /var/lib/ceph/radosgw/zone-spec.yaml
      Copy to Clipboard Toggle word wrap

      검증

      • Object Gateway 다중 사이트 배포를 확인합니다.

        [ceph: root@host01 /]# radosgw-admin realm list
        {
        "default_info": "d07c00ef-9041-4f6e-8804-7d40240556ae",
        "realms": [
        "myrealm"
        ]
        }
        Copy to Clipboard Toggle word wrap

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat