업그레이드 가이드

Red Hat Ceph Storage 6

Red Hat Ceph Storage 클러스터 업그레이드

Red Hat Ceph Storage Documentation Team

초록

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

1장. cephadm을 사용하여 Red Hat Ceph Storage 클러스터 업그레이드

스토리지 관리자는 cephadm Orchestrator를 사용하여 Red Hat Ceph Storage 5 이상을 업그레이드할 수 있습니다.

참고

Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 6으로 직접 업그레이드할 수 없습니다.

자동화된 업그레이드 프로세스는 Ceph 모범 사례를 따릅니다. 예를 들면 다음과 같습니다.

  • 업그레이드 순서는 Ceph Manager, Ceph Monitors, 기타 데몬으로 시작됩니다.
  • 각 데몬은 Ceph에서 클러스터를 계속 사용할 수 있음을 나타내는 경우에만 재시작됩니다.

스토리지 클러스터 상태는 업그레이드 중에 HEALTH_WARNING 으로 전환될 수 있습니다. 업그레이드가 완료되면 상태가 HEALTH_OK로 다시 전환되어야 합니다.

주의

멀티사이트가 구성된 Red Hat Ceph Storage 6 클러스터가 있는 경우 개체가 재해 복구(DR) 사이트로 복제될 때 암호화된 오브젝트에 대한 데이터 손상 문제가 있으므로 최신 버전의 6.1.z1으로 업그레이드하지 마십시오.

참고

업그레이드가 성공하면 메시지가 표시되지 않습니다. ceph 버전ceph orch ps 명령을 실행하여 새 이미지 ID와 스토리지 클러스터 버전을 확인합니다.

주의

Ceph iSCSI 게이트웨이는 Red Hat Ceph Storage 6에서 제거됩니다. 따라서 Red Hat Ceph Storage 5에서 Red Hat Ceph Storage 6으로 업그레이드하기 전에 iSCSI LUN을 관리해야 합니다.

Red Hat Ceph Storage 클러스터를 RHCS 5에서 RHCS 6으로 업그레이드하는 경우 iSCSI를 통해 내보낸 RBD 이미지가 보존되므로 데이터가 손실되지 않습니다. 그러나 업그레이드로 모든 iSCSI 대상이 손실되므로 일시적으로 데이터에 액세스할 수 없습니다. 데이터를 복구하려면 rbd 장치 맵 명령으로 RBD 이미지를 매핑하거나 rbd 내보내기 명령을 사용하여 파일에 내보낼 수 있습니다.

1.1. RHCS 및 podman 버전 간의 호환성 고려 사항

Podman 및 Red Hat Ceph Storage에는 다른 라이프 사이클 종료 전략이 있어 호환되는 버전을 찾기가 어려울 수 있습니다.

Red Hat은 Red Hat Ceph Storage에 해당 Red Hat Enterprise Linux 버전과 함께 제공되는 podman 버전을 사용할 것을 권장합니다. 자세한 내용은 Red Hat Ceph Storage: 지원되는 구성 지식 베이스 문서를 참조하십시오. 자세한 내용은 Red Hat Ceph Storage 문제 해결 가이드의 서비스 Red Hat 지원 문의 섹션을 참조하십시오.

다음 표에서는 Red Hat Ceph Storage 6 버전과 podman 사이의 버전 호환성을 보여줍니다.

CephPodman     
 

1.9

2.0

2.1

2.2

3.0

>3.0

Red Hat Ceph Storage 6

false

true

true

false

true

true

주의

Red Hat Ceph Storage 5 이상에서 Podman을 사용하려면 2.0.0 이상의 Podman 버전을 사용해야 합니다.

1.2. Red Hat Ceph Storage 클러스터 업그레이드

ceph orch upgrade 명령을 사용하여 Red Hat Ceph Storage 5.0 클러스터를 업그레이드할 수 있습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터 5.
  • AppStream에 번들로 제공되는 ansible-core 가 포함된 Red Hat Enterprise Linux 9.0 이상.
  • 모든 노드에 대한 루트 수준 액세스.
  • sudo 및 암호 없이 ssh 를 사용하는 Ansible 사용자는 스토리지 클러스터의 모든 노드에 액세스할 수 있습니다.
  • 스토리지 클러스터에 있는 두 개 이상의 Ceph Manager 노드(활성 및 하나의 active 노드)입니다.
중요

Red Hat Ceph Storage 6.1 최신 버전으로 업그레이드하기 전에 최신 버전의 Red Hat Ceph Storage 5.3.z5로 업그레이드하십시오.

참고

Red Hat Ceph Storage 5에는 스토리지 클러스터의 데몬이 여러 버전의 RHCS를 실행하고 있음을 탐지하는 경우 DAEMON_OLD_VERSION 경고를 반환하는 상태 점검 기능도 포함되어 있습니다. 데몬이 mon_warn_older_version_delay 옵션에 설정된 시간 값 이상으로 여러 버전의 Red Hat Ceph Storage를 계속 실행할 때 경고가 트리거됩니다. 기본적으로 mon_warn_older_version_delay 옵션은 1주로 설정됩니다. 이 설정을 사용하면 대부분의 업그레이드가 경고를 잘못 표시되지 않고 계속 진행할 수 있습니다. 업그레이드 프로세스가 연장된 기간 동안 일시 중지된 경우 상태 경고를 음소거할 수 있습니다.

