IBM Z 인프라를 사용하여 OpenShift Data Foundation 배포

Red Hat OpenShift Data Foundation 4.10

IBM Z 인프라에서 로컬 스토리지를 사용하기 위해 Red Hat OpenShift Data Foundation을 배포하는 방법

Red Hat Storage Documentation Team

초록

IBM Z 인프라에서 로컬 스토리지를 사용하도록 Red Hat OpenShift Data Foundation을 설치하는 방법에 대한 자세한 내용은 이 문서를 참조하십시오.
참고
While this document refers only to IBM Z, all information in it also applies to LinuxONE.

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

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.

Red Hat 문서에 관한 피드백 제공

문서 개선을 위한 의견을 보내 주십시오. Red Hat이 이를 개선하는 방법을 알려 주십시오. 피드백을 제공하려면 다음을 수행하십시오.

  • 특정 문구에 대한 간단한 의견 작성 방법은 다음과 같습니다.

    1. 문서가 Multi-page HTML 형식으로 표시되는지 확인합니다. 또한 문서 오른쪽 상단에 피드백 버튼이 있는지 확인합니다.
    2. 마우스 커서를 사용하여 주석 처리하려는 텍스트 부분을 강조 표시합니다.
    3. 강조 표시된 텍스트 아래에 표시되는 피드백 추가 팝업을 클릭합니다.
    4. 표시된 지침을 따릅니다.
  • 보다 상세하게 피드백을 제출하려면 다음과 같이 Bugzilla 티켓을 생성하십시오.

    1. Bugzilla 웹 사이트로 이동하십시오.
    2. 구성 요소 섹션에서 설명서 를 선택합니다.
    3. Description 필드에 문서 개선을 위한 제안 사항을 기입하십시오. 관련된 문서의 해당 부분 링크를 알려주십시오.
    4. Submit Bug를 클릭하십시오.

preface

Red Hat OpenShift Data Foundation은 연결되거나 연결이 끊긴 환경의 기존 RHOCP(OpenShift Container Platform) IBM Z 클러스터에 프록시 환경에 대한 기본 지원과 함께 배포할 수 있도록 지원합니다.

참고

배포 요구 사항에 대한 자세한 내용은 배포 계획OpenShift Data Foundation 배포 준비를 참조하십시오.

OpenShift Data Foundation을 배포하려면 환경에 적절한 배포 프로세스를 따르십시오.

1장. OpenShift Data Foundation 배포 준비

로컬 스토리지 장치를 사용하여 OpenShift Container Platform에 OpenShift Data Foundation을 배포할 때 내부 클러스터 리소스를 생성할 수 있습니다. 이 접근 방식은 내부적으로 기본 서비스를 프로비저닝하고 모든 애플리케이션에서 추가 스토리지 클래스에 액세스할 수 있습니다.

로컬 스토리지를 사용하여 Red Hat OpenShift Data Foundation 배포를 시작하기 전에 리소스 요구 사항을 충족해야 합니다. 로컬 스토리지 장치를 사용하여 OpenShift Data Foundation을 설치하기 위한 요구 사항을 참조하십시오.

외부 KMS(키 관리 시스템)에서

위의 문제를 해결한 후 지정된 순서로 다음 단계를 수행하십시오.

1.1. 로컬 스토리지 장치를 사용하여 OpenShift Data Foundation을 설치하기 위한 요구사항

노드 요구 사항

클러스터는 각각 로컬에 연결된 스토리지 장치가 있는 3개 이상의 OpenShift Container Platform 작업자 노드로 구성되어야 합니다.

  • 선택한 3개의 노드 각각에는 OpenShift Data Foundation에서 사용할 수 있는 원시 블록 장치가 하나 이상 있어야 합니다.
  • 사용하는 장치는 비어 있어야 합니다. 디스크에 PV(물리 볼륨), VG(볼륨 그룹) 또는 LV(논리 볼륨)가 디스크에 남아 있지 않아야 합니다.

자세한 내용은 계획 가이드의 리소스 요구 사항 섹션을 참조하십시오.

1.2. 토큰 인증 방법을 사용하여 KMS로 클러스터 전체 암호화 활성화

토큰 인증에 대해 Vault에서 키 값 백엔드 경로 및 정책을 활성화하려면 다음 절차를 따르십시오.

사전 요구 사항

  • Vault에 대한 관리자 액세스 권한이 있어야 합니다.
  • 유효한 Red Hat OpenShift Data Foundation Advanced 서브스크립션. 자세한 내용은 OpenShift Data Foundation 서브스크립션에 대한 지식베이스 문서 를 참조하십시오.
  • 나중에 변경할 수 없으므로 이름 지정 규칙을 따르는 백엔드 경로로 고유한 경로 이름을 선택합니다.

절차

  1. Vault에서 KV(Key/Value) 백엔드 경로를 활성화합니다.

    Vault KV 시크릿 엔진 API의 경우 버전 1:

    $ vault secrets enable -path=odf kv

    Vault KV 시크릿 엔진 API의 경우 버전 2:

    $ vault secrets enable -path=odf kv-v2
  2. 다음 명령을 사용하여 시크릿에서 쓰기 또는 삭제 작업을 수행하도록 사용자를 제한하는 정책을 생성합니다.

    echo '
    path "odf/*" {
      capabilities = ["create", "read", "update", "delete", "list"]
    }
    path "sys/mounts" {
    capabilities = ["read"]
    }'| vault policy write odf -
  3. 위 정책과 일치하는 토큰을 생성합니다.

    $ vault token create -policy=odf -format json

2장. 로컬 스토리지 장치를 사용하여 OpenShift Data Foundation 배포

로컬 스토리지 장치를 사용하여 OpenShift Container Platform에 OpenShift Data Foundation을 배포하면 내부 클러스터 리소스를 생성할 수 있는 옵션이 제공됩니다. 이 배포 방법에 따라 로컬 스토리지를 사용하여 OpenShift Container Platform 애플리케이션의 영구 볼륨을 백업합니다.

이 섹션을 사용하여 OpenShift Container Platform이 이미 설치된 IBM Z 인프라에 OpenShift Data Foundation을 배포합니다.

2.1. Red Hat OpenShift Data Foundation Operator 설치

Red Hat OpenShift Container Platform Operator Hub를 사용하여 Red Hat OpenShift Data Foundation Operator를 설치할 수 있습니다.

사전 요구 사항

  • cluster -admin 및 Operator 설치 권한이 있는 계정을 사용하여 OpenShift Container Platform 클러스터에 액세스할 수 있습니다.
  • Red Hat OpenShift Container Platform 클러스터에 작업자 노드가 3개 이상 있어야 합니다.
  • 추가 리소스 요구 사항은 배포 계획 가이드를 참조하십시오.
