Scaling storage

Red Hat OpenShift Container Storage 4.7

수평 및 수직 스케일링 옵션

초록

이 문서에서는 Red Hat OpenShift Container Storage의 스케일링 옵션에 대해 설명합니다.

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

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

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

문서 개선을 위한 의견을 보내 주십시오. 개선할 내용에 대해 알려주십시오. 피드백을 보내주시려면 다음을 확인하십시오.

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

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

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

머리말

OpenShift Container Storage의 스토리지 용량을 내부 모드로 스케일링하려면 다음 중 하나를 수행할 수 있습니다.

  • 스토리지 노드 확장 - 기존 Red Hat OpenShift Container Storage 작업자 노드에 스토리지 용량 추가
  • 스토리지 노드 확장 - 스토리지 용량이 포함된 새 작업자 노드 추가

외부 모드에서 스토리지를 확장하려면 Red Hat Ceph Storage 문서를 참조하십시오.

1장. 스토리지 노드 확장 요구사항

스토리지 노드를 확장하기 전에 다음 섹션을 참조하여 특정 Red Hat OpenShift Container Storage 인스턴스에 대한 노드 요구 사항을 이해해야 합니다.

중요

항상 충분한 스토리지 용량을 보유하고 있는지 확인하십시오.

스토리지가 완전히 채워지면 용량을 추가하거나 스토리지에서 콘텐츠를 삭제하여 공간을 확보할 수 없습니다. 완전히 완전한 저장은 복구하기가 매우 어렵습니다.

클러스터 스토리지 용량이 75%(near-full) 및 전체 용량의 85%(전체)에 도달하면 용량 경고가 발행됩니다. 항상 용량 경고를 신속하게 처리하고 저장 공간이 부족하지 않도록 스토리지를 정기적으로 검토합니다.

스토리지 공간을 완전히 실행하는 경우 Red Hat 고객 지원에 문의하십시오.

1.1. Red Hat OpenShift Container Storage에 지원되는 배포

  • 사용자 프로비저닝 인프라:

    • AWS(Amazon Web Services)
    • VMware
    • 베어 메탈
    • IBM Power Systems
    • IBM Z 또는 LinuxONE
  • 설치 프로그램에서 제공하는 인프라:

    • AWS(Amazon Web Services)
    • Microsoft Azure
    • VMware
    • Red Hat Virtualization

2장. 스토리지 용량 확장

배포 유형에 따라 다음 절차 중 하나를 선택하여 스토리지 용량을 확장할 수 있습니다.

배포 중에 프로비저닝된 스토리지 클래스 이외의 스토리지 클래스를 사용하여 확장하려면 스케일링하기 전에 추가 스토리지 클래스도 정의해야 합니다. 자세한 내용은 스토리지 클래스 생성 을 참조하십시오.

참고

OpenShift Container Storage는 이기종 OSD 크기를 지원하지 않습니다.

2.1. 스토리지 클래스 생성

새 스토리지 클래스를 정의하여 기존 공급자의 스토리지를 동적으로 프로비저닝할 수 있습니다.

사전 요구 사항

  • OpenShift 웹 콘솔에 대한 관리자 액세스.

절차

  1. OpenShift 웹 콘솔에 로그인합니다.
  2. 스토리지 → 스토리지 클래스를 클릭합니다.
  3. Create Storage Class 를 클릭합니다.
  4. 스토리지 클래스 이름설명을 입력합니다.
  5. 필요한 Reclaim Policy and Provisioner 를 선택합니다.
  6. 생성 을 클릭하여 스토리지 클래스를 만듭니다.

검증 단계

  • 스토리지스토리지 클래스 를 클릭하고 새 스토리지 클래스가 표시되는지 확인합니다.

2.2. OpenShift Container Storage 노드에 용량을 추가하여 스토리지 확장

다음 인프라에 구성된 Red Hat OpenShift Container Storage 작업자 노드에 스토리지 용량 및 성능을 추가하려면 다음 절차를 사용하십시오.

  • AWS
  • VMware vSphere
  • Red Hat Virtualization
  • Microsoft Azure

사전 요구 사항

  • 실행 중인 OpenShift Container Storage Platform.
  • OpenShift 웹 콘솔의 관리 권한.
  • 배포 중에 프로비저닝된 스토리지 클래스 이외의 스토리지 클래스를 사용하여 확장하려면 먼저 추가 스토리지 클래스를 정의합니다. 자세한 내용은 스토리지 클래스 생성 을 참조하십시오.