ceph health mute DAEMON_OLD_VERSION --sticky

업그레이드가 완료되면 상태 경고를 음소거합니다.

ceph health unmute DAEMON_OLD_VERSION

절차

  1. Ansible 관리 노드에서 Ceph Ansible 리포지토리를 활성화합니다.

    Red Hat Enterprise Linux 9

    subscription-manager repos --enable=rhceph-6-tools-for-rhel-9-x86_64-rpms

  2. cephadmcephadm-ansible 패키지를 업데이트합니다.

    예제

    [root@admin ~]# dnf update cephadm
    [root@admin ~]# dnf update cephadm-ansible

  3. /usr/share/cephadm-ansible/ 디렉토리로 이동합니다.

    예제

    [root@admin ~]# cd /usr/share/cephadm-ansible

  4. 스토리지 클러스터의 부트스트랩 호스트에서 upgrade_ceph_packages 매개변수가 true 로 설정된 상태에서 preflight 플레이북을 실행합니다.

    구문

    ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"

    예제

    [ceph-admin@admin cephadm-ansible]$ ansible-playbook -i /etc/ansible/hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"

    이 패키지는 모든 노드에서 cephadm 을 업그레이드합니다.

  5. cephadm 쉘에 로그인합니다.

    예제

    [root@host01 ~]# cephadm shell

  6. 모든 호스트가 온라인 상태이고 스토리지 클러스터가 정상인지 확인합니다.

    예제

    [ceph: root@host01 /]# ceph -s

  7. OSD noout,noscrub, nodeep-scrub 플래그를 설정하여 OSD가 업그레이드 중에 표시되지 않도록 하고 클러스터에서 불필요한 로드를 방지합니다.

    예제

    [ceph: root@host01 /]# ceph osd set noout
    [ceph: root@host01 /]# ceph osd set noscrub
    [ceph: root@host01 /]# ceph osd set nodeep-scrub

  8. 서비스 버전 및 사용 가능한 대상 컨테이너를 확인합니다.

    구문

    ceph orch upgrade check IMAGE_NAME

    예제

    [ceph: root@host01 /]# ceph orch upgrade check registry.redhat.io/rhceph/rhceph-6-rhel9:latest

    참고

    이미지 이름은 Red Hat Enterprise Linux 8 및 Red Hat Enterprise Linux 9 모두에 적용됩니다.

  9. 스토리지 클러스터를 업그레이드합니다.

    구문

    ceph orch upgrade start IMAGE_NAME

    예제

    [ceph: root@host01 /]# ceph orch upgrade start registry.redhat.io/rhceph/rhceph-6-rhel9:latest

    참고

    태그된 업그레이드를 수행하려면 태그 된 업그레이드 수행을 참조하십시오.

    업그레이드가 진행 중인 동안 ceph 상태 출력에 진행률 표시줄이 표시됩니다.

    예제

    [ceph: root@host01 /]# ceph status
    [...]
    progress:
        Upgrade to 17.2.6-70.el9cp (1s)
          [............................]

  10. Ceph 클러스터의 새 IMAGE_IDVERSION 을 확인합니다.

    예제

    [ceph: root@host01 /]# ceph versions
    [ceph: root@host01 /]# ceph orch ps

    참고

    Ceph 클러스터를 업그레이드한 후 cephadm-ansible 플레이북을 사용하지 않는 경우 클라이언트 노드에서 ceph-common 패키지 및 클라이언트 라이브러리를 업그레이드해야 합니다.

    예제

    [root@client01 ~] dnf update ceph-common

    최신 버전이 있는지 확인합니다.

    예제

    [root@client01 ~] ceph --version

  11. 업그레이드가 완료되면 noout,noscrub, nodeep-scrub 플래그를 설정 해제합니다.

    예제

    [ceph: root@host01 /]# ceph osd unset noout
    [ceph: root@host01 /]# ceph osd unset noscrub
    [ceph: root@host01 /]# ceph osd unset nodeep-scrub

1.3. 연결이 끊긴 환경에서 Red Hat Ceph Storage 클러스터 업그레이드

--image 태그를 사용하여 연결이 끊긴 환경에서 스토리지 클러스터를 업그레이드할 수 있습니다.

ceph orch upgrade 명령을 사용하여 Red Hat Ceph Storage 5 클러스터를 업그레이드할 수 있습니다.

중요

Red Hat Enterprise Linux 9 이상에서는 cephadm-ansible 플레이북을 지원하지 않습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터 5.
  • AppStream에 번들로 제공되는 ansible-core 가 포함된 Red Hat Enterprise Linux 9.0 이상.
  • 모든 노드에 대한 루트 수준 액세스.
  • sudo 및 암호 없이 ssh 를 사용하는 Ansible 사용자는 스토리지 클러스터의 모든 노드에 액세스할 수 있습니다.
  • 스토리지 클러스터에 있는 두 개 이상의 Ceph Manager 노드(활성 및 하나의 active 노드)입니다.
  • 노드를 CDN에 등록하고 서브스크립션을 첨부합니다.
  • 연결이 끊긴 환경에서 고객 컨테이너 이미지를 확인하고 필요한 경우 구성을 변경합니다. 자세한 내용은 Red Hat Ceph Storage 설치 가이드 의 연결이 끊긴 설치의 경우 사용자 정의 컨테이너 이미지 구성 변경 섹션을 참조하십시오.