중요
  • OpenShift Data Foundation의 클러스터 전체 기본 노드 선택기를 재정의해야 하는 경우 명령줄 인터페이스에서 다음 명령을 사용하여 openshift-storage 네임스페이스(이 경우 openshift-storage 네임스페이스 생성)에 빈 노드 선택기를 지정할 수 있습니다.

    $ oc annotate namespace openshift-storage openshift.io/node-selector=
  • 노드를 인프라로 테인트 하여 Red Hat OpenShift Data Foundation 리소스만 해당 노드에 예약되도록 합니다. 이를 통해 서브스크립션 비용을 절감할 수 있습니다. 자세한 내용은 스토리지 리소스 관리 및 할당 가이드 의 Red Hat OpenShift Data Foundation 전용 작업자 노드를 사용하는 방법을 참조하십시오.

절차

  1. OpenShift 웹 콘솔에 로그인합니다.
  2. Operators → OperatorHub 를 클릭합니다.
  3. OpenShift Data Foundation키워드로 필터링 상자에 스크롤하거나 입력하여 OpenShift Data Foundation Operator를 찾습니다.
  4. 설치를 클릭합니다.
  5. Operator 설치 페이지에서 다음 옵션을 설정합니다.

    1. 채널을 stable-4.10 으로 업데이트합니다.
    2. 클러스터의 특정 네임스페이스로서의 설치 모드입니다.
    3. Operator 권장 네임스페이스 openshift-storage로 설치된 네임스페이스 입니다. 네임스페이스 openshift-storage 가 없으면 운영자 설치 중에 생성됩니다.
    4. Approval Strategy(승인 전략)를 Automatic (자동) 또는 Manual (수동)으로 선택합니다.

      자동 업데이트를 선택하면 OLM(Operator Lifecycle Manager)은 개입 없이 Operator의 실행 중인 인스턴스를 자동으로 업그레이드합니다.

      수동 업데이트를 선택하면 OLM에서 업데이트 요청을 생성합니다. 클러스터 관리자는 Operator를 최신 버전으로 업데이트하려면 해당 업데이트 요청을 수동으로 승인해야 합니다.

    5. Console 플러그인에 대해 Enable(활성화 ) 옵션이 선택되어 있는지 확인합니다.
    6. 설치를 클릭합니다.

검증 단계

  • OpenShift Data Foundation Operator에 설치에 성공한 녹색 눈금이 표시되는지 확인합니다.
  • Operator가 성공적으로 설치되면 메시지가 표시되면 웹 콘솔 업데이트가 사용자 인터페이스에 표시됩니다. 콘솔 변경 사항을 반영할 이 팝업에서 웹 콘솔 새로 고침 을 클릭합니다.

    • 웹 콘솔에서 Operator로 이동하여 OpenShift Data Foundation 을 사용할 수 있는지 확인합니다.

2.2. Local Storage Operator 설치

로컬 스토리지 장치에 Red Hat OpenShift Data Foundation 클러스터를 생성하기 전에 Operator Hub에서 Local Storage Operator를 설치합니다.

절차

  1. OpenShift 웹 콘솔에 로그인합니다.
  2. Operators → OperatorHub 를 클릭합니다.
  3. 키워드로 필터링로컬 스토리지를 입력합니다.​ Operator 목록에서 Local Storage Operator 를 찾아서 클릭합니다.
  4. Operator 설치 페이지에서 다음 옵션을 설정합니다.

    1. 채널을 4.10 또는 stable 으로 업데이트합니다.
    2. 클러스터의 특정 네임스페이스 로서의 설치 모드입니다.
    3. Operator 권장 네임스페이스 openshift-local-storage 로 설치된 네임스페이스입니다.
    4. 자동으로 승인 업데이트.
  5. 설치를 클릭합니다.

검증 단계

  • Local Storage Operator에 설치에 성공한 녹색 눈금이 표시되는지 확인합니다.

2.3. 사용 가능한 스토리지 장치 찾기 (선택 사항)

이 단계는 추가 정보이며 스토리지 클러스터를 생성하는 동안 디스크를 자동으로 검색하므로 건너뛸 수 있습니다. 이 절차를 사용하여 IBM Z에 대한 영구 볼륨(PV)을 생성하기 전에 OpenShift Data Foundation 레이블 cluster.ocs.openshift.io/openshift-storage=' 로 레이블이 지정된 3개 이상의 작업자 노드 각각에 대한 장치 이름을 식별합니다.

절차

  1. OpenShift Data Foundation 레이블을 사용하여 작업자 노드의 이름을 나열하고 확인합니다.

    $ oc get nodes -l=cluster.ocs.openshift.io/openshift-storage=

    출력 예:

    NAME          STATUS   ROLES    AGE     VERSION
    bmworker01    Ready    worker   6h45m   v1.16.2
    bmworker02    Ready    worker   6h45m   v1.16.2
    bmworker03    Ready    worker   6h45m   v1.16.2
  2. OpenShift Data Foundation 리소스에 사용되는 각 작업자 노드에 로그인하고 사용 가능한 각 원시 블록 장치에 대해 고유한 by-id 장치 이름을 찾습니다.

    $ oc debug node/<node name>

    출력 예:

    $ oc debug node/bmworker01
    Starting pod/bmworker01-debug ...
    To use host binaries, run `chroot /host`
    Pod IP: 10.0.135.71
    If you don't see a command prompt, try pressing enter.
    sh-4.2# chroot /host
    sh-4.4# lsblk
    NAME                         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    loop0                          7:0    0   500G  0 loop
    sda                            8:0    0   120G  0 disk
    |-sda1                         8:1    0   384M  0 part /boot
    `-sda4                         8:4    0 119.6G  0 part
    `-coreos-luks-root-nocrypt   253:0    0 119.6G  0 dm   /sysroot
    sdb                            8:16   0   500G  0 disk

    이 예에서 bmworker01 의 경우 사용 가능한 로컬 장치는 sdb 입니다.

  3. 2단계에서 선택한 각 장치에 대한 고유 ID를 식별합니다.

    sh-4.4#ls -l /dev/disk/by-id/  | grep sdb
    lrwxrwxrwx. 1 root root  9 Feb  3 16:49 scsi-360050763808104bc2800000000000259 -> ../../sdb
    lrwxrwxrwx. 1 root root  9 Feb  3 16:49 scsi-SIBM_2145_00e020412f0aXX00 -> ../../sdb
    lrwxrwxrwx. 1 root root  9 Feb  3 16:49 scsi-0x60050763808104bc2800000000000259 -> ../../sdb

    위의 예에서 로컬 장치 sdb의 ID

    scsi-0x60050763808104bc2800000000000259
  4. 위 단계를 반복하여 OpenShift Data Foundation에서 사용할 스토리지 장치가 있는 다른 모든 노드의 장치 ID를 식별합니다. 자세한 내용은 이 지식 베이스 문서를 참조하십시오.

2.4. IBM Z에서 OpenShift Data Foundation 클러스터 생성