절차

  1. OpenShift 웹 콘솔에 로그인합니다.
  2. Operators → 설치된 Operator 를 클릭합니다.
  3. OpenShift Container Storage Operator를 클릭합니다.
  4. Storage Cluster 탭을 클릭합니다.
  5. 표시되는 목록에는 하나의 항목만 있어야 합니다. 맨 오른쪽에 있는 옵션을 클릭하여 옵션 메뉴를 확장합니다.
  6. 옵션 메뉴에서 용량 추가 를 선택합니다.
  7. 스토리지 클래스를 선택합니다.

    배포 중에 생성된 기본 스토리지 클래스를 사용하는 경우 AWS의 스토리지 클래스를 AWS의 thin, Red Hat Virtualization에서 ovirt-csi-sc 또는 managed_premium 으로 설정합니다. 다른 스토리지 클래스를 생성한 경우 적합한 스토리지 클래스를 선택합니다.

    중요

    공급자의 기본값 이외의 스토리지 클래스를 사용하는 것은 기술 프리뷰 기능입니다.

    기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

    자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

    Raw Capacity 필드는 스토리지 클래스 생성 중에 크기 집합을 표시합니다. OpenShift Container Storage는 복제본 수를 3개로 사용하기 때문에 소비되는 총 스토리지의 양은 3배입니다.

  8. 추가 를 클릭하고 클러스터 상태가 Ready 로 변경될 때까지 기다립니다.

검증 단계

  • 개요영구 스토리지 탭으로 이동한 다음 Raw Capacity breakdown 카드를 확인합니다.

    선택 항목에 따라 용량이 증가합니다.

    참고

    원시 용량은 복제를 고려하지 않고 전체 용량을 표시합니다.

  • 새 OSD와 해당 새 PVC가 생성되었는지 확인합니다.

    • 새로 생성된 OSD의 상태를 보려면 다음을 수행합니다.

      1. OpenShift 웹 콘솔에서 워크로드Pod를 클릭합니다.
      2. 프로젝트 드롭다운 목록에서 openshift-storage 를 선택합니다.
    • PVC 상태를 보려면 다음을 수행합니다.

      1. OpenShift 웹 콘솔에서 스토리지영구 볼륨 클레임 을 클릭합니다.
      2. 프로젝트 드롭다운 목록에서 openshift-storage 를 선택합니다.
  • (선택 사항) 클러스터에서 클러스터 전체 암호화가 활성화된 경우 새 OSD 장치가 암호화되었는지 확인합니다.

    1. 새 OSD 포드가 실행 중인 노드를 식별합니다.

      $ oc get -o=custom-columns=NODE:.spec.nodeName pod/<OSD pod name>

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

      oc get -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
    2. 이전 단계에서 확인한 각 노드에서 다음을 수행합니다.

      1. 디버그 Pod를 생성하고 선택한 호스트에 대한 chroot 환경을 엽니다.

        $ oc debug node/<node name>
        $ chroot /host
      2. "lsblk"를 실행하고 ocs-deviceset 이름 옆에 "crypt" 키워드를 확인합니다.

        $ lsblk
중요

노드 또는 OSD를 제거하여 감소를 수행할지 여부에 관계없이 클러스터 감소는 현재 지원되지 않습니다.

2.3. 로컬 스토리지 장치를 사용하여 OpenShift Container Storage 노드에 용량을 추가하여 스토리지 확장

다음 인프라에서 구성된 로컬 스토리지 기반 OpenShift Container Storage 작업자 노드에 스토리지 용량(추가 스토리지 장치)을 추가하려면 다음 절차를 사용하십시오.

  • 베어 메탈
  • VMware
  • Red Hat Virtualization
중요

Amazon EC2 I3의 스토리지 확장 기능은 기술 프리뷰 기능입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

참고

Amazon EC2 I3 인프라의 경우 사용 가능한 NVMe 장치를 둘 다 사용하여 배포가 수행되므로 용량을 추가하는 유일한 옵션입니다.

사전 요구 사항

절차

용량을 추가하려면 배포 중에 프로비저닝한 스토리지 클래스 또는 필터와 일치하는 기타 스토리지 클래스를 사용할 수 있습니다.

  1. OpenShift 웹 콘솔에서 Operator → 설치된 Operator 를 클릭합니다.
  2. OpenShift Container Storage Operator를 클릭합니다.
  3. Storage Cluster 탭을 클릭합니다.
  4. 표시되는 목록에는 하나의 항목만 있어야 합니다. 맨 오른쪽에 있는 옵션을 클릭하여 옵션 메뉴를 확장합니다.
  5. 옵션 메뉴에서 용량 추가 를 선택합니다.
  6. 디스크 를 추가한 스토리지 클래스 또는 요구 사항에 따라 새 스토리지 클래스를 선택합니다. 사용 가능한 용량은 스토리지 클래스에서 사용 가능한 로컬 디스크를 기반으로 합니다.
  7. 추가를 클릭합니다.

    스토리지 클러스터가 Ready 상태가 될 때까지 몇 분 정도 기다려야 할 수 있습니다.