기본적으로 모니터링 스택 구성 요소는 기본 Ceph 이미지를 기반으로 배포됩니다. 스토리지 클러스터의 연결이 끊긴 환경의 경우 사용 가능한 최신 모니터링 스택 구성 요소 이미지를 사용해야 합니다.

표 1.1. 모니터링 스택의 사용자 정의 이미지 세부 정보

스택 구성 요소 모니터링이미지 세부 정보

Prometheus

registry.redhat.io/openshift4/ose-prometheus:v4.12

Grafana

registry.redhat.io/rhceph-6-dashboard-rhel9:latest

node-exporter

registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.12

AlertManager

registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.12

HAProxy

registry.redhat.io/rhceph/rhceph-haproxy-rhel9:latest

Keepalived

registry.redhat.io/rhceph/keepalived-rhel9:latest

SNMP Gateway

registry.redhat.io/rhceph/snmp-notifier-rhel9:latest

절차

  1. Ansible 관리 노드에서 Ceph Ansible 리포지토리를 활성화합니다.

    Red Hat Enterprise Linux 9

    subscription-manager repos --enable=rhceph-6-tools-for-rhel-9-x86_64-rpms

  2. cephadmcephadm-ansible 패키지를 업데이트합니다.

    예제

    [root@admin ~]# dnf update cephadm
    [root@admin ~]# dnf update cephadm-ansible

  3. upgrade_ceph_packages 매개변수를 true 로 설정하고 스토리지 클러스터의 부트스트랩 호스트에서 custom 로 설정된 ceph_origin 매개변수를 사용하여 preflight 플레이북을 실행합니다.

    구문

    ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=custom upgrade_ceph_packages=true"

    예제

    [ceph-admin@admin ~]$ ansible-playbook -i /etc/ansible/hosts cephadm-preflight.yml --extra-vars "ceph_origin=custom upgrade_ceph_packages=true"

    이 패키지는 모든 노드에서 cephadm 을 업그레이드합니다.

  4. cephadm 쉘에 로그인합니다.

    예제

    [root@node0 ~]# cephadm shell

  5. 모든 호스트가 온라인 상태이고 스토리지 클러스터가 정상인지 확인합니다.

    예제

    [ceph: root@node0 /]# ceph -s

  6. OSD noout,noscrub, nodeep-scrub 플래그를 설정하여 OSD가 업그레이드 중에 표시되지 않도록 하고 클러스터에서 불필요한 로드를 방지합니다.

    예제

    [ceph: root@host01 /]# ceph osd set noout
    [ceph: root@host01 /]# ceph osd set noscrub
    [ceph: root@host01 /]# ceph osd set nodeep-scrub

  7. 서비스 버전 및 사용 가능한 대상 컨테이너를 확인합니다.

    구문

    ceph orch upgrade check IMAGE_NAME

    예제

    [ceph: root@node0 /]# ceph orch upgrade check LOCAL_NODE_FQDN:5000/rhceph/rhceph-6-rhel9

  8. 스토리지 클러스터를 업그레이드합니다.

    구문

    ceph orch upgrade start IMAGE_NAME

    예제

    [ceph: root@node0 /]# ceph orch upgrade start LOCAL_NODE_FQDN:5000/rhceph/rhceph-6-rhel9

    업그레이드가 진행 중인 동안 ceph 상태 출력에 진행률 표시줄이 표시됩니다.

    예제

    [ceph: root@node0 /]# ceph status
    [...]
    progress:
        Upgrade to 17.2.6-70.el9cp (1s)
          [............................]

  9. Ceph 클러스터의 새 IMAGE_IDVERSION 을 확인합니다.

    예제

    [ceph: root@node0 /]# ceph version
    [ceph: root@node0 /]# ceph versions
    [ceph: root@node0 /]# ceph orch ps

  10. 업그레이드가 완료되면 noout,noscrub, nodeep-scrub 플래그를 설정 해제합니다.

    예제

    [ceph: root@host01 /]# ceph osd unset noout
    [ceph: root@host01 /]# ceph osd unset noscrub
    [ceph: root@host01 /]# ceph osd unset nodeep-scrub

2장. 호스트 운영 체제를 RHEL 8에서 RHEL 9로 업그레이드

Leapp 유틸리티를 사용하여 Red Hat Enterprise Linux 8에서 Red Hat Enterprise Linux 9로 Red Hat Ceph Storage 호스트 운영 체제 업그레이드를 수행할 수 있습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 5 클러스터.

다음은 컨테이너화된 Ceph 데몬의 지원되는 조합입니다. 자세한 내용은 Red Hat Ceph Storage 설치 가이드 의 코로케이션 작동 방법 및 이점 섹션을 참조하십시오.

  • Ceph Metadata Server(ceph-mds), Ceph OSD(ceph-osd) 및 Ceph Object Gateway(radosgw)
  • Ceph Monitor(ceph-mon) 또는 Ceph Manager(ceph-mgr), Ceph OSD(ceph-osd) 및 Ceph Object Gateway(radosgw)
  • Ceph Monitor(ceph-mon), Ceph Manager(ceph-mgr), Ceph OSD(ceph-osd) 및 Ceph Object Gateway(radosgw)