이 절차를 사용하여 IBM Z에서 OpenShift Data Foundation 클러스터를 생성합니다.

사전 요구 사항

절차

  1. OpenShift 웹 콘솔에서 Operator → 설치된 Operator를 클릭하여 설치된 모든 Operator를 확인합니다.

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

  2. OpenShift Data Foundation 운영자를 클릭한 다음 Create StorageSystem (스토리지 시스템 만들기)을 클릭합니다.
  3. 백업 스토리지 페이지에서 다음을 수행합니다.

    1. 스토리지 유형 백업 옵션을 위해 로컬 스토리지 장치를 사용하여 새 StorageClass 만들기 옵션을 선택합니다.
    2. 배포 유형 옵션에 대해 Full Deployment를 선택합니다.
    3. Next(다음)를 클릭합니다.

      중요

      Local Storage Operator가 아직 설치되지 않은 경우 설치하라는 메시지가 표시됩니다. 설치를 클릭하고 Local Storage Operator 설치에 설명된 대로 절차를 따릅니다.

  4. Create local volume set 페이지에서 다음 정보를 제공합니다.

    1. LocalVolumeSetStorageClass 의 이름을 입력합니다.

      기본적으로 로컬 볼륨 세트 이름은 스토리지 클래스 이름에 표시됩니다. 이름을 변경할 수 있습니다.

    2. 다음 중 하나를 선택합니다.

      • 모든 노드의 디스크

        모든 노드에서 선택한 필터와 일치하는 사용 가능한 디스크를 사용합니다.

      • 선택한 노드의 디스크

        선택한 노드에서만 선택한 필터와 일치하는 사용 가능한 디스크를 사용합니다.

        중요
        • 유연한 확장 기능은 3개 이상의 노드로 생성한 스토리지 클러스터가 3개 이상의 가용성 영역의 최소 요구 사항보다 적은 수에 분산된 경우에만 활성화됩니다.

          유연한 확장에 대한 자세한 내용은 스토리지 확장 가이드의 YAML을 사용하여 용량 추가 섹션을 참조하십시오.

        • 선택한 노드가 집계된 30개의 CPU 및 72GiB RAM의 OpenShift Data Foundation 클러스터 요구 사항과 일치하지 않는 경우 최소 클러스터가 배포됩니다.

          최소 노드 요구 사항은 계획 가이드의 리소스 요구 사항 섹션을 참조하십시오.

    3. 사용 가능한 디스크 유형 목록에서 SSD/NVME 를 선택합니다.
    4. Advanced(고급 ) 섹션을 확장하고 다음 옵션을 설정합니다.

      볼륨 모드

      블록은 기본적으로 선택됩니다.

      장치 유형

      드롭다운 목록에서 하나 이상의 장치 유형을 선택합니다.

      디스크 크기

      장치에 대해 최소 100GB, 포함해야 하는 장치의 사용 가능한 최대 크기를 설정합니다.

      최대 디스크 제한

      이는 노드에서 생성할 수 있는 최대 PV 수를 나타냅니다. 이 필드를 비워 두면 일치하는 노드에서 사용 가능한 모든 디스크에 PV가 생성됩니다.

    5. 다음을 클릭합니다.

      LocalVolumeSet 생성을 확인하는 팝업이 표시됩니다.

    6. Yes (예)를 클릭하여 계속합니다.
  5. 용량 및 노드 페이지에서 다음을 구성합니다.

    1. 사용 가능한 원시 용량은 스토리지 클래스와 연결된 연결된 모든 디스크에 따라 용량 값으로 채워집니다. 표시되는 데 다소 시간이 걸립니다. Selected nodes 목록은 스토리지 클래스를 기반으로 노드를 표시합니다.
    2. 확인란을 선택하여 테인트 노드를 선택할 수 있습니다.
    3. 다음을 클릭합니다.
  6. 선택 사항: 보안 및 네트워크 페이지에서 요구 사항에 따라 다음을 구성합니다.

    1. 암호화를 사용하려면 블록 및 파일 스토리지에 대한 데이터 암호화 사용을 선택합니다.
    2. 다음 암호화 수준 중 하나 또는 둘 다를 선택하십시오.

      • 클러스터 전체 암호화

        전체 클러스터(블록 및 파일)를 암호화합니다.

      • 스토리지 클래스 암호화

        암호화가 활성화된 스토리지 클래스를 사용하여 암호화된 영구 볼륨(블록만 해당)을 생성합니다.

    3. Connect to an external key management service 확인란을 선택합니다. 이는 클러스터 전체 암호화에 대해 선택 사항입니다.

      1. Key Management Service Provider 는 기본적으로 Vault 로 설정됩니다.
      2. Vault Service Name, host Address of Vault server (https://<hostname or ip>''), 포트 번호 및 토큰 을 입력합니다.
      3. 고급 설정을 확장하여 Vault 구성에 따라 추가 설정 및 인증서 세부 정보를 입력합니다.

        1. OpenShift Data Foundation에 고유한 백엔드 경로에 Key Value(키값 ) 시크릿 경로를 입력합니다.
        2. 선택 사항: TLS Server NameVault Enterprise Namespace를 입력합니다.
        3. 각 PEM 인코딩 인증서 파일을 업로드하여 CA 인증서,클라이언트 인증서 클라이언트 개인 키를 제공합니다.
        4. 저장을 클릭합니다.
    4. Multus는 IBM Z 인프라의 OpenShift Data Foundation에서 아직 지원되지 않으므로 Default (SDN) 를 선택합니다.
    5. 다음을 클릭합니다.
  7. 페이지 검토 및 생성:

    1. 구성 세부 정보를 검토합니다. 구성 설정을 수정하려면 Back(뒤로 )을 클릭하여 이전 구성 페이지로 돌아갑니다.
    2. 스토리지 시스템 생성을 클릭합니다.

검증 단계

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

    1. OpenShift 웹 콘솔에서 설치된 OperatorOpenShift Data FoundationStorage Systemocs-storagecluster-storagesystem → 리소스로 이동합니다.
    2. 스토리지 클러스터 상태가 Ready 이고 옆에 녹색 눈금이 있는지 확인합니다.
  • 스토리지 클러스터에서 유연한 확장이 활성화되어 있는지 확인하려면 다음 단계를 수행합니다.

    1. OpenShift 웹 콘솔에서 설치된 OperatorOpenShift Data FoundationStorage Systemocs-storagecluster-storagesystemResourcesocs-storagecluster 로 이동합니다.
    2. YAML 탭에서 spec 섹션에서 flexibility Scaling 키를 검색하고 status 섹션에서 failureDomain 을 검색합니다. 유연한 확장이 true이고 failureDomain 이 host로 설정된 경우 유연한 확장 기능이 활성화됩니다.

      spec:
      flexibleScaling: true
      […]
      status:
      failureDomain: host
  • OpenShift Data Foundation의 모든 구성 요소가 성공적으로 설치되었는지 확인하려면 OpenShift Data Foundation 배포 확인을 참조하십시오.

추가 리소스

3장. 내부 연결 장치에 대한 OpenShift Data Foundation 배포 확인

이 섹션을 사용하여 OpenShift Data Foundation이 올바르게 배포되었는지 확인합니다.

3.1. Pod 상태 확인

절차

  1. OpenShift 웹 콘솔에서 워크로드 → 포드를 클릭합니다.
  2. 프로젝트 드롭다운 목록에서 openshift-storage 를 선택합니다.

    참고

    Show default projects (기본 프로젝트 표시) 옵션이 비활성화된 경우 toggle(전원) 버튼을 사용하여 모든 기본 프로젝트를 나열합니다.

    각 구성 요소에 대해 예상되는 Pod 수와 노드 수에 따라 달라지는 방법에 대한 자세한 내용은 표 3.1. “OpenShift Data Foundation 클러스터에 해당하는 Pod” 을 참조하십시오.

  3. RunningCompleted 탭을 클릭하여 다음 포드가 RunningCompleted 상태인지 확인합니다.

    표 3.1. OpenShift Data Foundation 클러스터에 해당하는 Pod

    구성 요소해당 Pod

    OpenShift Data Foundation Operator

    • oCS-operator-* (모든 작업자 노드에서 Pod 1개)
    • oCS-metrics-exporter-* (1개의 작업자 노드에서 Pod)
    • ODF-operator-controller-manager-* 1개의 작업자 노드의 Pod
    • CSI-addons-controller-manager-* (1개의 작업자 노드에서 Pod)
    • oDF-console-* (1개의 작업자 노드에서 Pod)

    Rook-ceph Operator

    rook-ceph-operator-*

    모든 작업자 노드에서 Pod 1개)

    Multicloud Object Gateway

    • NooBaa-operator-* (작업자 노드에서 Pod 1개)
    • NooBaa-core-* (모든 스토리지 노드에서 Pod 1개)
    • NooBaa-db-pg-* (모든 스토리지 노드에서 Pod 1개)
    • NooBaa-endpoint-* (모든 스토리지 노드에서 Pod 1개)

    MON

    rook-ceph-mon-*

    스토리지 노드에 분산된 3개의 Pod)

    MGR

    rook-ceph-mgr-*

    모든 스토리지 노드에서 Pod 1개)

    MDS

    rook-ceph-mds-ocs-storagecluster-cephfilesystem-*

    스토리지 노드에 분산된 2개의 Pod)

    RGW

    Rook-ceph-rgw-ocs-storagecluster-cephobjectstore-* (1개의 스토리지 노드에서 pod)

    CSI

    • CephFS

      • CSI-cephfsplugin-* (1개의 작업자 노드에서 Pod)
      • CSI-cephfsplugin-provisioner-* (작업자 노드에 배포된 Pod)
    • rbd

      • CSI-rbdplugin-* (각 작업자 노드에서 Pod 1개)
      • CSI-rbdplugin-provisioner-* (작업자 노드에 분산된 Pod)

    rook-ceph-crashcollector

    rook-ceph-crashcollector-*

    각 스토리지 노드에서 Pod 1개)

    OSD

    • Rook-ceph-osd-* (1개의 장치마다 pod)
    • Rook-ceph-osd-prepare-ocs-deviceset-* (1개의 장치 용 pod)