검증 단계

  • 개요영구 스토리지 탭으로 이동한 다음 Raw Capacity breakdown 카드를 확인합니다.

    선택 항목에 따라 용량이 증가합니다.

    참고

    원시 용량은 복제를 고려하지 않고 전체 용량을 표시합니다.

  • 새 OSD와 해당 새 PVC가 생성되었는지 확인합니다.

    • 새로 생성된 OSD의 상태를 보려면 다음을 수행합니다.

      1. OpenShift 웹 콘솔에서 워크로드Pod를 클릭합니다.
      2. 프로젝트 드롭다운 목록에서 openshift-storage 를 선택합니다.
    • PVC 상태를 보려면 다음을 수행합니다.

      1. OpenShift 웹 콘솔에서 스토리지영구 볼륨 클레임 을 클릭합니다.
      2. 프로젝트 드롭다운 목록에서 openshift-storage 를 선택합니다.
  • (선택 사항) 클러스터에서 클러스터 전체 암호화가 활성화된 경우 새 OSD 장치가 암호화되었는지 확인합니다.

    1. 새 OSD 포드가 실행 중인 노드를 식별합니다.

      $ oc get -o=custom-columns=NODE:.spec.nodeName pod/<OSD pod name>

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

      oc get -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
    2. 이전 단계에서 확인한 각 노드에서 다음을 수행합니다.

      1. 디버그 Pod를 생성하고 선택한 호스트에 대한 chroot 환경을 엽니다.

        $ oc debug node/<node name>
        $ chroot /host
      2. "lsblk"를 실행하고 ocs-deviceset 이름 옆에 "crypt" 키워드를 확인합니다.

        $ lsblk
중요

OpenShift Container Storage는 OSD를 줄이거나 노드를 줄임으로써 클러스터 축소를 지원하지 않습니다.

2.4. IBM Z 또는 LinuxONE 인프라의 OpenShift Container Storage 노드에 용량을 추가하여 스토리지 확장

구성된 Red Hat OpenShift Container Storage 작업자 노드에 스토리지 용량 및 성능을 추가하려면 이 절차를 사용하십시오.

사전 요구 사항

  • 실행 중인 OpenShift Container Storage Platform.
  • OpenShift 웹 콘솔의 관리 권한.
  • 배포 중에 프로비저닝된 스토리지 클래스 이외의 스토리지 클래스를 사용하여 확장하려면 먼저 추가 스토리지 클래스를 정의합니다. 자세한 내용은 스토리지 클래스 생성 을 참조하십시오.

절차

  1. zFCP 디스크로 추가 하드웨어 리소스 추가

    1. 다음 명령을 사용하여 모든 디스크를 나열합니다.

      $ lszdev

      출력 예:

      TYPE         ID                                              ON   PERS  NAMES
      zfcp-host    0.0.8204                                        yes  yes
      zfcp-lun     0.0.8204:0x102107630b1b5060:0x4001402900000000  yes  no    sda sg0
      zfcp-lun     0.0.8204:0x500407630c0b50a4:0x3002b03000000000  yes  yes   sdb sg1
      qeth         0.0.bdd0:0.0.bdd1:0.0.bdd2                      yes  no    encbdd0
      generic-ccw  0.0.0009                                        yes  no

      SCSI 디스크는 ID 섹션의 < device-id>:<wwpn>:<lun> 구조를 사용하여 zfcp-lun 으로 표시됩니다. 첫 번째 디스크는 운영 체제에 사용됩니다. 새 디스크의 장치 ID가 동일할 수 있습니다.

    2. 다음 명령을 사용하여 새 SCSI 디스크를 추가합니다.

      $ chzdev -e 0.0.8204:0x400506630b1b50a4:0x3001301a00000000
      참고

      새 디스크의 장치 ID는 교체할 디스크와 동일해야 합니다. 새 디스크는 WWPN 및 LUN ID로 식별됩니다.

    3. 모든 FCP 장치를 나열하여 새 디스크가 구성되었는지 확인합니다.

      $ lszdev zfcp-lun
      TYPE         ID                                              ON   PERS  NAMES
      zfcp-lun     0.0.8204:0x102107630b1b5060:0x4001402900000000 yes  no    sda sg0
      zfcp-lun     0.0.8204:0x500507630b1b50a4:0x4001302a00000000  yes  yes   sdb sg1
      zfcp-lun     0.0.8204:0x400506630b1b50a4:0x3001301a00000000  yes  yes   sdc sg2
  2. OpenShift 웹 콘솔로 이동합니다.
  3. 왼쪽 네비게이션 바에서 Operators 를 클릭합니다.
  4. 설치된 Operator 를 선택합니다.
  5. 창에서 OpenShift Container Storage Operator를 클릭합니다.
  6. 상단 탐색 모음에서 오른쪽 스크롤을 클릭하고 Storage Cluster 탭을 클릭합니다.
  7. 표시 목록 옆에 있는 (octets)를 클릭하여 옵션 메뉴를 확장합니다.
  8. 옵션 메뉴에서 용량 추가 를 선택합니다.

    Raw Capacity 필드는 스토리지 클래스 생성 중에 크기 집합을 표시합니다. OpenShift Container Storage는 복제본 수를 3개로 사용하기 때문에 소비되는 총 스토리지의 양은 3배입니다.

  9. 추가 를 클릭하고 클러스터 상태가 Ready 로 변경될 때까지 기다립니다.