절차

  1. 서비스를 사용하여 Red Hat Enterprise Linux 8에 Red Hat Ceph Storage 5를 배포합니다.
참고

하나의 관리 노드( _ admin 레이블 사용)에서 호스트 업그레이드를 수행하는 동안 두 번째 관리자를 사용하여 클러스터 관리에 사용할 수 있도록 클러스터에 두 개의 관리 노드가 포함되어 있는지 확인합니다.

자세한 내용은 Red Hat Ceph Storage 설치 가이드의 Red Hat Ceph Storage 설치 가이드운영 가이드 의 서비스 사양을 사용하여 Ceph 데몬 배포를 참조하십시오.

  1. Ceph OSD에 noout 플래그를 설정합니다.

    예제

    [ceph: root@host01 /]# ceph osd set noout

  2. Leapp 유틸리티를 사용하여 한 번에 하나의 노드를 호스트 업그레이드합니다.

    1. Leapp을 사용하여 호스트 업그레이드를 수행하기 전에 각 노드 유지보수 모드를 설정합니다.

      구문

      ceph orch host maintenance enter HOST

      예제

      ceph orch host maintenance enter host01

    2. --enablerepo 매개변수를 사용하여 Leapp 명령을 실행할 때 ceph 툴 리포지토리를 수동으로 활성화합니다.

      예제

      leapp upgrade --enablerepo rhceph-5-tools-for-rhel-9-x86_64-rpms

    3. Red Hat 고객 포털에 대한 Red Hat Enterprise Linux 제품 설명서에서 RHEL 8을 RHEL 9로 업그레이드 합니다.
  3. Ceph 클러스터의 새 IMAGE_IDVERSION 을 확인합니다.

    예제

    [ceph: root@node0 /]# ceph version
    [ceph: root@node0 /]# ceph orch ps

  4. Red Hat Ceph Storage 업그레이드 가이드의 Red Hat Ceph Storage 클러스터 업그레이드 단계에 따라 Red Hat Ceph Storage 5에서 Red Hat Ceph Storage 6 업그레이드 를 계속합니다.

3장. RHCS 5를 RHCS 6으로 RHEL 8을 RHEL 9로 업그레이드

Red Hat Ceph Storage 5에서 Red Hat Ceph Storage 6으로 업그레이드. 업그레이드에는 Red Hat Enterprise Linux 8에서 Red Hat Enterprise Linux 9로의 업그레이드가 포함됩니다.

중요

Red Hat Ceph Storage 6.1 최신 버전으로 업그레이드하기 전에 최신 버전의 Red Hat Ceph Storage 5.3.z5로 업그레이드하십시오.

사전 요구 사항

  • Red Hat Enterprise Linux 8에서 실행 중인 Red Hat Ceph Storage 5 클러스터.
  • 관리 노드의 Ceph 바이너리(/usr/sbin/cephadm), ceph.pub(/etc/ceph) 및 Ceph 클러스터의 공용 SSH 키 백업입니다.

절차

  1. 클러스터의 모든 호스트에서 Red Hat Enterprise Linux 버전을 업그레이드합니다. 자세한 절차는 RHEL 8에서 RHEL 9로 호스트 운영 체제 업그레이드 를 참조하십시오.
  2. Red Hat Enterprise Linux를 업그레이드한 후 Red Hat Ceph Storage 노드를 CDN에 등록하고 필요한 리포지토리를 추가합니다. 자세한 절차는 Red Hat Ceph Storage 노드를 CDN에 등록하고 서브스크립션 연결을 참조하십시오.
  3. Red Hat Ceph Storage를 업데이트합니다. 자세한 절차는 cephadm 을 사용하여 Red Hat Ceph Storage 클러스터 업그레이드 를 참조하십시오.

4장. 스트레치 모드가 활성화된 RHCS 5를 RHCS 6으로 업그레이드 RHEL 8에서 RHEL 9로 업그레이드

스트레치 모드가 활성화된 Red Hat Enterprise Linux 8에서 Red Hat Enterprise Linux 9로 Red Hat Ceph Storage 5를 Red Hat Ceph Storage 6으로 업그레이드할 수 있습니다.

중요

Red Hat Ceph Storage 6.1 최신 버전으로 업그레이드하기 전에 최신 버전의 Red Hat Ceph Storage 5.3.z5로 업그레이드하십시오.

사전 요구 사항

  • Red Hat Enterprise Linux 8의 Red Hat Ceph Storage 5에는 스트레치 모드가 활성화된 필수 호스트 및 데몬이 활성화되어 있습니다.
  • 관리 노드의 Ceph 바이너리(/usr/sbin/cephadm), ceph.pub(/etc/ceph) 및 Ceph 클러스터의 공용 SSH 키 백업입니다.
참고

중재자 모니터는 호스트에서 드레인하거나 제거할 수 없습니다. 따라서 arbiter mon은 다른 tie-breaker 노드에 다시 프로비저닝한 다음 새 모니터로 묶인기를 Replacing the tiebreaker에 설명된 대로 호스트에서 드레이닝 또는 제거해야합니다.