3.2. OpenShift Data Foundation 클러스터가 정상인지 확인

절차

  1. OpenShift 웹 콘솔에서 스토리지 → 데이터 기반 을 클릭합니다.
  2. Storage Systems(스토리지 시스템 ) 탭을 클릭한 다음 ocs-storagecluster-storagesystem 을 클릭합니다.
  3. Overview(개요) 탭의 Block 및 File 대시보드의 Status(상태) 카드에서 Storage Cluster (스토리지 클러스터)와 Data Resiliency (데이터 복원력)에 모두 녹색 눈금이 있는지 확인합니다.
  4. 세부 정보 카드에서 클러스터 정보가 표시되는지 확인합니다.

블록 및 파일 대시보드를 사용하는 OpenShift Data Foundation 클러스터의 상태에 대한 자세한 내용은 OpenShift Data Foundation 모니터링을 참조하십시오.

3.3. Multicloud Object Gateway가 정상인지 확인

절차

  1. OpenShift 웹 콘솔에서 스토리지 → 데이터 기반 을 클릭합니다.
  2. Overview(개요 ) 탭의 Status (상태) 카드에서 Storage System (스토리지 시스템)을 클릭한 다음 표시되는 팝업에서 스토리지 시스템 링크를 클릭합니다.

    1. Object( 오브젝트) 탭 의 Status (상태) 카드에서 Object Service (오브젝트 서비스) 및 Data Resiliency (데이터 복원력)에 모두 녹색 눈금이 있는지 확인합니다.
    2. 세부 정보 카드에서 MCG 정보가 표시되는지 확인합니다.

오브젝트 서비스 대시보드를 사용하는 OpenShift Data Foundation 클러스터의 상태에 대한 자세한 내용은 Monitoring OpenShift Data Foundation 을 참조하십시오.

3.4. OpenShift Data Foundation별 스토리지 클래스 확인

절차

  1. OpenShift 웹 콘솔의 왼쪽 창에서 스토리지 → 스토리지 클래스를 클릭합니다.
  2. OpenShift Data Foundation 클러스터 생성을 사용하여 다음 스토리지 클래스가 생성되었는지 확인합니다.

    • ocs-storagecluster-ceph-rbd
    • ocs-storagecluster-cephfs
    • openshift-storage.noobaa.io
    • ocs-storagecluster-ceph-rgw

4장. OpenShift Data Foundation 설치 제거

4.1. 내부 연결 장치에서 OpenShift Data Foundation 설치 제거

이 섹션의 단계를 사용하여 OpenShift Data Foundation을 설치 제거합니다.

주석 제거

스토리지 클러스터의 주석은 제거 프로세스의 동작을 변경하는 데 사용됩니다. 설치 제거 동작을 정의하기 위해 스토리지 클러스터에 다음 두 개의 주석이 도입되었습니다.

  • uninstall.ocs.openshift.io/cleanup-policy: delete
  • uninstall.ocs.openshift.io/mode: 정상

다음 표는 이러한 주석과 함께 사용할 수 있는 다양한 값에 대한 정보를 제공합니다.

표 4.1. uninstall.ocs.openshift.io 제거 주석 설명

주석현재의Default동작

cleanup-policy

delete

있음

Rook은 물리적 드라이브와 DataDirHostPath를 정리합니다.

cleanup-policy

유지

없음

Rook은 물리적 드라이브 및 DataDirHostPath를 정리 하지 않습니다.

mode

정상

있음