검증 단계

  1. 개요영구 스토리지 탭으로 이동한 다음 용량 분류 카드를 확인합니다.

    선택 항목에 따라 용량이 증가합니다.

    참고

    원시 용량은 복제를 고려하지 않고 전체 용량을 표시합니다.

중요

노드 또는 OSD를 제거하여 감소를 수행할지 여부에 관계없이 클러스터 감소는 현재 지원되지 않습니다.

2.5. 로컬 스토리지 장치를 사용하여 IBM Power Systems 인프라의 OpenShift Container Storage 노드에 용량을 추가하여 스토리지 확장

IBM Power Systems 인프라에서 구성된 로컬 스토리지 기반 OpenShift Container Storage 작업자 노드에 스토리지 용량(추가 스토리지 장치)을 추가하려면 다음 절차를 사용하십시오.

사전 요구 사항

  • RHCS(OpenShift Container Platform) 클러스터에 로그인해야 합니다.
  • 로컬 스토리지 Operator가 설치되어 있어야 합니다. 다음 절차를 사용하십시오. 참조

  • 원래 OpenShift Container Storage 클러스터가 생성되었으므로 각 노드에 동일한 스토리지 유형 및 크기가 연결된 OpenShift Container Platform 작업자 노드가 3개 있어야 합니다(예: 0.5TB SSD).

