업그레이드 가이드
Red Hat Ceph Storage 클러스터 업그레이드
초록
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
사이의 버전 호환성을 보여줍니다.
Ceph | Podman | |||||
---|---|---|---|---|---|---|
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
절차
Ansible 관리 노드에서 Ceph Ansible 리포지토리를 활성화합니다.
Red Hat Enterprise Linux 9
subscription-manager repos --enable=rhceph-6-tools-for-rhel-9-x86_64-rpms
cephadm
및cephadm-ansible
패키지를 업데이트합니다.예제
[root@admin ~]# dnf update cephadm [root@admin ~]# dnf update cephadm-ansible
/usr/share/cephadm-ansible/
디렉토리로 이동합니다.예제
[root@admin ~]# cd /usr/share/cephadm-ansible
스토리지 클러스터의 부트스트랩 호스트에서
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
을 업그레이드합니다.cephadm
쉘에 로그인합니다.예제
[root@host01 ~]# cephadm shell
모든 호스트가 온라인 상태이고 스토리지 클러스터가 정상인지 확인합니다.
예제
[ceph: root@host01 /]# ceph -s
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
서비스 버전 및 사용 가능한 대상 컨테이너를 확인합니다.
구문
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 모두에 적용됩니다.
스토리지 클러스터를 업그레이드합니다.
구문
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) [............................]
Ceph 클러스터의 새 IMAGE_ID 및 VERSION 을 확인합니다.
예제
[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
업그레이드가 완료되면
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 |
절차
Ansible 관리 노드에서 Ceph Ansible 리포지토리를 활성화합니다.
Red Hat Enterprise Linux 9
subscription-manager repos --enable=rhceph-6-tools-for-rhel-9-x86_64-rpms
cephadm
및cephadm-ansible
패키지를 업데이트합니다.예제
[root@admin ~]# dnf update cephadm [root@admin ~]# dnf update cephadm-ansible
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
을 업그레이드합니다.cephadm
쉘에 로그인합니다.예제
[root@node0 ~]# cephadm shell
모든 호스트가 온라인 상태이고 스토리지 클러스터가 정상인지 확인합니다.
예제
[ceph: root@node0 /]# ceph -s
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
서비스 버전 및 사용 가능한 대상 컨테이너를 확인합니다.
구문
ceph orch upgrade check IMAGE_NAME
예제
[ceph: root@node0 /]# ceph orch upgrade check LOCAL_NODE_FQDN:5000/rhceph/rhceph-6-rhel9
스토리지 클러스터를 업그레이드합니다.
구문
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) [............................]
Ceph 클러스터의 새 IMAGE_ID 및 VERSION 을 확인합니다.
예제
[ceph: root@node0 /]# ceph version [ceph: root@node0 /]# ceph versions [ceph: root@node0 /]# ceph orch ps
업그레이드가 완료되면
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
추가 리소스
- Red Hat Ceph Storage 노드를 CDN에 등록하고 Red Hat Ceph Storage 설치 가이드의 서브스크립션 연결 섹션을 참조하십시오.
- Red Hat Ceph Storage 설치 가이드의 연결이 끊긴 설치는 프라이빗 레지스트리 구성 섹션을 참조하십시오.
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
)
절차
- 서비스를 사용하여 Red Hat Enterprise Linux 8에 Red Hat Ceph Storage 5를 배포합니다.
하나의 관리 노드( _ admin
레이블 사용)에서 호스트 업그레이드를 수행하는 동안 두 번째 관리자를 사용하여 클러스터 관리에 사용할 수 있도록 클러스터에 두 개의 관리 노드가 포함되어 있는지 확인합니다.
자세한 내용은 Red Hat Ceph Storage 설치 가이드의 Red Hat Ceph Storage 설치 가이드 및 운영 가이드 의 서비스 사양을 사용하여 Ceph 데몬 배포를 참조하십시오.
Ceph OSD에
noout
플래그를 설정합니다.예제
[ceph: root@host01 /]# ceph osd set noout
Leapp 유틸리티를 사용하여 한 번에 하나의 노드를 호스트 업그레이드합니다.
Leapp을 사용하여 호스트 업그레이드를 수행하기 전에 각 노드 유지보수 모드를 설정합니다.
구문
ceph orch host maintenance enter HOST
예제
ceph orch host maintenance enter host01
--enablerepo
매개변수를 사용하여 Leapp 명령을 실행할 때 ceph 툴 리포지토리를 수동으로 활성화합니다.예제
leapp upgrade --enablerepo rhceph-5-tools-for-rhel-9-x86_64-rpms
- Red Hat 고객 포털에 대한 Red Hat Enterprise Linux 제품 설명서에서 RHEL 8을 RHEL 9로 업그레이드 합니다.
Ceph 클러스터의 새 IMAGE_ID 및 VERSION 을 확인합니다.
예제
[ceph: root@node0 /]# ceph version [ceph: root@node0 /]# ceph orch ps
- 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 키 백업입니다.
절차
- 클러스터의 모든 호스트에서 Red Hat Enterprise Linux 버전을 업그레이드합니다. 자세한 절차는 RHEL 8에서 RHEL 9로 호스트 운영 체제 업그레이드 를 참조하십시오.
- Red Hat Enterprise Linux를 업그레이드한 후 Red Hat Ceph Storage 노드를 CDN에 등록하고 필요한 리포지토리를 추가합니다. 자세한 절차는 Red Hat Ceph Storage 노드를 CDN에 등록하고 서브스크립션 연결을 참조하십시오.
- 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에 설명된 대로 호스트에서 드레이닝 또는 제거해야합니다.
절차
Cephadm 쉘에 로그인합니다.
예제
[ceph: root@host01 /]# cephadm shell
관리 노드가 다시 프로비저닝될 때 클러스터를 관리하도록 클러스터의 admin으로 두 번째 노드에 레이블을 지정합니다.
구문
ceph orch host label add HOSTNAME admin
예제
[ceph: root@host01 /]# ceph orch host label add host02 admin
noout
플래그를 설정합니다.예제
[ceph: root@host01 /]# ceph osd set noout
호스트의 모든 데몬을 드레이닝합니다.
구문
ceph orch host drain HOSTNAME --force
예제
[ceph: root@host01 /]# ceph orch host drain host02 --force
_no_schedule
레이블은 배포를 차단하는 호스트에 자동으로 적용됩니다.스토리지 클러스터에서 모든 데몬이 제거되었는지 확인합니다.
구문
ceph orch ps HOSTNAME
예제
[ceph: root@host01 /]# ceph orch ps host02
OSD 제거 상태를 확인합니다.
예제
[ceph: root@host01 /]# ceph orch osd rm status
OSD에 배치 그룹(PG)이 없는 경우 스토리지 클러스터에서 OSD가 해제되어 제거됩니다.
드레이닝 중인 호스트에 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
클러스터에서 호스트를 제거합니다.
구문
ceph orch host rm HOSTNAME --force
예제
[ceph: root@host01 /]# ceph orch host rm host02 --force
- RHEL 8에서 RHEL 9로 업그레이드에 설명된 대로 각 호스트를 RHEL 8에서 RHEL 9로 다시 프로비저닝합니다.
--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/
디렉터리에 있습니다.클러스터의 공개 SSH 키를 폴더에 추출합니다.
구문
ceph cephadm get-pub-key ~/PATH
예제
[ceph: root@host01 /]# ceph cephadm get-pub-key ~/ceph.pub
Ceph 클러스터의 공개 SSH 키를 다시 프로비저닝된 노드에 복사합니다.
구문
ssh-copy-id -f -i ~/PATH root@HOST_NAME_2
예제
[ceph: root@host01 /]# ssh-copy-id -f -i ~/ceph.pub root@host02
선택 사항: 제거된 호스트에 모니터 데몬이 있는 경우 호스트에 호스트를 추가하기 전에
--unmanaged
플래그를 추가하여 배포를 모니터링합니다.구문
ceph orch apply mon PLACEMENT --unmanaged
호스트를 클러스터에 다시 추가하고 이전에 있는 레이블을 추가합니다.
구문
ceph orch host add HOSTNAME IP_ADDRESS --labels=LABELS
선택 사항: 제거된 호스트에 원래 모니터 데몬이 배포된 경우 연결기를 새 모니터로 교체하는 데 설명된 대로 위치 속성을 사용하여 모니터 데몬을 수동으로 추가해야 합니다.
구문
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
동일한 ceph 버전으로 다시 프로비저닝된 호스트의 데몬이 성공적으로 실행되는지 확인합니다.
구문
ceph orch ps
모니터 데몬 배치를
managed
로 다시 설정합니다.참고이 단계는 하나씩 수행해야 합니다.
구문
ceph orch apply mon PLACEMENT
- 모든 호스트에 대해 위의 단계를 반복합니다.
- 동일한 접근 방식에 따라 관리 노드를 다시 프로비저닝하고 두 번째 관리 노드를 사용하여 클러스터를 관리합니다.
- 백업 파일을 노드에 다시 추가합니다.
-
. 두 번째 관리 노드를 사용하여 클러스터에 admin 노드를 다시 추가합니다.
mon
배포를Unmanaged
로 설정합니다. - 이전 arbiter mon 을 다시 추가하고 이전에 만든 임시 mon을 제거하려면 새 모니터로 묶인 짝수 교체 를 따르십시오.
noout
플래그를 설정 해제합니다.구문
ceph osd unset noout
- Ceph 버전과 클러스터 상태를 확인하여 모든 demons가 Red Hat Enterprise Linux 업그레이드 후 예상대로 작동하는지 확인합니다.
- 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은 여전히 정체된 업그레이드 시나리오에 있는 데몬 업그레이드 순서를 엄격하게 적용합니다. 현재 업그레이드 순서는 다음과 같습니다.
- Ceph Manager 노드
- Ceph Monitor 노드
- Ceph-crash 데몬
- Ceph OSD 노드
- Ceph Metadata Server (MDS) 노드
- Ceph Object Gateway(RGW) 노드
- Ceph RBD-mirror 노드
- CephFS-mirror 노드
- 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 노드)입니다.
절차
cephadm
쉘에 로그인합니다.예제
[root@host01 ~]# cephadm shell
모든 호스트가 온라인 상태이고 스토리지 클러스터가 정상인지 확인합니다.
예제
[ceph: root@host01 /]# ceph -s
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
서비스 버전 및 사용 가능한 대상 컨테이너를 확인합니다.
구문
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 모두에 적용됩니다.
스토리지 클러스터를 업그레이드합니다.
특정 호스트에서 특정 데몬 유형을 업그레이드하려면 다음을 수행합니다.
구문
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
특정 서비스를 지정하고 업그레이드할 데몬 수를 제한하려면 다음을 수행합니다.
구문
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
명령을 반환하는 데 시간이 걸릴 수 있습니다.
여전히 업그레이드해야 하는 데몬을 보려면
ceph orch upgrade check
또는ceph versions
명령을 실행합니다.예제
[ceph: root@host01 /]# ceph orch upgrade check --image registry.redhat.io/rhceph/rhceph-6-rhel9:latest
태그된 업그레이드를 완료하려면 나머지 모든 서비스의 업그레이드를 확인합니다.
구문
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_ID 및 VERSION 을 확인합니다.
예제
[ceph: root@host01 /]# ceph versions [ceph: root@host01 /]# ceph orch ps
업그레이드가 완료되면
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 노드)입니다.
절차
Cephadm 쉘에 로그인합니다.
예제
[root@host01 ~]# cephadm shell
활성 상태인 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
각 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
업그레이드된 FlexVolume Ceph Manager로 장애 조치:
예제
[ceph: root@host01 /]# ceph mgr fail
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
활성 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" }
- 2~6단계를 반복하여 나머지 Ceph Manager를 새 버전으로 업그레이드합니다.
모든 Ceph Manager가 새 버전으로 업그레이드되었는지 확인합니다.
예제
[ceph: root@host01 /]# ceph mgr versions { "ceph version 16.2.8-12.el8cp (600e227816517e2da53d85f2fab3cd40a7483372) pacific (stable)": 2 }
- 모든 Ceph Manager를 업그레이드하면 제한 매개변수를 지정하고 나머지 업그레이드를 완료할 수 있습니다.
추가 리소스
- 태그된 업그레이드 및 태그된 업그레이드 옵션 수행에 대한 자세한 내용은 정체된 업그레이드 수행을 참조하십시오.
6장. 스토리지 클러스터의 모니터링 및 관리
ceph orch upgrade start
명령을 실행하여 Red Hat Ceph Storage 클러스터를 업그레이드한 후 업그레이드 프로세스를 상태, 일시 중지, 재개 또는 중지할 수 있습니다. 업그레이드 중에 클러스터 상태가 HEALTH_WARNING
으로 변경됩니다. 호스트가 오프라인 상태인 경우 업그레이드가 일시 중지됩니다.
다른 데몬 유형 이후에 하나의 데몬 유형을 업그레이드해야 합니다. 데몬을 업그레이드할 수 없는 경우 업그레이드가 일시 중지됩니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터 5.
- 모든 노드에 대한 루트 수준 액세스.
- 스토리지 클러스터에 있는 두 개 이상의 Ceph Manager 노드(활성 및 하나의 active 노드)입니다.
- 시작된 스토리지 클러스터의 업그레이드입니다.
절차
업그레이드가 진행 중인지 여부와 클러스터가 업그레이드할 버전을 결정합니다.
예제
[ceph: root@node0 /]# ceph orch upgrade status
참고업그레이드가 성공하면 메시지가 표시되지 않습니다.
ceph 버전
및ceph orch ps
명령을 실행하여 새 이미지 ID와 스토리지 클러스터 버전을 확인합니다.선택 사항: 업그레이드 프로세스를 일시 중지합니다.
예제
[ceph: root@node0 /]# ceph orch upgrade pause
선택 사항: 일시 중지된 업그레이드 프로세스를 다시 시작합니다.
예제
[ceph: root@node0 /]# ceph orch upgrade resume
선택 사항: 업그레이드 프로세스를 중지합니다.
예제
[ceph: root@node0 /]# ceph orch upgrade stop
7장. 업그레이드 오류 메시지 문제 해결
다음 표는 cephadm
업그레이드 오류 메시지를 보여줍니다. 어떤 이유로든 cephadm
업그레이드가 실패하면 스토리지 클러스터 상태에 오류 메시지가 표시됩니다.
오류 메시지 | 설명 |
---|---|
UPGRADE_NO_STANDBY_MGR | Ceph에서 진행하려면 활성 및ECDHE 관리자 데몬이 모두 필요하지만 현재는 없습니다. |
UPGRADE_FAILED_PULL | Ceph에서 대상 버전의 컨테이너 이미지를 가져올 수 없었습니다. 이는 존재하지 않는 버전 또는 컨테이너 이미지(예: 1.2.3)를 지정하거나 클러스터의 하나 이상의 호스트에서 컨테이너 레지스트리에 연결할 수 없는 경우 발생할 수 있습니다. |