Rook 및 NooBaa는 관리자/사용자가 PVC(영구 볼륨 클레임) 및 OBC(오브젝트 버킷 클레임)를 제거할 때까지 제거 프로세스를 일시 중지합니다.

mode

강제

없음

Rook 및 NooBaa는 Rook 및 NooBaa를 사용하여 프로비저닝된 PVC/OBC가 각각 존재하는 경우에도 제거로 진행됩니다.

주석 값을 편집하여 정리 정책 또는 제거 모드를 변경합니다.

$ oc -n openshift-storage annotate storagecluster ocs-storagecluster uninstall.ocs.openshift.io/cleanup-policy="retain" --overwrite
$ oc -n openshift-storage annotate storagecluster ocs-storagecluster uninstall.ocs.openshift.io/mode="forced" --overwrite

두 명령 모두에서 예상되는 출력:

storagecluster.ocs.openshift.io/ocs-storagecluster annotated

사전 요구 사항

  • OpenShift Data Foundation 클러스터가 정상 상태인지 확인합니다. 리소스 또는 노드가 부족하여 일부 Pod가 성공적으로 종료되지 않으면 설치 제거 프로세스가 실패할 수 있습니다. 클러스터가 비정상인 경우 OpenShift Data Foundation을 설치 제거하기 전에 Red Hat 고객 지원팀에 문의하십시오.
  • 애플리케이션이 OpenShift Data Foundation에서 제공하는 스토리지 클래스를 사용하여 PVC(영구 볼륨 클레임) 또는 개체 버킷 클레임(OBC)을 사용하지 않는지 확인합니다.
  • 관리자가 생성한 사용자 지정 리소스(예: 사용자 지정 스토리지 클래스, cephblockpools)가 관리자가 생성한 경우 해당 리소스를 사용하는 리소스를 제거한 후 관리자가 삭제해야 합니다.

절차

  1. OpenShift Data Foundation을 사용하는 볼륨 스냅샷을 삭제합니다.

    1. 모든 네임스페이스의 볼륨 스냅샷을 나열합니다.

      $ oc get volumesnapshot --all-namespaces
    2. 이전 명령의 출력에서 OpenShift Data Foundation을 사용하는 볼륨 스냅샷을 식별하고 삭제합니다.

      $ oc delete volumesnapshot <VOLUME-SNAPSHOT-NAME> -n <NAMESPACE>
      <VOLUME-SNAPSHOT-NAME>
      볼륨 스냅샷의 이름입니다.
      <NAMESPACE>
      프로젝트 네임스페이스입니다
  2. OpenShift Data Foundation을 사용하는 PVC 및 OBC를 삭제합니다.

    기본 설치 제거 모드(허용)에서 설치 제거 프로그램은 OpenShift Data Foundation을 사용하는 모든 PVC 및 OBC가 삭제됩니다.

    PVC를 삭제하지 않고 스토리지 클러스터를 삭제하려면 설치 제거 모드 주석을 강제 적용으로 설정하고 이 단계를 건너뛸 수 있습니다. 이렇게 하면 시스템에서 고립된 PVC와 OBC가 생성됩니다.

    1. OpenShift Data Foundation을 사용하여 OpenShift Container Platform 모니터링 스택 PVC를 삭제합니다.

      OpenShift Data Foundation에서 모니터링 스택제거를 참조하십시오.

    2. OpenShift Data Foundation을 사용하여 OpenShift Container Platform 레지스트리 PVC를 삭제합니다.

      OpenShift Data Foundation에서 OpenShift Container Platform 레지스트리 제거

    3. OpenShift Data Foundation을 사용하여 OpenShift Container Platform 로깅 PVC를 삭제합니다.

      OpenShift Data Foundation에서 클러스터 로깅 Operator 제거

    4. OpenShift Data Foundation을 사용하여 프로비저닝된 다른 PVC 및 OBC를 삭제합니다.

      • 다음은 OpenShift Data Foundation을 사용하여 프로비저닝된 PVC 및 OBC를 식별하는 샘플 스크립트입니다. 스크립트는 OpenShift Data Foundation에서 내부적으로 사용하는 PVC를 무시합니다.

        #!/bin/bash
        
        RBD_PROVISIONER="openshift-storage.rbd.csi.ceph.com"
        CEPHFS_PROVISIONER="openshift-storage.cephfs.csi.ceph.com"
        NOOBAA_PROVISIONER="openshift-storage.noobaa.io/obc"
        RGW_PROVISIONER="openshift-storage.ceph.rook.io/bucket"
        
        NOOBAA_DB_PVC="noobaa-db"
        NOOBAA_BACKINGSTORE_PVC="noobaa-default-backing-store-noobaa-pvc"
        
        # Find all the OCS StorageClasses
        OCS_STORAGECLASSES=$(oc get storageclasses | grep -e "$RBD_PROVISIONER" -e "$CEPHFS_PROVISIONER" -e "$NOOBAA_PROVISIONER" -e "$RGW_PROVISIONER" | awk '{print $1}')
        
        # List PVCs in each of the StorageClasses
        for SC in $OCS_STORAGECLASSES
        do
                echo "======================================================================"
                echo "$SC StorageClass PVCs and OBCs"
                echo "======================================================================"
                oc get pvc  --all-namespaces --no-headers 2>/dev/null | grep $SC | grep -v -e "$NOOBAA_DB_PVC" -e "$NOOBAA_BACKINGSTORE_PVC"
                oc get obc  --all-namespaces --no-headers 2>/dev/null | grep $SC
                echo
        done
        참고

        클라우드 플랫폼용 RGW_PROVISIONER 생략.

      • OBC를 삭제합니다.

        $ oc delete obc <obc-name> -n <project-name>
        <obc-name>
        OBC의 이름입니다.
        <project-name>
        프로젝트의 이름입니다.
      • PVC를 삭제합니다.

        $ oc delete pvc <pvc-name> -n <project-name>
        <pvc-name>
        PVC의 이름입니다.
        <project-name>

        프로젝트의 이름입니다.

        참고

        클러스터에서 생성된 사용자 정의 백업 저장소, 버킷 클래스 등을 제거했는지 확인합니다.

  3. Storage System 오브젝트를 삭제하고 관련 리소스가 제거될 때까지 기다립니다.

    $ oc delete -n openshift-storage storagesystem --all --wait=true
  4. uninstall.ocs.openshift.io/cleanup-policy삭제(기본값)로 설정되어 있는지 확인하고 상태가 Completed 인지 확인합니다.

    $ oc get pods -n openshift-storage | grep -i cleanup

    출력 예:

    NAME                                READY   STATUS      RESTARTS   AGE
    cluster-cleanup-job-<xx>        	0/1     Completed   0          8m35s
    cluster-cleanup-job-<yy>     		0/1     Completed   0          8m35s
    cluster-cleanup-job-<zz>     		0/1     Completed   0          8m35s
  5. /var/lib/rook 디렉토리가 비어 있는지 확인합니다. 이 디렉터리는 uninstall.ocs.openshift.io/cleanup-policy 주석이 삭제(기본값)로 설정된 경우에만 비어 있습니다.

    $ for i in $(oc get node -l cluster.ocs.openshift.io/openshift-storage= -o jsonpath='{ .items[*].metadata.name }'); do oc debug node/${i} -- chroot /host  ls -l /var/lib/rook; done
  6. 설치 시 암호화가 활성화된 경우 모든 OpenShift Data Foundation 노드의 OSD 장치에서 dm -crypt managed device-mapper 매핑을 제거합니다.

    1. 스토리지 노드의 호스트에 디버그 포드 및 chroot 를 만듭니다.

      $ oc debug node/<node-name>
      $ chroot /host
      <node-name>
      노드의 이름입니다.
    2. 장치 이름을 가져오고 OpenShift Data Foundation 장치를 기록합니다.

      $ dmsetup ls

      출력 예:

      ocs-deviceset-0-data-0-57snx-block-dmcrypt (253:1)
    3. 매핑된 장치를 제거합니다.

      $ cryptsetup luksClose --debug --verbose ocs-deviceset-0-data-0-57snx-block-dmcrypt
      중요

      권한이 충분하지 않아 위의 명령이 중단되면 다음 명령을 실행합니다.

      • CTRL+Z 를 눌러 위의 명령을 종료합니다.
      • 중단된 프로세스의 PID를 찾습니다.

        $ ps -ef | grep crypt
      • kill 명령을 사용하여 프로세스를 종료합니다.

        $ kill -9 <PID>
        <PID>
        프로세스 ID입니다
      • 장치 이름이 제거되었는지 확인합니다.

        $ dmsetup ls
  7. 네임스페이스를 삭제하고 삭제가 완료될 때까지 기다립니다. openshift-storage 가 활성 프로젝트인 경우 다른 프로젝트로 전환해야 합니다.

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

    $ oc project default
    $ oc delete project openshift-storage --wait=true --timeout=5m

    다음 명령에서 NotFound 오류를 반환하면 프로젝트가 삭제됩니다.

    $ oc get project openshift-storage
    참고

    OpenShift Data Foundation을 설치 제거하는 동안 네임스페이스 가 완전히 삭제되지 않고 종료 상태가 유지되는 경우 설치 제거 중 나머지 리소스 문제 해결 및 삭제 단계를 수행하여 네임스페이스가 종료되지 않는 오브젝트를 식별합니다.

  8. 로컬 스토리지 장치를 사용하여 OpenShift Data Foundation을 배포한 경우 로컬 스토리지 운영자 구성을 삭제합니다. 로컬 스토리지 운영자 구성 제거를 참조하십시오.
  9. 스토리지 노드의 레이블을 해제합니다.

    $ oc label nodes  --all cluster.ocs.openshift.io/openshift-storage-
    $ oc label nodes  --all topology.rook.io/rack-
  10. 노드가 테인트된 경우 OpenShift Data Foundation 테인트를 제거합니다.

    $ oc adm taint nodes --all node.ocs.openshift.io/storage-
  11. OpenShift Data Foundation을 사용하여 프로비저닝된 모든 PV(영구 볼륨)가 삭제되었는지 확인합니다. Released 상태에 PV가 남아 있으면 삭제합니다.

    $ oc get pv
    $ oc delete pv <pv-name>
    <pv-name>
    PV의 이름입니다.
  12. CustomResourceDefinitions 제거.

    $ oc delete crd backingstores.noobaa.io bucketclasses.noobaa.io cephblockpools.ceph.rook.io cephclusters.ceph.rook.io cephfilesystems.ceph.rook.io cephnfses.ceph.rook.io cephobjectstores.ceph.rook.io cephobjectstoreusers.ceph.rook.io noobaas.noobaa.io ocsinitializations.ocs.openshift.io storageclusters.ocs.openshift.io cephclients.ceph.rook.io cephobjectrealms.ceph.rook.io cephobjectzonegroups.ceph.rook.io cephobjectzones.ceph.rook.io cephrbdmirrors.ceph.rook.io storagesystems.odf.openshift.io --wait=true --timeout=5m
  13. OpenShift Data Foundation이 완전히 설치 제거되었는지 확인하려면 OpenShift Container Platform Web Console에서 다음을 수행합니다.

    1. Storage(스토리지)를 클릭합니다.
    2. OpenShift Data Foundation 이 더 이상 Storage(스토리지)에 표시되지 않는지 확인합니다.