절차

  1. OpenShift Container Storage가 설치된 OpenShift Container Platform 노드에 스토리지 용량을 추가하려면 다음을 수행해야 합니다.

    1. Openshift Container Platform(RHOCP) 클러스터에서 작업자 노드당 최소 하나의 장치인 새 디스크를 추가합니다.
    2. 노드 내에서 lsblk를 실행하여 새 디스크가 노드에 추가되었는지 확인합니다.

      $ oc debug node/worker-0
      $lsblk

      출력 예:

      Creating debug namespace/openshift-debug-node-ggrqr ...
      Starting pod/worker-2-debug ...
      To use host binaries, run `chroot /host`
      Pod IP: 192.168.88.23
      If you don't see a command prompt, try pressing enter.
      sh-4.4# chroot /host
      sh-4.4# lsblk
      NAME                         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
      loop0                          7:0    0  256G  0 loop
      vda                          252:0    0   40G  0 disk
      |-vda1                       252:1    0    4M  0 part
      |-vda2                       252:2    0  384M  0 part /boot
      `-vda4                       252:4    0 39.6G  0 part
        `-coreos-luks-root-nocrypt 253:0    0 39.6G  0 dm   /sysroot
      vdb                          252:16   0  512B  1 disk
      vdc                          252:32   0  256G  0 disk
      vdd                          252:48   0  256G  0 disk
      sh-4.4#
      sh-4.4#
      Removing debug pod ...
      Removing debug namespace/openshift-debug-node-ggrqr ...
    3. 새로 추가된 디스크는 LocalVolumeSet에서 자동으로 검색됩니다.
  2. localVolumeSet CR에서 사용되는 스토리지 클래스 이름으로 새로 생성된 PV를 표시합니다.

    $ oc get pv | grep localblock | grep Available

    출력 예:

    local-pv-290020c2   256Gi   RWO     Delete  Available   localblock      2m35s
    local-pv-7702952c   256Gi   RWO     Delete  Available   localblock      2m27s
    local-pv-a7a567d    256Gi   RWO     Delete  Available   localblock      2m22s
    ...

    새 OSD에 사용할 수 있는 것과 동일한 크기의 PV가 3개 더 있습니다.

  3. OpenShift 웹 콘솔로 이동합니다.
  4. 왼쪽 네비게이션 바에서 Operators 를 클릭합니다.
  5. 설치된 Operator 를 선택합니다.
  6. 창에서 OpenShift Container Storage Operator를 클릭합니다.
  7. 상단 탐색 모음에서 오른쪽 스크롤을 클릭하고 Storage Cluster 탭을 클릭합니다.
  8. 표시되는 목록에는 하나의 항목만 있어야 합니다. 맨 오른쪽에 있는 옵션을 클릭하여 옵션 메뉴를 확장합니다.
  9. 옵션 메뉴에서 용량 추가 를 선택합니다.

    이 대화 상자에서 스토리지 클래스 이름을 localVolumeset CR에 사용된 이름으로 설정합니다. 사용 가능한 용량은 스토리지 클래스에서 사용 가능한 로컬 디스크를 기반으로 합니다.

  10. 설정을 완료하면 추가 를 클릭합니다. 스토리지 클러스터가 Ready 상태가 될 때까지 몇 분 정도 기다려야 할 수 있습니다.
  11. 새 OSD와 해당 새 PVC가 생성되었는지 확인합니다.

    $ oc get -n openshift-storage pods -l app=rook-ceph-osd

    출력 예:

    NAME                               READY   STATUS    RESTARTS   AGE
    rook-ceph-osd-0-6f8655ff7b-gj226   1/1     Running   0          1h
    rook-ceph-osd-1-6c66d77f65-cfgfq   1/1     Running   0          1h
    rook-ceph-osd-2-69f6b4c597-mtsdv   1/1     Running   0          1h
    rook-ceph-osd-3-c784bdbd4-w4cmj    1/1     Running   0          5m
    rook-ceph-osd-4-6d99845f5b-k7f8n   1/1     Running   0          5m
    rook-ceph-osd-5-fdd9897c9-r9mgb    1/1     Running   0          5m

    위 예에서 osd-3, osd-4, osd-5는 OpenShift Container Storage 클러스터에 새로 추가된 Pod입니다.

    $ oc get pvc -n openshift-storage |grep localblock

    출력 예:

    ocs-deviceset-localblock-0-data-0-sfsgf   Bound    local-pv-8137c873      256Gi     RWO    localblock  1h
    ocs-deviceset-localblock-0-data-1-qhs9m   Bound    local-pv-290020c2      256Gi     RWO    localblock  10m
    ocs-deviceset-localblock-1-data-0-499r2   Bound    local-pv-ec7f2b80      256Gi     RWO    localblock  1h
    ocs-deviceset-localblock-1-data-1-p9rth   Bound    local-pv-a7a567d       256Gi     RWO    localblock  10m
    ocs-deviceset-localblock-2-data-0-8pzjr   Bound    local-pv-1e31f771      256Gi     RWO    localblock  1h
    ocs-deviceset-localblock-2-data-1-7zwwn   Bound    local-pv-7702952c      256Gi     RWO    localblock  10m

    위 예제에서는 세 개의 새 PVC가 생성되는 것을 확인할 수 있습니다.

검증 단계

  1. 개요영구 스토리지 탭으로 이동한 다음 용량 분류 카드를 확인합니다.

    선택 항목에 따라 용량이 증가합니다.

    참고

    원시 용량은 복제를 고려하지 않고 전체 용량을 표시합니다.

중요

OpenShift Container Storage는 OSD를 줄이거나 노드를 줄임으로써 클러스터 축소를 지원하지 않습니다.

3장. 스토리지 용량 확장

스토리지 용량을 확장하려면 다음 단계를 수행해야 합니다.

  • 새 노드 추가
  • 새 노드가 성공적으로 추가되었는지 확인합니다.
  • 스토리지 용량 확장
참고

OpenShift Container Storage는 이기종 OSD 크기를 지원하지 않습니다.

3.1. 노드 추가

기존 작업자 노드가 최대 지원되는 OSD에서 이미 실행 중인 경우 노드를 추가하여 스토리지 용량을 늘릴 수 있습니다. 이는 초기 구성 중에 선택한 용량의 3개의 OSD가 증가합니다.

배포 유형에 따라 다음 절차 중 하나를 선택하여 스토리지 노드를 추가할 수 있습니다.

3.1.1. 설치 관리자가 프로비저닝한 인프라에 노드 추가

이 확률을 사용하여 다음 설치 관리자 프로비저닝 인프라에 노드를 추가합니다.

  • AWS
  • Azure
  • Red Hat Virtualization

사전 요구 사항

  • RHCS(OpenShift Container Platform) 클러스터에 로그인해야 합니다.

절차

  1. 컴퓨팅 → 머신 설정 으로 이동합니다.
  2. 노드를 추가하려는 머신 세트에서 머신 수 편집 을 선택합니다.
  3. 노드 양을 추가하고 저장을 클릭합니다.
  4. 컴퓨팅노드 를 클릭하고 새 노드가 Ready 상태인지 확인합니다.
  5. OpenShift Container Storage 레이블을 새 노드에 적용합니다.

    1. 새 노드의 경우 Action 메뉴(및 작업 메뉴)라벨 편집.
    2. cluster.ocs.openshift.io/openshift-storage 를 추가하고 저장을 클릭합니다.
