2.2. 외부 Ceph 스토리지 시스템을 위한 OpenShift Data Foundation 클러스터 생성


VMware vSphere 또는 사용자 프로비저닝 베어 메탈 인프라에 배포된 OpenShift Container Platform에 OpenShift Data Foundation Operator를 설치한 후 새 OpenShift Data Foundation 클러스터를 생성해야 합니다.

사전 요구 사항

절차

  1. Operators 설치된 Operator 를 클릭하여 설치된 모든 Operator를 확인합니다.

    선택한 프로젝트openshift-storage 인지 확인합니다.

  2. OpenShift Data Foundation 을 클릭한 다음 스토리지 시스템 생성을 클릭합니다.
  3. 백업 스토리지 페이지에서 다음 옵션을 선택합니다.

    1. 배포 유형 옵션에 대해 전체 배포를 선택합니다.
    2. 사용 가능한 옵션에서 외부 스토리지 플랫폼 연결을 선택합니다.
    3. 스토리지 플랫폼용 Red Hat Ceph Storage 를 선택합니다.
    4. 다음을 클릭합니다.
  4. 연결 세부 정보 페이지에서 필요한 정보를 제공합니다.

    1. Download Script 링크를 클릭하여 Ceph 클러스터 세부 정보를 추출하기 위한 python 스크립트를 다운로드합니다.
    2. RHCS(Red Hat Ceph Storage) 클러스터 세부 정보를 추출하려면 RHCS 관리자에게 문의하여 관리자 키를 사용하여 Red Hat Ceph Storage 노드에서 다운로드한 python 스크립트를 실행합니다.

      1. RHCS 노드에서 다음 명령을 실행하여 사용 가능한 인수 목록을 확인합니다.

        # python3 ceph-external-cluster-details-exporter.py --help
        중요

        Red Hat Ceph Storage 4.x 클러스터가 Red Hat Enterprise Linux 7.x(RHEL 7.x) 클러스터에 배포된 경우 python 3 대신 python3 을 사용합니다.

        MON 컨테이너 내부(컨테이너 배포) 또는 MON 노드(RPM 배포)에서 스크립트를 실행할 수도 있습니다.

        참고

        yum install cephadm 명령을 사용한 다음 cephadm 명령을 사용하여 컨테이너를 사용하여 RHCS 클러스터를 배포합니다. 노드에 Ceph 패키지를 설치하는 데 yum 을 사용하는 대신 cephadm 명령을 사용하여 RHCS 컨테이너 이미지를 가져와야 합니다. 자세한 내용은 RHCS 제품 설명서를 참조하십시오.

      2. RHCS 클러스터에서 외부 클러스터 세부 정보를 검색하려면 구성 파일 또는 명령줄 플래그의 두 가지 옵션 중 하나를 선택합니다.

        1. 구성 파일

          config-file 플래그를 사용합니다. 이렇게 하면 배포 중에 사용되는 매개변수가 저장됩니다.

          새 배포에서는 배포 중에 사용되는 매개 변수를 구성 파일에 저장할 수 있습니다. 그런 다음 업그레이드 중에 이 파일을 사용하여 매개변수를 유지하고 추가 매개 변수를 추가할 수 있습니다. config-file 을 사용하여 구성 파일의 경로를 설정합니다.

          /config.ini 에 저장된 설정 파일의 예 :

          [Configurations]
          format = bash
          cephfs-filesystem-name = <filesystem-name>
          rbd-data-pool-name = <pool_name>
          ...

          config-file 을 사용하여 config.ini 파일의 경로를 설정합니다.

          # python3 ceph-external-cluster-details-exporter.py --config-file /config.ini
        2. 명령줄 플래그

          RHCS 클러스터에서 외부 클러스터 세부 정보를 검색하고 배포의 매개변수를 전달합니다.

          # python3 ceph-external-cluster-details-exporter.py \
          --rbd-data-pool-name <rbd block pool name>  [optional arguments]

          예를 들면 다음과 같습니다.

          # python3 ceph-external-cluster-details-exporter.py --rbd-data-pool-name ceph-rbd --monitoring-endpoint xxx.xxx.xxx.xxx --monitoring-endpoint-port xxxx --rgw-endpoint xxx.xxx.xxx.xxx:xxxx --run-as-user client.ocs

          RBD 매개변수

          rbd-data-pool-name
          OpenShift Data Foundation에 블록 스토리지를 제공하는 데 사용되는 필수 매개변수입니다.
          rados-namespace
          radosNamespace 에서 RBD PVC를 생성하는 데 사용되는 RBD 데이터 풀을 별도의 논리 네임스페이스로 나눕니다. rados-namespace 에 필요한 플래그는 restricted-auth-permissionk8s-cluster-name 입니다.
          rbd-metadata-ec-pool-name
          (선택 사항) 삭제 코딩된 RBD 메타데이터 풀의 이름입니다.

          RGW 매개변수

          rgw-endpoint

          (선택 사항) 이 매개변수는 OpenShift Data Foundation용 Ceph Rados Gateway를 통해 오브젝트 스토리지를 프로비저닝하는 경우에만 필요합니다. 다음 형식으로 끝점을 제공합니다. < ip_address>:<port>

          참고

          FQDN(정규화된 도메인 이름)도 <FQDN> :<PORT> 형식으로 지원됩니다.

          rgw-pool-prefix
          (선택 사항) RGW 풀의 접두사입니다. 지정하지 않으면 기본 접두사가 기본 입니다.
          rgw-tls-cert-path

          (선택 사항) RADOS Gateway 엔드포인트 TLS 인증서의 파일 경로입니다.

          • TLS 인증서 및 RGW 끝점 세부 정보를 도우미 스크립트 ceph-external-cluster-details-exporter.py 에 제공하려면 다음 명령을 실행합니다.

            # python3 ceph-external-clustergw-endpoint r-details-exporter.py --rbd-data-pool-name <rbd block pool name> --rgw-endpoint <ip_address>:<port> --rgw-tls-cert-path <file path containing cert>

            이렇게 하면 TLS 인증서가 포함된 Kubernetes 시크릿과 같은 Ceph Object Store CR을 생성하는 리소스가 생성됩니다. 개인 키를 포함한 모든 중간 인증서는 인증서 파일에 저장해야 합니다.

          rgw-skip-tls
          (선택 사항) 이 매개변수는 자체 서명된 인증서가 제공되는 경우 TLS 인증 검증을 무시합니다(권장되지 않음).

          모니터링 매개변수

          monitoring-endpoint
          (선택 사항) 이 매개변수는 OpenShift Container Platform 클러스터에서 연결할 수 있는 활성 및 대기mgr의 쉼표로 구분된 IP 주소 목록을 허용합니다. 제공되지 않으면 값이 자동으로 채워집니다.
          monitoring-endpoint-port
          (선택 사항) --monitoring-endpoint 로 지정된 ceph-mgr Prometheus 내보내기와 연결된 포트입니다. 제공되지 않으면 값이 자동으로 채워집니다.

          Ceph 매개변수

          ceph-conf
          (선택 사항) Ceph 구성 파일의 이름입니다.
          run-as-user

          (선택 사항) 이 매개변수는 스크립트에서 생성한 Ceph 사용자의 이름을 제공하는 데 사용됩니다. 이 매개변수를 지정하지 않으면 기본 사용자 이름 client.healthchecker 가 생성됩니다. 새 사용자에 대한 권한은 다음과 같이 설정됩니다.

          • caps: [mgr] allow command config
          • caps: [mon] allow r, allow command quorum_status, allow command version
          • caps: [osd] allow rwx pool=RGW_POOL_PREFIX.rgw.meta, allow r pool=.rgw.root, allow rw pool=RGW_POOL_PREFIX.rgw.control, allow rx pool=RGW_POOL_PREFIX.rg.log, allow x pool=RGW_POOL_PREFIX.rgw.buckets.index

          CephFS 매개변수

          cephfs-metadata-pool-name
          (선택 사항) CephFS 메타데이터 풀의 이름입니다.
          cephfs-data-pool-name
          (선택 사항) CephFS 데이터 풀의 이름입니다.
          cephfs-filesystem-name
          (선택 사항) CephFS 파일 시스템의 이름입니다.

          출력 매개변수

          dry-run
          (선택 사항) 이 매개변수는 실행 중인 명령을 실행하지 않고 출력하는 데 도움이 됩니다.
          출력
          (선택 사항) 출력을 저장해야 하는 파일입니다.

          다중 클러스터 매개변수

          k8s-cluster-name
          (선택 사항) Kubernetes 클러스터 이름입니다.
          cluster-name
          (선택 사항) Ceph 클러스터 이름입니다.
          restricted-auth-permission
          (선택 사항) 이 매개변수는 cephCSIKeyrings auth 권한을 특정 풀 및 클러스터로 제한합니다. 이를 사용하여 설정해야 하는 필수 플래그는 rbd-data-pool-namecluster-name 입니다. 특정 CephFS 파일 시스템으로 권한이 제한되도록 CephFS 사용자 제한이 있는 경우 cephfs-filesystem-name 플래그를 전달할 수도 있습니다.
          참고

          이 매개변수는 새 배포에만 적용해야 합니다. 풀 및 클러스터당 csi-users 를 제한하려면 해당 csi-users에 대한 새 csi-users 및 새 시크릿을 생성해야 합니다.

          제한된 인증 권한이 있는 예:

          # python3 /etc/ceph/create-external-cluster-resources.py --cephfs-filesystem-name myfs --rbd-data-pool-name replicapool --cluster-name rookStorage --restricted-auth-permission true

          python 스크립트를 사용하여 생성된 JSON 출력의 예:

          [{"name": "rook-ceph-mon-endpoints", "kind": "ConfigMap", "data": {"data": "xxx.xxx.xxx.xxx:xxxx", "maxMonId": "0", "mapping": "{}"}}, {"name": "rook-ceph-mon", "kind": "Secret", "data": {"admin-secret": "admin-secret", "fsid": "<fs-id>", "mon-secret": "mon-secret"}}, {"name": "rook-ceph-operator-creds", "kind": "Secret", "data": {"userID": "<user-id>", "userKey": "<user-key>"}}, {"name": "rook-csi-rbd-node", "kind": "Secret", "data": {"userID": "csi-rbd-node", "userKey": "<user-key>"}}, {"name": "ceph-rbd", "kind": "StorageClass", "data": {"pool": "<pool>"}}, {"name": "monitoring-endpoint", "kind": "CephCluster", "data": {"MonitoringEndpoint": "xxx.xxx.xxx.xxx", "MonitoringPort": "xxxx"}}, {"name": "rook-ceph-dashboard-link", "kind": "Secret", "data": {"userID": "ceph-dashboard-link", "userKey": "<user-key>"}}, {"name": "rook-csi-rbd-provisioner", "kind": "Secret", "data": {"userID": "csi-rbd-provisioner", "userKey": "<user-key>"}}, {"name": "rook-csi-cephfs-provisioner", "kind": "Secret", "data": {"adminID": "csi-cephfs-provisioner", "adminKey": "<admin-key>"}}, {"name": "rook-csi-cephfs-node", "kind": "Secret", "data": {"adminID": "csi-cephfs-node", "adminKey": "<admin-key>"}}, {"name": "cephfs", "kind": "StorageClass", "data": {"fsName": "cephfs", "pool": "cephfs_data"}}, {"name": "ceph-rgw", "kind": "StorageClass", "data": {"endpoint": "xxx.xxx.xxx.xxx:xxxx", "poolPrefix": "default"}}, {"name": "rgw-admin-ops-user", "kind": "Secret", "data": {"accessKey": "<access-key>", "secretKey": "<secret-key>"}}]

      3. JSON 출력을 .json 확장자가 있는 파일에 저장

        참고

        OpenShift Data Foundation이 원활하게 작동하려면 스토리지 클러스터 생성 후 JSON 파일을 사용하여 매개 변수(RGW 엔드포인트, CephFS 세부 정보, RBD 풀 등)를 업로드해야 합니다.

      4. RHCS 클러스터가 더 낮은 OpenShift Data Foundation 배포에 이미 연결된 다중 테넌트 배포가 있는 경우 명령을 실행합니다.

        # python3 ceph-external-cluster-details-exporter.py --upgrade
    3. 찾아보기 를 클릭하여 JSON 파일을 선택하고 업로드합니다.

      JSON 파일의 내용은 채워지고 텍스트 상자에 표시됩니다.

    4. 다음을클릭합니다.

      다음 버튼은 .json 파일을 업로드한 후에만 활성화됩니다.

  5. 검토 및 생성 페이지에서 모든 세부 정보가 올바른지 검토합니다.

    • 구성 설정을 수정하려면 뒤로 이동하여 이전 구성 페이지로 돌아갑니다.
  6. 스토리지 시스템 생성을 클릭합니다.