4.1.1. 로컬 스토리지 Operator 구성 제거

로컬 스토리지 장치를 사용하여 OpenShift Data Foundation을 배포한 경우에만 이 섹션의 지침을 사용합니다.

참고

localvolume 리소스를 사용하는 OpenShift Data Foundation 배포의 경우 8단계로 직접 이동합니다.

절차

  1. LocalVolumeSet 및 OpenShift Data Foundation에서 사용 중인 해당 StorageClassName 을 식별합니다.

    $ oc get localvolumesets.local.storage.openshift.io -n openshift-local-storage
  2. LocalVolumeSet 을 제공하는 StorageClass 로 SC 변수를 설정합니다.

    $ export SC="<StorageClassName>"
  3. 나중에 정리할 장치를 나열하고 확인합니다. 디스크의 장치 ID를 나열하려면 여기에 언급된 절차를 따르십시오. 사용 가능한 스토리지 장치 찾기를 참조하십시오.

    출력 예:

    /dev/disk/by-id/scsi-360050763808104bc28000000000000eb
    /dev/disk/by-id/scsi-360050763808104bc28000000000000ef
    /dev/disk/by-id/scsi-360050763808104bc28000000000000f3
  4. LocalVolumeSet 을 삭제합니다.

    $ oc delete localvolumesets.local.storage.openshift.io <name-of-volumeset> -n openshift-local-storage
  5. 지정된 StorageClassName 의 로컬 스토리지 PV를 삭제합니다.

    $ oc get pv | grep $SC | awk '{print $1}'| xargs oc delete pv
  6. StorageClassName 을 삭제합니다.

    $ oc delete sc $SC
  7. LocalVolumeSet 에서 생성한 심볼릭 링크를 삭제합니다.

    [[ ! -z $SC ]] && for i in $(oc get node -l cluster.ocs.openshift.io/openshift-storage= -o jsonpath='{ .items[*].metadata.name }'); do oc debug node/${i} -- chroot /host rm -rfv /mnt/local-storage/${SC}/; done
  8. LocalVolumeDiscovery 삭제.

    $ oc delete localvolumediscovery.local.storage.openshift.io/auto-discover-devices -n openshift-local-storage
  9. LocalVolume 리소스(있는 경우)를 제거합니다.

    다음 단계를 사용하여 현재 또는 이전 OpenShift Data Foundation 버전에서 PV를 프로비저닝하는 데 사용된 LocalVolume 리소스를 제거합니다. 또한 이러한 리소스가 클러스터의 다른 테넌트에서 사용하지 않는지 확인합니다.

    각 로컬 볼륨에서 다음을 수행합니다.

    1. LocalVolume 및 OpenShift Data Foundation에서 사용 중인 해당 StorageClassName 을 식별합니다.

      $ oc get localvolume.local.storage.openshift.io -n openshift-local-storage
    2. 변수 LV를 LocalVolume의 이름으로 설정하고 변수 SC를 StorageClass의 이름으로 설정합니다.

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

      $ LV=local-block
      $ SC=localblock
    3. 나중에 정리할 장치를 나열하고 확인합니다.

      $ oc get localvolume -n openshift-local-storage $LV -o jsonpath='{ .spec.storageClassDevices[].devicePaths[] }{"\n"}'

      출력 예:

      /dev/sdb
      /dev/sdc
      /dev/sdd
      /dev/sde
    4. 로컬 볼륨 리소스를 삭제합니다.

      $ oc delete localvolume -n openshift-local-storage --wait=true $LV
    5. 나머지 PV 및 스토리지 클래스가 있는 경우 삭제합니다.

      $ oc delete pv -l storage.openshift.com/local-volume-owner-name=${LV} --wait --timeout=5m
      $ oc delete storageclass $SC --wait --timeout=5m
    6. 해당 리소스의 스토리지 노드에서 아티팩트를 정리합니다.

      $ [[ ! -z $SC ]] && for i in $(oc get node -l cluster.ocs.openshift.io/openshift-storage= -o jsonpath='{ .items[*].metadata.name }'); do oc debug node/${i} -- chroot /host rm -rfv /mnt/local-storage/${SC}/; done

      출력 예:

      Starting pod/node-xxx-debug ...
      To use host binaries, run `chroot /host`
      removed '/mnt/local-storage/localblock/nvme2n1'
      removed directory '/mnt/local-storage/localblock'
      
      Removing debug pod ...
      Starting pod/node-yyy-debug ...
      To use host binaries, run `chroot /host`
      removed '/mnt/local-storage/localblock/nvme2n1'
      removed directory '/mnt/local-storage/localblock'
      
      Removing debug pod ...
      Starting pod/node-zzz-debug ...
      To use host binaries, run `chroot /host`
      removed '/mnt/local-storage/localblock/nvme2n1'
      removed directory '/mnt/local-storage/localblock'
      
      Removing debug pod ...
  10. 각각 1단계와 8단계에 나열된 로컬 볼륨 또는 로컬 볼륨의 디스크를 초기화하여 재사용할 수 있도록 합니다.

    1. 스토리지 노드를 나열합니다.

      oc get nodes -l cluster.ocs.openshift.io/openshift-storage=

      출력 예:

      NAME      STATUS   ROLES    AGE     VERSION
      node-xxx  Ready    worker   4h45m  v1.18.3+6c42de8
      node-yyy  Ready    worker   4h46m  v1.18.3+6c42de8
      node-zzz  Ready    worker   4h45m  v1.18.3+6c42de8
    2. 노드 콘솔을 가져오고 프롬프트가 나타나면 chroot /host 명령을 실행합니다.

      $ oc debug node/node-xxx
      Starting pod/node-xxx-debug …
      To use host binaries, run `chroot /host`
      Pod IP: w.x.y.z
      If you don't see a command prompt, try pressing enter.
      sh-4.2# chroot /host
    3. 디스크 경로를 따옴표 내에 DISKS 변수에 저장합니다. 디스크 경로 목록은 로컬 volumeset 및 로컬 볼륨의 각각 3단계 및 8.c단계를 참조하십시오.

      출력 예:

      sh-4.4# DISKS="/dev/disk/by-id/scsi-360050763808104bc28000000000000eb /dev/disk/by-id/scsi-360050763808104bc28000000000000ef /dev/disk/by-id/scsi-360050763808104bc28000000000000f3 "
      or
      sh-4.2# DISKS="/dev/sdb /dev/sdc /dev/sdd /dev/sde ".
    4. 모든 디스크에서 sgdisk --zap-all 을 실행합니다.

      sh-4.4# for disk in $DISKS; do sgdisk --zap-all $disk;done

      출력 예:

      Creating new GPT entries.
      GPT data structures destroyed! You may now partition the disk using fdisk or
      other utilities.
      Creating new GPT entries.
      GPT data structures destroyed! You may now partition the disk using fdisk or
      other utilities.
      Creating new GPT entries.
      GPT data structures destroyed! You may now partition the disk using fdisk or
      other utilities.
      Creating new GPT entries.
      GPT data structures destroyed! You may now partition the disk using fdisk or
      other utilities.
    5. 쉘을 종료하고 다른 노드에 대해 반복합니다.

      sh-4.4# exit
      exit
      sh-4.2# exit
      exit
      Removing debug pod ...
  11. openshift-local-storage 네임스페이스를 삭제하고 삭제가 완료될 때까지 기다립니다. openshift-local-storage 네임스페이스가 활성 프로젝트인 경우 다른 프로젝트로 전환해야 합니다.

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

    $ oc project default
    $ oc delete project openshift-local-storage --wait=true --timeout=5m

    다음 명령에서 a NotFound 오류를 반환하면 프로젝트가 삭제됩니다.

    $ oc get project openshift-local-storage