참고

각각 다른 영역에 하나씩 3 개의 노드를 추가하는 것이 좋습니다. 노드를 3개 추가하고 모든 노드에 대해 이 절차를 수행해야 합니다.

검증 단계

3.1.2. 사용자 프로비저닝 인프라에 노드 추가

다음 절차에 따라 AWS 또는 VMware 사용자 프로비저닝 인프라에 노드를 추가할 수 있습니다.

사전 요구 사항

  • RHCS(OpenShift Container Platform) 클러스터에 로그인해야 합니다.

절차

  1. AWS 사용자 프로비저닝 인프라 또는 VMware 사용자 프로비저닝 인프라에 노드를 추가하는지 여부에 따라 다음 단계를 수행합니다.

    • AWS의 경우

      1. 필수 인프라를 사용하여 새 AWS 머신 인스턴스를 생성합니다. 플랫폼 요구 사항을 참조하십시오.
      2. 새 AWS 머신 인스턴스를 사용하여 새 OpenShift Container Platform 노드를 생성합니다.
    • VMware의 경우:

      1. 필수 인프라를 사용하여 vSphere에 새 VM을 생성합니다. 플랫폼 요구 사항을 참조하십시오.
      2. 새 VM을 사용하여 새 OpenShift Container Platform 작업자 노드를 생성합니다.
  2. Pending 상태인 OpenShift Container Storage와 관련된 CSR(인증서 서명 요청)을 확인합니다.

    $ oc get csr
  3. 새 노드에 필요한 모든 OpenShift Container Storage CSR을 승인합니다.

    $ oc adm certificate approve <Certificate_Name>
  4. 컴퓨팅노드 를 클릭하고 새 노드가 Ready 상태인지 확인합니다.
  5. 다음 중 하나를 사용하여 OpenShift Container Storage 레이블을 새 노드에 적용합니다.

    사용자 인터페이스에서
    1. 새 노드의 경우 Action Menu (octets)Edit Labels를 클릭합니다.
    2. cluster.ocs.openshift.io/openshift-storage 를 추가하고 저장을 클릭합니다.
    명령줄 인터페이스에서
    • 다음 명령을 실행하여 OpenShift Container Storage 레이블을 새 노드에 적용합니다.

      $ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
      참고

      각각 다른 영역에 하나씩 3 개의 노드를 추가하는 것이 좋습니다. 노드를 3개 추가하고 모든 노드에 대해 이 절차를 수행해야 합니다.

검증 단계

3.1.3. 로컬 스토리지 장치를 사용하여 노드 추가

다음 절차에 따라 노드를 추가합니다.

  • 베어 메탈
  • IBM Power Systems
  • IBM Z 또는 LinuxONE
  • Amazon EC2
  • VMware
  • Red Hat Virtualization
중요

Amazon EC2 인프라의 스토리지 노드 확장은 기술 프리뷰 기능입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

사전 요구 사항