검증 단계

설치된 스토리지 클러스터의 최종 상태를 확인하려면 다음을 수행합니다.

  1. OpenShift 웹 콘솔에서 설치된 Operator OpenShift Data Foundation 스토리지 시스템 ocs-external-storagecluster-storagesystem Resources 로 이동합니다.
  2. StorageClusterStatusReady 이고 녹색 눈금이 있는지 확인합니다.
  3. OpenShift Data Foundation, pod 및 StorageClass가 성공적으로 설치되었는지 확인하려면 외부 Ceph 스토리지 시스템의 외부 모드 OpenShift Data Foundation 설치 확인을 참조하십시오.

2.2.1. Red Hat Ceph Storage 클러스터에 암호화 적용

절차

  1. Encryption in-transit 설정을 적용합니다.

    root@ceph-client ~]# ceph config set global ms_client_mode secure
    [root@ceph-client ~]# ceph config set global ms_cluster_mode secure
    [root@ceph-client ~]# ceph config set global ms_service_mode secure
    [root@ceph-client ~]# ceph config set global rbd_default_map_options ms_mode=secure
  2. 설정을 확인합니다.

    [root@ceph-client ~]# ceph config dump | grep ms_
    global                                       basic     ms_client_mode                         secure                                                                                                                                                                                                                                   *
    global                                       basic     ms_cluster_mode                        secure                                                                                                                                                                                                                                   *
    global                                       basic     ms_service_mode                        secure                                                                                                                                                                                                                                   *
    global                                       advanced  rbd_default_map_options                ms_mode=secure                                                                                                                                                                                                                           *
  3. 모든 Ceph 데몬을 다시 시작합니다.

    [root@ceph-client ~]# ceph orch ps
    NAME                       HOST   PORTS             STATUS        REFRESHED  AGE  MEM USE  MEM LIM  VERSION           IMAGE ID      CONTAINER ID
    alertmanager.osd-0         osd-0  *:9093,9094       running (7h)     5m ago   7h    24.6M        -  0.24.0            3d2ad4f34549  6ef813aed5ef
    ceph-exporter.osd-0        osd-0                    running (7h)     5m ago   7h    17.7M        -  18.2.0-192.el9cp  6e4e34f038b9  179301cc7840
    ceph-exporter.osd-1        osd-1                    running (7h)     5m ago   7h    17.8M        -  18.2.0-192.el9cp  6e4e34f038b9  1084517c5d27
    ceph-exporter.osd-2        osd-2                    running (7h)     5m ago   7h    17.9M        -  18.2.0-192.el9cp  6e4e34f038b9  c933e31dc7b7
    ceph-exporter.osd-3        osd-3                    running (7h)     5m ago   7h    17.7M        -  18.2.0-192.el9cp  6e4e34f038b9  9981004a7169
    crash.osd-0                osd-0                    running (7h)     5m ago   7h    6895k        -  18.2.0-192.el9cp  6e4e34f038b9  9276199810a6
    crash.osd-1                osd-1                    running (7h)     5m ago   7h    6895k        -  18.2.0-192.el9cp  6e4e34f038b9  43aee09f1f00
    crash.osd-2                osd-2                    running (7h)     5m ago   7h    6903k        -  18.2.0-192.el9cp  6e4e34f038b9  adba2172546d
    crash.osd-3                osd-3                    running (7h)     5m ago   7h    6899k        -  18.2.0-192.el9cp  6e4e34f038b9  3a788ea496f3
    grafana.osd-0              osd-0  *:3000            running (7h)     5m ago   7h    65.5M        -  <unknown>         f142b583a1b1  c299328455cc
    mds.fsvol001.osd-0.lpciqk  osd-0                    running (7h)     5m ago   7h    24.8M        -  18.2.0-192.el9cp  6e4e34f038b9  8790381f177c
    mds.fsvol001.osd-2.wocnxz  osd-2                    running (7h)     5m ago   7h    32.1M        -  18.2.0-192.el9cp  6e4e34f038b9  2c66e36e19fc
    mgr.osd-0.dtkyni           osd-0  *:9283,8765,8443  running (7h)     5m ago   7h     535M        -  18.2.0-192.el9cp  6e4e34f038b9  41f5bed2d18a
    mgr.osd-2.kqcxwu           osd-2  *:8443,9283,8765  running (7h)     5m ago   7h     440M        -  18.2.0-192.el9cp  6e4e34f038b9  d8413a809b1f
    mon.osd-1                  osd-1                    running (7h)     5m ago   7h     350M    2048M  18.2.0-192.el9cp  6e4e34f038b9  fb3b5c186e38
    mon.osd-2                  osd-2                    running (7h)     5m ago   7h     363M    2048M  18.2.0-192.el9cp  6e4e34f038b9  f5314c164e89
    mon.osd-3                  osd-3                    running (7h)     5m ago   7h     361M    2048M  18.2.0-192.el9cp  6e4e34f038b9  3522f972ed7d
    node-exporter.osd-0        osd-0  *:9100            running (7h)     5m ago   7h    25.1M        -  1.4.0             508050f8c316  43845647bc06
    node-exporter.osd-1        osd-1  *:9100            running (7h)     5m ago   7h    21.4M        -  1.4.0             508050f8c316  e84c3e2206c9
    node-exporter.osd-2        osd-2  *:9100            running (7h)     5m ago   7h    25.4M        -  1.4.0             508050f8c316  071580052c80
    node-exporter.osd-3        osd-3  *:9100            running (7h)     5m ago   7h    21.8M        -  1.4.0             508050f8c316  317205f34647
    osd.0                      osd-2                    running (7h)     5m ago   7h     525M    4096M  18.2.0-192.el9cp  6e4e34f038b9  5247dd9d7ac3
    osd.1                      osd-0                    running (7h)     5m ago   7h     652M    4096M  18.2.0-192.el9cp  6e4e34f038b9  17c66fee9f13
    osd.2                      osd-3                    running (7h)     5m ago   7h     801M    1435M  18.2.0-192.el9cp  6e4e34f038b9  39b272b56fbe
    osd.3                      osd-1                    running (7h)     5m ago   7h     538M     923M  18.2.0-192.el9cp  6e4e34f038b9  f595858a1ca3
    osd.4                      osd-0                    running (7h)     5m ago   7h     532M    4096M  18.2.0-192.el9cp  6e4e34f038b9  c4f57cc9eda6
    osd.5                      osd-2                    running (7h)     5m ago   7h     761M    4096M  18.2.0-192.el9cp  6e4e34f038b9  d80ba180c940
    osd.6                      osd-3                    running (7h)     5m ago   7h     415M    1435M  18.2.0-192.el9cp  6e4e34f038b9  9ec319187e25
    osd.7                      osd-1                    running (7h)     5m ago   7h     427M     923M  18.2.0-192.el9cp  6e4e34f038b9  816731470d87
    prometheus.osd-0           osd-0  *:9095            running (7h)     5m ago   7h    84.0M        -  2.39.1            716dd9df3cf3  29db12cb1a5a
    rgw.rgw.ssl.osd-1.smzpfj   osd-1  *:80              running (7h)     5m ago   7h     110M        -  18.2.0-192.el9cp  6e4e34f038b9  57faaff4e425

    모든 데몬을 다시 시작할 때까지 기다립니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동