4.2. OpenShift Data Foundation에서 모니터링 스택 제거

이 섹션을 사용하여 OpenShift Data Foundation에서 모니터링 스택을 정리합니다.

모니터링 스택 구성의 일부로 생성된 PVC(영구 볼륨 클레임)는 openshift-monitoring 네임스페이스에 있습니다.

사전 요구 사항

  • PVC는 OpenShift Container Platform 모니터링 스택을 사용하도록 구성됩니다.

    자세한 내용은 모니터링 스택 구성을 참조하십시오.

절차

  1. openshift-monitoring 네임스페이스에서 현재 실행 중인 Pod 및 PVC를 나열합니다.

    $ oc get pod,pvc -n openshift-monitoring

    출력 예:

    NAME                           READY   STATUS    RESTARTS   AGE
    pod/alertmanager-main-0         3/3     Running   0          8d
    pod/alertmanager-main-1         3/3     Running   0          8d
    pod/alertmanager-main-2         3/3     Running   0          8d
    pod/cluster-monitoring-
    operator-84457656d-pkrxm        1/1     Running   0          8d
    pod/grafana-79ccf6689f-2ll28    2/2     Running   0          8d
    pod/kube-state-metrics-
    7d86fb966-rvd9w                 3/3     Running   0          8d
    pod/node-exporter-25894         2/2     Running   0          8d
    pod/node-exporter-4dsd7         2/2     Running   0          8d
    pod/node-exporter-6p4zc         2/2     Running   0          8d
    pod/node-exporter-jbjvg         2/2     Running   0          8d
    pod/node-exporter-jj4t5         2/2     Running   0          6d18h
    pod/node-exporter-k856s         2/2     Running   0          6d18h
    pod/node-exporter-rf8gn         2/2     Running   0          8d
    pod/node-exporter-rmb5m         2/2     Running   0          6d18h
    pod/node-exporter-zj7kx         2/2     Running   0          8d
    pod/openshift-state-metrics-
    59dbd4f654-4clng                3/3     Running   0          8d
    pod/prometheus-adapter-
    5df5865596-k8dzn                1/1     Running   0          7d23h
    pod/prometheus-adapter-
    5df5865596-n2gj9                1/1     Running   0          7d23h
    pod/prometheus-k8s-0            6/6     Running   1          8d
    pod/prometheus-k8s-1            6/6     Running   1          8d
    pod/prometheus-operator-
    55cfb858c9-c4zd9                1/1     Running   0          6d21h
    pod/telemeter-client-
    78fc8fc97d-2rgfp                3/3     Running   0          8d
    
    NAME                                                              STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS                  AGE
    persistentvolumeclaim/my-alertmanager-claim-alertmanager-main-0   Bound    pvc-0d519c4f-15a5-11ea-baa0-026d231574aa   40Gi       RWO            ocs-storagecluster-ceph-rbd   8d
    persistentvolumeclaim/my-alertmanager-claim-alertmanager-main-1   Bound    pvc-0d5a9825-15a5-11ea-baa0-026d231574aa   40Gi       RWO            ocs-storagecluster-ceph-rbd   8d
    persistentvolumeclaim/my-alertmanager-claim-alertmanager-main-2   Bound    pvc-0d6413dc-15a5-11ea-baa0-026d231574aa   40Gi       RWO            ocs-storagecluster-ceph-rbd   8d
    persistentvolumeclaim/my-prometheus-claim-prometheus-k8s-0        Bound    pvc-0b7c19b0-15a5-11ea-baa0-026d231574aa   40Gi       RWO            ocs-storagecluster-ceph-rbd   8d
    persistentvolumeclaim/my-prometheus-claim-prometheus-k8s-1        Bound    pvc-0b8aed3f-15a5-11ea-baa0-026d231574aa   40Gi       RWO            ocs-storagecluster-ceph-rbd   8d
  2. 모니터링 구성 맵을 편집합니다.

    $ oc -n openshift-monitoring edit configmap cluster-monitoring-config

    다음 예제와 같이 OpenShift Data Foundation 스토리지 클래스를 참조하는 config 섹션을 제거하여 저장합니다.

    편집하기 전에

    .
    .
    .
    apiVersion: v1
    data:
      config.yaml: |
        alertmanagerMain:
          volumeClaimTemplate:
            metadata:
              name: my-alertmanager-claim
            spec:
              resources:
                requests:
                  storage: 40Gi
              storageClassName: ocs-storagecluster-ceph-rbd
        prometheusK8s:
          volumeClaimTemplate:
            metadata:
              name: my-prometheus-claim
            spec:
              resources:
                requests:
                  storage: 40Gi
              storageClassName: ocs-storagecluster-ceph-rbd
    kind: ConfigMap
    metadata:
      creationTimestamp: "2019-12-02T07:47:29Z"
      name: cluster-monitoring-config
      namespace: openshift-monitoring
      resourceVersion: "22110"
      selfLink: /api/v1/namespaces/openshift-monitoring/configmaps/cluster-monitoring-config
      uid: fd6d988b-14d7-11ea-84ff-066035b9efa8
    .
    .
    .

    편집 후

    .
    .
    .
    apiVersion: v1
    data:
      config.yaml: |
    kind: ConfigMap
    metadata:
      creationTimestamp: "2019-11-21T13:07:05Z"
      name: cluster-monitoring-config
      namespace: openshift-monitoring
      resourceVersion: "404352"
      selfLink: /api/v1/namespaces/openshift-monitoring/configmaps/cluster-monitoring-config
      uid: d12c796a-0c5f-11ea-9832-063cd735b81c
    .
    .
    .

    이 예에서는 alertmanagerMainprometheusK8s 모니터링 구성 요소에서 OpenShift Data Foundation PVC를 사용하고 있습니다.

  3. 관련 PVC를 삭제합니다. 스토리지 클래스를 사용하는 모든 PVC를 삭제하십시오.

    $ oc delete -n openshift-monitoring pvc <pvc-name> --wait=true --timeout=5m
    <pvc-name>
    PVC의 이름입니다.