절차

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

    예제

    [ceph: root@host01 /]# cephadm shell

  2. 관리 노드가 다시 프로비저닝될 때 클러스터를 관리하도록 클러스터의 admin으로 두 번째 노드에 레이블을 지정합니다.

    구문

    ceph orch host label add HOSTNAME admin

    예제

    [ceph: root@host01 /]# ceph orch host label add host02 admin

  3. noout 플래그를 설정합니다.

    예제

    [ceph: root@host01 /]# ceph osd set noout

  4. 호스트의 모든 데몬을 드레이닝합니다.

    구문

    ceph orch host drain HOSTNAME --force

    예제

    [ceph: root@host01 /]# ceph orch host drain host02 --force

    _no_schedule 레이블은 배포를 차단하는 호스트에 자동으로 적용됩니다.

  5. 스토리지 클러스터에서 모든 데몬이 제거되었는지 확인합니다.

    구문

    ceph orch ps HOSTNAME

    예제

    [ceph: root@host01 /]# ceph orch ps host02

  6. OSD 제거 상태를 확인합니다.

    예제

    [ceph: root@host01 /]# ceph orch osd rm status

    OSD에 배치 그룹(PG)이 없는 경우 스토리지 클러스터에서 OSD가 해제되어 제거됩니다.

  7. 드레이닝 중인 호스트에 OSD가 있는 경우 호스트가 다시 추가될 때 OSD를 재배포하는 데 사용할 수 있도록 장치를 zap합니다.

    구문

    ceph orch device zap HOSTNAME DISK [--force]

    예제

    [ceph: root@host01 /]# ceph orch device zap ceph-host02 /dev/vdb [--force]
    
    zap successful for /dev/vdb on ceph-host02

  8. 클러스터에서 호스트를 제거합니다.

    구문

    ceph orch host rm HOSTNAME --force

    예제

    [ceph: root@host01 /]# ceph orch host rm host02 --force

  9. RHEL 8에서 RHEL 9로 업그레이드에 설명된 대로 각 호스트를 RHEL 8에서 RHEL 9로 다시 프로비저닝합니다.
  10. --limit 옵션을 사용하여 preflight 플레이북을 실행합니다.

    구문

    ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --limit NEWHOST_NAME

    예제

    [ceph: root@host01 /]# ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin={storage-product}" --limit host02

    preflight Playbook은 새 호스트에 podman,lvm2,chronyd, cephadm 을 설치합니다. 설치가 완료되면 cephadm/usr/sbin/ 디렉터리에 있습니다.

  11. 클러스터의 공개 SSH 키를 폴더에 추출합니다.

    구문

    ceph cephadm get-pub-key ~/PATH

    예제

    [ceph: root@host01 /]# ceph cephadm get-pub-key ~/ceph.pub

  12. Ceph 클러스터의 공개 SSH 키를 다시 프로비저닝된 노드에 복사합니다.

    구문

    ssh-copy-id -f -i ~/PATH root@HOST_NAME_2

    예제

    [ceph: root@host01 /]# ssh-copy-id -f -i ~/ceph.pub root@host02

    1. 선택 사항: 제거된 호스트에 모니터 데몬이 있는 경우 호스트에 호스트를 추가하기 전에 --unmanaged 플래그를 추가하여 배포를 모니터링합니다.

      구문

      ceph orch apply mon PLACEMENT --unmanaged

  13. 호스트를 클러스터에 다시 추가하고 이전에 있는 레이블을 추가합니다.

    구문

    ceph orch host add HOSTNAME IP_ADDRESS --labels=LABELS

    1. 선택 사항: 제거된 호스트에 원래 모니터 데몬이 배포된 경우 연결기를 새 모니터로 교체하는 데 설명된 대로 위치 속성을 사용하여 모니터 데몬을 수동으로 추가해야 합니다.

      구문

      ceph mon add HOSTNAME IP LOCATION

      예제

      [ceph: root@host01 /]# ceph mon add ceph-host02 10.0.211.62 datacenter=DC2

      구문

      ceph orch daemon add mon HOSTNAME

      예제

      [ceph: root@host01 /]# ceph orch daemon add mon ceph-host02

  14. 동일한 ceph 버전으로 다시 프로비저닝된 호스트의 데몬이 성공적으로 실행되는지 확인합니다.

    구문

    ceph orch ps

  15. 모니터 데몬 배치를 managed 로 다시 설정합니다.

    참고

    이 단계는 하나씩 수행해야 합니다.

    구문

    ceph orch apply mon PLACEMENT

  16. 모든 호스트에 대해 위의 단계를 반복합니다.
  17. 동일한 접근 방식에 따라 관리 노드를 다시 프로비저닝하고 두 번째 관리 노드를 사용하여 클러스터를 관리합니다.
  18. 백업 파일을 노드에 다시 추가합니다.
  19. . 두 번째 관리 노드를 사용하여 클러스터에 admin 노드를 다시 추가합니다. mon 배포를 Unmanaged 로 설정합니다.
  20. 이전 arbiter mon 을 다시 추가하고 이전에 만든 임시 mon을 제거하려면 새 모니터로 묶인 짝수 교체 를 따르십시오.
  21. noout 플래그를 설정 해제합니다.

    구문

    ceph osd unset noout

  22. Ceph 버전과 클러스터 상태를 확인하여 모든 demons가 Red Hat Enterprise Linux 업그레이드 후 예상대로 작동하는지 확인합니다.
  23. RHEL OS가 성공적으로 업그레이드되었으므로 cephadm을 사용하여 Red Hat Ceph Storage 클러스터 업그레이드 를 수행하여 Red Hat Ceph Storage 5에서 Red Hat Ceph Storage 6 업그레이드를 수행합니다.