절차

  1. 베어 메탈, IBM Power Systems, IBM Z 또는 LinuxONE, Amazon EC2, VMware 인프라 또는 Red Hat Virtualization 플랫폼에 노드를 추가하는지 여부에 따라 다음 단계를 수행합니다.

    • Amazon EC2의 경우

      1. 필수 인프라를 사용하여 새 Amazon EC2 I3 머신 인스턴스를 생성합니다. AWS 및 플랫폼 요구 사항 에서 MachineSet 생성 을 참조하십시오.
      2. 새 Amazon EC2 I3 머신 인스턴스를 사용하여 새 OpenShift Container Platform 노드를 생성합니다.
    • VMware의 경우:

      1. 필수 인프라를 사용하여 vSphere에 새 VM을 생성합니다. 플랫폼 요구 사항을 참조하십시오.
      2. 새 VM을 사용하여 새 OpenShift Container Platform 작업자 노드를 생성합니다.
    • Red Hat Virtualization의 경우:

      1. Red Hat Virtualization에서 필요한 인프라를 사용하여 새 VM을 생성합니다. 플랫폼 요구 사항을 참조하십시오.
      2. 새 VM을 사용하여 새 OpenShift Container Platform 작업자 노드를 생성합니다.
    • 베어 메탈의 경우:

      1. 필수 인프라를 사용하여 새 베어 메탈 머신을 가져옵니다. 플랫폼 요구 사항을 참조하십시오.
      2. 새 베어 메탈 머신을 사용하여 새 OpenShift Container Platform 노드를 생성합니다.
    • IBM Power Systems의 경우:

      1. 필요한 인프라를 갖춘 새로운 IBM Power 머신을 확보하십시오. 플랫폼 요구 사항을 참조하십시오.
      2. 새 IBM Power 머신을 사용하여 새 OpenShift Container Platform 노드를 생성합니다.
    • IBM Z 또는 LinuxONE의 경우:

      1. 필수 인프라가 있는 새로운 IBM Z 또는 LinuxONE 머신을 가져옵니다. 플랫폼 요구 사항을 참조하십시오.
      2. 새로운 IBM Z 또는 LinuxONE 시스템을 사용하여 새 OpenShift Container Platform 노드를 생성합니다.
  2. Pending 상태인 OpenShift Container Storage와 관련된 CSR(인증서 서명 요청)을 확인합니다.

    $ oc get csr
  3. 새 노드에 필요한 모든 OpenShift Container Storage CSR을 승인합니다.

    $ oc adm certificate approve <Certificate_Name>
  4. 컴퓨팅노드 를 클릭하고 새 노드가 Ready 상태인지 확인합니다.
  5. 다음 중 하나를 사용하여 OpenShift Container Storage 레이블을 새 노드에 적용합니다.

    사용자 인터페이스에서
    1. 새 노드의 경우 Action Menu (octets)Edit Labels를 클릭합니다.
    2. cluster.ocs.openshift.io/openshift-storage 를 추가하고 저장을 클릭합니다.
    명령줄 인터페이스에서
    • 다음 명령을 실행하여 OpenShift Container Storage 레이블을 새 노드에 적용합니다.

      $ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
  6. OpenShift 웹 콘솔에서 Operators → 설치된 Operators 를 클릭합니다.

    프로젝트 드롭다운 목록에서 Local Storage Operator가 설치된 프로젝트를 선택해야 합니다.

  7. Local Storage 를 클릭합니다.
  8. 로컬 볼륨 검색 탭을 클릭합니다.
  9. LocalVolumeDiscovery; 작업 메뉴 (tekton) → 로컬 볼륨 검색 편집 을 클릭합니다.
  10. YAML에서 노드 선택기 아래의 values 필드에 새 노드의 호스트 이름을 추가합니다.
  11. 저장을 클릭합니다.
  12. 로컬 볼륨 세트 탭을 클릭합니다.
  13. 로컬 볼륨 세트 옆에 있는 작업 메뉴 (octets) → 로컬 볼륨 세트 편집 을 클릭합니다.
  14. YAML에서 노드 선택기 아래의 values 필드에 새 노드의 호스트 이름을 추가합니다.

    그림 3.1. 새 호스트 이름 추가 표시 YAML

    새 호스트 이름을 추가하는 YAML의 스크린샷입니다.
  15. 저장을 클릭합니다.
참고

각각 다른 영역에 하나씩 3 개의 노드를 추가하는 것이 좋습니다. 노드를 3개 추가하고 모든 노드에 대해 이 절차를 수행해야 합니다.

검증 단계

3.1.4. 새 노드 추가 확인

  1. 다음 명령을 실행하고 출력에 새 노드가 있는지 확인합니다.

    $ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
  2. 워크로드Pod 를 클릭하고 새 노드의 다음 Pod가 Running 상태인지 확인합니다.

    • csi-cephfsplugin-*
    • csi-rbdplugin-*

3.2. 새로 추가된 노드에 용량 추가

새로 추가된 노드에 용량을 추가하려면 용량 추가 옵션을 사용하여 3개의 OSD로 스토리지 클러스터를 확장하거나 활성화된 경우 스토리지 클러스터를 원하는 개수의 OSD로 확장할 수 있는 새로운 유연한 확장 기능을 사용합니다.

3.2.1. 용량 추가 옵션을 사용하여 3개의 OSD로 용량 추가

사용자 인터페이스에서 용량 추가 옵션을 사용하여 동적 및 로컬 스토리지에 대해 3 개의 OSD를 추가하려면 용량을 추가하여 스토리지 확장을 참조하십시오. 유연한 확장 기능을 사용하거나 사용하지 않고 스토리지 클러스터에 Add Capacity 옵션을 사용할 수 있습니다.

3.2.2. YAML을 사용하여 용량 추가

유연한 확장을 활성화하면 기본 OSD 3개가 아닌 YAML을 사용하여 한 번에 하나 이상의 OSD를 1개 이상 추가할 수 있습니다. 그러나 클러스터가 균형을 유지하는 방식으로 디스크를 추가해야 합니다.

유연한 확장은 스토리지 클러스터 생성의 내부 연결 모드에서만 지원됩니다. 스토리지 클러스터의 유연한 스케일링은 Red Hat OpenShift Container Storage 4.7의 새 배포에만 사용할 수 있으며 업그레이드된 클러스터에는 사용할 수 없습니다.