4.3. OpenShift Data Foundation에서 OpenShift Container Platform 레지스트리 제거

이 섹션을 사용하여 OpenShift Data Foundation에서 OpenShift Container Platform 레지스트리를 정리합니다. 대체 스토리지를 구성하려면 이미지 레지스트리 를 참조하십시오.

OpenShift Container Platform 레지스트리 구성의 일부로 생성된 PVC(영구 볼륨 클레임)는 openshift-image-registry 네임스페이스에 있습니다.

사전 요구 사항

  • OpenShift Data Foundation PVC를 사용하도록 이미지 레지스트리가 구성되어 있어야 합니다.

절차

  1. configs.imageregistry.operator.openshift.io 오브젝트를 편집하고 스토리지 섹션에서 콘텐츠를 제거합니다.

    $ oc edit configs.imageregistry.operator.openshift.io

    편집하기 전에

    .
    .
    .
    
    storage:
        pvc:
            claim: registry-cephfs-rwx-pvc
    .
    .
    .

    편집 후

    .
    .
    .
    storage:
      emptyDir: {}
    .
    .
    .

    이 예에서는 PVC를 registry-cephfs-rwx-pvc 라고 하며 이제 안전하게 삭제할 수 있습니다.

  2. PVC를 삭제합니다.

    $ oc delete pvc <pvc-name> -n openshift-image-registry --wait=true --timeout=5m
    <pvc-name>
    PVC의 이름입니다.

4.4. OpenShift Data Foundation에서 클러스터 로깅 Operator 제거

이 섹션을 사용하여 OpenShift Data Foundation에서 클러스터 로깅 운영자를 정리합니다.

클러스터 로깅 운영자 구성의 일부로 생성된 PVC(영구 볼륨 클레임)는 openshift-logging 네임스페이스에 있습니다.

사전 요구 사항

  • OpenShift Data Foundation PVC를 사용하도록 클러스터 로깅 인스턴스가 구성되어 있어야 합니다.

절차

  1. 네임스페이스에서 ClusterLogging 인스턴스를 제거합니다.

    $ oc delete clusterlogging instance -n openshift-logging --wait=true --timeout=5m

    이제 openshift-logging 네임스페이스의 PVC를 삭제할 수 있습니다.

  2. PVC를 삭제합니다.

    $ oc delete pvc <pvc-name> -n openshift-logging --wait=true --timeout=5m
    <pvc-name>
    PVC의 이름입니다.