5장. 스taggered 업그레이드

스토리지 관리자는 Red Hat Ceph Storage 구성 요소를 한 번에 모두 업그레이드하지 않고 단계별로 업그레이드할 수 있습니다. Red Hat Ceph Storage 5.2부터 ceph orch upgrade 명령을 사용하면 단일 upgrade 명령으로 업그레이드할 데몬을 제한할 수 있습니다.

참고

정체된 업그레이드를 지원하지 않는 버전에서 업그레이드하려면 먼저 Ceph Manager(ceph-mgr) 데몬을 수동으로 업그레이드해야 합니다. 이전 릴리스에서 태그된 업그레이드를 수행하는 방법에 대한 자세한 내용은 이전 릴리스에서 태그가 지정된 업그레이드 수행을 참조하십시오.

주의

Ceph iSCSI 게이트웨이는 Red Hat Ceph Storage 6에서 제거됩니다. 따라서 Red Hat Ceph Storage 5에서 Red Hat Ceph Storage 6으로 업그레이드하기 전에 iSCSI LUN을 관리해야 합니다.

Red Hat Ceph Storage 클러스터를 RHCS 5에서 RHCS 6으로 업그레이드하는 경우 iSCSI를 통해 내보낸 RBD 이미지가 보존되므로 데이터가 손실되지 않습니다. 그러나 업그레이드로 모든 iSCSI 대상이 손실되므로 일시적으로 데이터에 액세스할 수 없습니다. 데이터를 복구하려면 rbd 장치 맵 명령으로 RBD 이미지를 매핑하거나 rbd 내보내기 명령을 사용하여 파일에 내보낼 수 있습니다.

5.1. 스taggered 업그레이드 옵션

Red Hat Ceph Storage 5.2부터 ceph orch upgrade 명령은 여러 옵션을 지원하여 클러스터 구성 요소를 단계적으로 업그레이드합니다. 태그된 업그레이드 옵션은 다음과 같습니다.

  • --daemon_types: --daemon_types 옵션은 쉼표로 구분된 데몬 유형 목록을 사용하며 해당 유형의 데몬만 업그레이드합니다. 이 옵션에 유효한 데몬 유형에는 mgr,mon,crash,osd,mds,rgw,rbd-mirror,cephfs-mirror, nfs 등이 있습니다.
  • --services: --services 옵션은 --daemon-types 와 상호 배타적이며, 한 번에 하나의 서비스만 지원하며 해당 서비스에 속한 데몬만 업그레이드합니다. 예를 들어 OSD 및 RGW 서비스를 동시에 제공할 수 없습니다.
  • --hosts - hosts 옵션을 -- daemon_types,--services, 또는 단독으로 사용할 수 있습니다. hosts 옵션 매개변수는 오케스트레이터 CLI 배치 사양을 위한 명령줄 옵션과 동일한 형식을 따릅니다.
  • --limit: --limit 옵션은 0보다 큰 정수를 사용하고 cephadm 이 업그레이드할 수에 대한 숫자 제한을 제공합니다. --limit 옵션을 --daemon_types,--services 또는 --hosts 와 결합할 수 있습니다. 예를 들어 3 으로 설정된 제한을 사용하여 host01 에서 osd 유형의 데몬을 업그레이드하도록 지정하는 경우cephadm 은 host01에서 최대 3 개의 OSD 데몬을 업그레이드합니다.

5.1.1. 누락된 업그레이드 수행

스토리지 관리자는 ceph orch 업그레이드 옵션을 사용하여 단일 upgrade 명령으로 업그레이드할 데몬을 제한할 수 있습니다.

Cephadm은 여전히 정체된 업그레이드 시나리오에 있는 데몬 업그레이드 순서를 엄격하게 적용합니다. 현재 업그레이드 순서는 다음과 같습니다.

  1. Ceph Manager 노드
  2. Ceph Monitor 노드
  3. Ceph-crash 데몬
  4. Ceph OSD 노드
  5. Ceph Metadata Server (MDS) 노드
  6. Ceph Object Gateway(RGW) 노드
  7. Ceph RBD-mirror 노드
  8. CephFS-mirror 노드
  9. Ceph NFS 노드
참고

데몬을 순서대로 업그레이드하는 매개변수를 지정하는 경우 업그레이드 명령 블록 및 업그레이드하기 전에 업그레이드해야 하는 데몬을 기록합니다.

예제

[ceph: root@host01 /]# ceph orch upgrade start --image  registry.redhat.io/rhceph/rhceph-6-rhel9:latest --hosts host02

Error EINVAL: Cannot start upgrade. Daemons with types earlier in upgrade order than daemons on given host need upgrading.
Please first upgrade mon.ceph-host01

참고

인스턴스를 다시 시작하는 데 필요한 순서가 없습니다. Red Hat은 기본 이미지를 사용하여 풀을 가리키는 인스턴스를 다시 시작한 다음 미러링된 풀을 가리키는 인스턴스를 다시 시작할 것을 권장합니다.