유연한 확장을 사용하려면 노드 3개 이하의 가용 영역을 사용하여 클러스터를 생성합니다. OpenShift 웹 콘솔은 3개 미만의 가용성 영역에 분산된 3개의 노드를 감지하고 유연한 확장을 가능하게 합니다.

중요

스토리지 클러스터를 생성한 후에는 유연한 확장 기능을 활성화하거나 비활성화할 수 없습니다.

3.2.2.1. 유연한 확장을 사용할 수 있는지 확인

스토리지 클러스터에서 유연한 확장이 활성화되어 있는지 확인하려면 다음 단계를 수행하십시오.

  1. OpenShift Container Storage Operator를 클릭합니다.
  2. Storage Cluster 탭을 클릭합니다.
  3. 스토리지 클러스터 옆에 있는 작업 메뉴(octets) 를 클릭합니다.
  4. Edit Storage Cluster 를 클릭합니다. YAML로 리디렉션됩니다.
  5. YAML에서 상태 섹션에서 spec 섹션 및 failureDomain 에서 flexibleScaling 키를 검색합니다. flexible scaling이 true이고 failureDomain 이 host로 설정되면 유연한 확장 기능이 활성화됩니다.

    spec:
    flexibleScaling: true
    […]
    status:
    failureDomain: host

3.2.2.2. 1개의 OSD의 배수로 YAML을 사용하여 용량 추가

YAML을 통해 스토리지 클러스터에 OSD를 추가하려면 다음 단계를 수행합니다.

사전 요구 사항

  • OpenShift Container Platform 웹 콘솔에 대한 관리자 액세스 권한
  • 유연한 확장이 가능한 스토리지 클러스터.
  • 용량을 추가하는 데 사용할 수 있는 추가 디스크입니다.

절차

  1. Operator설치된 Operator를 클릭하여 설치된 모든 Operator를 확인합니다. 선택한 프로젝트가 openshift-storage인지 확인합니다.
  2. OpenShift Container Storage Operator를 클릭합니다.
  3. Storage Cluster 탭을 클릭합니다.
  4. 확장할 스토리지 클러스터 옆에 있는 작업 메뉴 (octets) 를 클릭합니다.
  5. Edit Storage Cluster 를 클릭합니다. YAML로 리디렉션됩니다.
  6. YAML에서 키 개수 를 검색합니다. 이 count 매개변수는 용량을 확장합니다.
  7. 클러스터에 추가할 OSD 수로 개수를 늘립니다.

    중요

    사용 가능한 디스크 수에 따라 YAML의 count 매개변수가 증가했는지 확인하고 클러스터가 균형을 유지하는 방식으로 디스크를 추가하도록 합니다.

  8. 저장을 클릭합니다.

스토리지 클러스터가 Ready 상태가 될 때까지 몇 분 정도 기다려야 할 수 있습니다.

검증 단계

  • 개요영구 스토리지 탭으로 이동한 다음 Raw Capacity breakdown 카드를 확인합니다.

    선택 항목에 따라 용량이 증가합니다.

    참고

    원시 용량은 복제를 고려하지 않고 전체 용량을 표시합니다.

  • 새 OSD와 해당 새 PVC가 생성되었는지 확인합니다.

    • 새로 생성된 OSD의 상태를 보려면 다음을 수행합니다.

      1. OpenShift 웹 콘솔에서 워크로드Pod를 클릭합니다.
      2. 프로젝트 드롭다운 목록에서 openshift-storage 를 선택합니다.
    • PVC 상태를 보려면 다음을 수행합니다.

      1. OpenShift 웹 콘솔에서 스토리지영구 볼륨 클레임 을 클릭합니다.
      2. 프로젝트 드롭다운 목록에서 openshift-storage 를 선택합니다.
  • (선택 사항) 클러스터에서 클러스터 전체 암호화가 활성화된 경우 새 OSD 장치가 암호화되었는지 확인합니다.

    1. 새 OSD 포드가 실행 중인 노드를 식별합니다.

      $ oc get -o=custom-columns=NODE:.spec.nodeName pod/<OSD pod name>

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

      oc get -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
    2. 이전 단계에서 확인한 각 노드에서 다음을 수행합니다.

      1. 디버그 Pod를 생성하고 선택한 호스트에 대한 chroot 환경을 엽니다.

        $ oc debug node/<node name>
        $ chroot /host
      2. "lsblk"를 실행하고 ocs-deviceset 이름 옆에 "crypt" 키워드를 확인합니다.

        $ lsblk
중요

OpenShift Container Storage는 OSD를 줄이거나 노드를 줄임으로써 클러스터 축소를 지원하지 않습니다.