사전 요구 사항

  • Red Hat Ceph Storage 5.2 이상을 실행하는 클러스터입니다.
  • 모든 노드에 대한 루트 수준 액세스.
  • 스토리지 클러스터에 있는 두 개 이상의 Ceph Manager 노드(활성 및 하나의 active 노드)입니다.

절차

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

    예제

    [root@host01 ~]# cephadm shell

  2. 모든 호스트가 온라인 상태이고 스토리지 클러스터가 정상인지 확인합니다.

    예제

    [ceph: root@host01 /]# ceph -s

  3. OSD noout,noscrub, nodeep-scrub 플래그를 설정하여 OSD가 업그레이드 중에 표시되지 않도록 하고 클러스터에서 불필요한 로드를 방지합니다.

    예제

    [ceph: root@host01 /]# ceph osd set noout
    [ceph: root@host01 /]# ceph osd set noscrub
    [ceph: root@host01 /]# ceph osd set nodeep-scrub

  4. 서비스 버전 및 사용 가능한 대상 컨테이너를 확인합니다.

    구문

    ceph orch upgrade check IMAGE_NAME

    예제

    [ceph: root@host01 /]# ceph orch upgrade check registry.redhat.io/rhceph/rhceph-6-rhel9:latest

    참고

    이미지 이름은 Red Hat Enterprise Linux 8 및 Red Hat Enterprise Linux 9 모두에 적용됩니다.

  5. 스토리지 클러스터를 업그레이드합니다.

    1. 특정 호스트에서 특정 데몬 유형을 업그레이드하려면 다음을 수행합니다.

      구문

      ceph orch upgrade start --image IMAGE_NAME --daemon-types DAEMON_TYPE1,DAEMON_TYPE2 --hosts HOST1,HOST2

      예제

      [ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-6-rhel9:latest --daemon-types mgr,mon --hosts host02,host03

    2. 특정 서비스를 지정하고 업그레이드할 데몬 수를 제한하려면 다음을 수행합니다.

      구문

      ceph orch upgrade start --image IMAGE_NAME --services SERVICE1,SERVICE2 --limit LIMIT_NUMBER

      예제

      [ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-6-rhel9:latest --services rgw.example1,rgw1.example2 --limit 2

      참고

      스taggered 업그레이드 시나리오에서는 제한 매개변수를 사용하는 경우 Ceph Manager 데몬 업그레이드 후 Prometheus 및 node-exporter 를 포함한 모니터링 스택 데몬이 새로 고칩니다. 제한 매개변수로 인해 Ceph Manager 업그레이드를 완료하는 데 시간이 오래 걸립니다. 모니터링 스택 데몬의 버전은 Ceph 릴리스 간에 변경되지 않을 수 있습니다. 이 경우 이는 재배포됩니다.

      참고

      제한 매개변수를 사용하여 명령을 업그레이드하면 업그레이드를 시작하기 전에 옵션의 유효성을 검사합니다. 이 경우 새 컨테이너 이미지를 가져와야 합니다. 결과적으로 제한 매개변수를 제공할 때 upgrade start 명령을 반환하는 데 시간이 걸릴 수 있습니다.

  6. 여전히 업그레이드해야 하는 데몬을 보려면 ceph orch upgrade check 또는 ceph versions 명령을 실행합니다.

    예제

    [ceph: root@host01 /]# ceph orch upgrade check --image registry.redhat.io/rhceph/rhceph-6-rhel9:latest

  7. 태그된 업그레이드를 완료하려면 나머지 모든 서비스의 업그레이드를 확인합니다.

    구문

    ceph orch upgrade start --image IMAGE_NAME

    예제

    [ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-6-rhel9:latest

검증

  • Ceph 클러스터의 새 IMAGE_IDVERSION 을 확인합니다.

    예제

    [ceph: root@host01 /]# ceph versions
    [ceph: root@host01 /]# ceph orch ps

    1. 업그레이드가 완료되면 noout,noscrub, nodeep-scrub 플래그를 설정 해제합니다.

      예제

      [ceph: root@host01 /]# ceph osd unset noout
      [ceph: root@host01 /]# ceph osd unset noscrub
      [ceph: root@host01 /]# ceph osd unset nodeep-scrub

5.1.2. 이전 릴리스에서 누락된 업그레이드 수행

Red Hat Ceph Storage 5.2부터는 필요한 인수를 제공하여 스토리지 클러스터에서 정체된 업그레이드를 수행할 수 있습니다. 정체된 업그레이드를 지원하지 않는 버전에서 업그레이드하려면 먼저 Ceph Manager(ceph-mgr) 데몬을 수동으로 업그레이드해야 합니다. Ceph Manager 데몬을 업그레이드하면 제한 매개변수를 전달하여 태그된 업그레이드를 완료할 수 있습니다.

중요

이 절차를 시도하기 전에 두 개 이상의 Ceph Manager 데몬이 실행되고 있는지 확인합니다.

사전 요구 사항

  • Red Hat Ceph Storage 5.0 이상을 실행하는 클러스터입니다.
  • 스토리지 클러스터에 있는 두 개 이상의 Ceph Manager 노드(활성 및 하나의 active 노드)입니다.

절차

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

    예제

    [root@host01 ~]# cephadm shell

  2. 활성 상태인 Ceph Manager를 확인하고 다음을 수행합니다.

    예제

    [ceph: root@host01 /]# ceph -s
      cluster:
        id:     266ee7a8-2a05-11eb-b846-5254002d4916
        health: HEALTH_OK
    
    
      services:
        mon: 2 daemons, quorum host01,host02 (age 92s)
        mgr: host01.ndtpjh(active, since 16h), standbys: host02.pzgrhz

  3. 각 FlexVolume Ceph Manager 데몬을 수동으로 업그레이드합니다.

    구문

    ceph orch daemon redeploy mgr.ceph-HOST.MANAGER_ID --image IMAGE_ID

    예제

    [ceph: root@host01 /]# ceph orch daemon redeploy mgr.ceph-host02.pzgrhz --image registry.redhat.io/rhceph/rhceph-6-rhel9:latest

  4. 업그레이드된 FlexVolume Ceph Manager로 장애 조치:

    예제

    [ceph: root@host01 /]# ceph mgr fail

  5. ingress Ceph Manager가 현재 활성화되어 있는지 확인합니다.

    예제

    [ceph: root@host01 /]# ceph -s
      cluster:
        id:     266ee7a8-2a05-11eb-b846-5254002d4916
        health: HEALTH_OK
    
    
      services:
        mon: 2 daemons, quorum host01,host02 (age 1h)
        mgr: host02.pzgrhz(active, since 25s), standbys: host01.ndtpjh

  6. 활성 Ceph Manager가 새 버전으로 업그레이드되었는지 확인합니다.

    구문

    ceph tell mgr.ceph-HOST.MANAGER_ID version

    예제

    [ceph: root@host01 /]# ceph tell mgr.host02.pzgrhz version
    {
        "version": "16.2.8-12.el8cp",
        "release": "pacific",
        "release_type": "stable"
    }

  7. 2~6단계를 반복하여 나머지 Ceph Manager를 새 버전으로 업그레이드합니다.
  8. 모든 Ceph Manager가 새 버전으로 업그레이드되었는지 확인합니다.

    예제

    [ceph: root@host01 /]# ceph mgr versions
    {
        "ceph version 16.2.8-12.el8cp (600e227816517e2da53d85f2fab3cd40a7483372) pacific (stable)": 2
    }

  9. 모든 Ceph Manager를 업그레이드하면 제한 매개변수를 지정하고 나머지 업그레이드를 완료할 수 있습니다.

추가 리소스

6장. 스토리지 클러스터의 모니터링 및 관리

ceph orch upgrade start 명령을 실행하여 Red Hat Ceph Storage 클러스터를 업그레이드한 후 업그레이드 프로세스를 상태, 일시 중지, 재개 또는 중지할 수 있습니다. 업그레이드 중에 클러스터 상태가 HEALTH_WARNING 으로 변경됩니다. 호스트가 오프라인 상태인 경우 업그레이드가 일시 중지됩니다.

참고

다른 데몬 유형 이후에 하나의 데몬 유형을 업그레이드해야 합니다. 데몬을 업그레이드할 수 없는 경우 업그레이드가 일시 중지됩니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터 5.
  • 모든 노드에 대한 루트 수준 액세스.
  • 스토리지 클러스터에 있는 두 개 이상의 Ceph Manager 노드(활성 및 하나의 active 노드)입니다.
  • 시작된 스토리지 클러스터의 업그레이드입니다.

절차

  1. 업그레이드가 진행 중인지 여부와 클러스터가 업그레이드할 버전을 결정합니다.

    예제

    [ceph: root@node0 /]# ceph orch upgrade status

    참고

    업그레이드가 성공하면 메시지가 표시되지 않습니다. ceph 버전ceph orch ps 명령을 실행하여 새 이미지 ID와 스토리지 클러스터 버전을 확인합니다.

  2. 선택 사항: 업그레이드 프로세스를 일시 중지합니다.

    예제

    [ceph: root@node0 /]# ceph orch upgrade pause

  3. 선택 사항: 일시 중지된 업그레이드 프로세스를 다시 시작합니다.

    예제

    [ceph: root@node0 /]# ceph orch upgrade resume

  4. 선택 사항: 업그레이드 프로세스를 중지합니다.

    예제

    [ceph: root@node0 /]# ceph orch upgrade stop

7장. 업그레이드 오류 메시지 문제 해결

다음 표는 cephadm 업그레이드 오류 메시지를 보여줍니다. 어떤 이유로든 cephadm 업그레이드가 실패하면 스토리지 클러스터 상태에 오류 메시지가 표시됩니다.

오류 메시지설명

UPGRADE_NO_STANDBY_MGR

Ceph에서 진행하려면 활성 및ECDHE 관리자 데몬이 모두 필요하지만 현재는 없습니다.

UPGRADE_FAILED_PULL

Ceph에서 대상 버전의 컨테이너 이미지를 가져올 수 없었습니다. 이는 존재하지 않는 버전 또는 컨테이너 이미지(예: 1.2.3)를 지정하거나 클러스터의 하나 이상의 호스트에서 컨테이너 레지스트리에 연결할 수 없는 경우 발생할 수 있습니다.

법적 공지

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.