4장. 업그레이드 거부
스토리지 관리자는 Red Hat Ceph Storage 구성 요소를 한 번에 모두 업그레이드하지 않고 단계별로 업그레이드할 수 있습니다. ceph orch upgrade 명령을 사용하면 단일 업그레이드 명령으로 업그레이드할 데몬을 제한하는 옵션을 지정할 수 있습니다.
정체된 업그레이드를 지원하지 않는 버전에서 업그레이드하려면 먼저 Ceph Manager(ceph-mgr) 데몬을 수동으로 업그레이드해야 합니다. 이전 릴리스에서 차단된 업그레이드를 수행하는 방법에 대한 자세한 내용은 이전 릴리스에서 차단된 업그레이드 수행을 참조하십시오.
4.1. 업그레이드 거부 옵션 링크 복사링크가 클립보드에 복사되었습니다!
ceph orch upgrade 명령은 단계적으로 클러스터 구성 요소를 업그레이드하는 여러 옵션을 지원합니다. Staggered 업그레이드 옵션에는 다음이 포함됩니다.
--daemon_types-
--daemon_types옵션은 쉼표로 구분된 데몬 유형 목록을 사용하고 해당 유형의 데몬만 업그레이드합니다. 이 옵션에 유효한 데몬 유형에는mgr,mon,crash,osd,mds,rgw,rbd-mirror,cephfs-mirror,nfs등이 있습니다. --services-
service 옵션은
와 함께 사용할 수 없으며 한 번에 하나의 유형만 사용하므로 해당 서비스에 속하는 데몬만 업그레이드합니다. 예를 들어 OSD 및 RGW 서비스를 동시에 제공할 수 없습니다.--daemon-types --hosts-
--hosts옵션을--daemon_types,--services와 결합하거나 자체적으로 사용할 수 있습니다.--hosts옵션 매개변수는 오케스트레이션자 CLI 배치 사양을 위한 명령줄 옵션과 동일한 형식을 따릅니다. --limit-
--limit옵션은 0보다 큰 정수를 사용하고 업그레이드할 데몬cephadm수에 대한 숫자 제한을 제공합니다.--limit옵션을--daemon_types,--services또는--hosts와 결합할 수 있습니다. 예를 들어, 3개로 설정된 제한을 사용하여host01에서osd유형의 데몬을 업그레이드하도록 지정하는 경우cephadm은 host01에서 최대3개의 OSD 데몬으로 업그레이드됩니다. --topological-labels--topological-labels옵션은 지정된 토폴로지 레이블이 있는 특정 호스트 세트를 업그레이드합니다.예를 들어 레이블
datacenter=A가 호스트 세트에서 사용되는 경우 각 호스트를 수동으로 입력하지 않고도 업그레이드를 위해 이러한 특정 호스트를 대상으로 지정할 수 있습니다.참고--topological-labels는 Red Hat Ceph Storage 8.1 이상에서 유효합니다.
4.1.1. Staggered 업그레이드 수행 링크 복사링크가 클립보드에 복사되었습니다!
스토리지 관리자는 ceph orch 업그레이드 옵션을 사용하여 단일 업그레이드 명령으로 업그레이드할 데몬을 제한할 수 있습니다.
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-8-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
NOTE: Enforced upgrade order is: mgr -> mon -> crash -> osd -> mds -> rgw -> rbd-mirror -> cephfs-mirror
인스턴스를 다시 시작하는 데 필요한 순서가 없습니다. Red Hat은 기본 이미지를 사용하여 풀을 가리키는 인스턴스를 다시 시작한 다음 미러링된 풀을 가리키는 인스턴스를 다시 시작할 것을 권장합니다.
사전 요구 사항
시작하기 전에 다음 사전 요구 사항이 있는지 확인하십시오.
- 지원되는 Red Hat Ceph Storage 클러스터의 최신 버전입니다.
- 모든 노드에 대한 루트 수준 액세스.
- 스토리지 클러스터에 있는 두 개 이상의 Ceph Manager 노드(활성 및 대기 모드 1개)
- Red Hat Ceph Storage 8.1 이상에서 호스트에 설정된 토폴로지 레이블입니다. 토폴로지 레이블을 사용하여 특정 호스트를 업그레이드합니다. 자세한 내용은 호스트에 토폴로지 라벨 추가를 참조하십시오.
프로세스
cephadm쉘에 로그인합니다.예제
[root@host01 ~]# cephadm shell모든 호스트가 온라인 상태이고 스토리지 클러스터가 정상인지 확인합니다.
예제
[ceph: root@host01 /]# ceph -sOSD
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-8-rhel9:latest다음 방법 중 하나로 스토리지 클러스터를 업그레이드합니다.
특정 호스트에서 특정 데몬 유형을 업그레이드합니다.
구문
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-8-rhel9:latest --daemon-types mgr,mon --hosts host02,host03특정 서비스를 지정하고 업그레이드할 데몬 수를 제한합니다.
참고세분화된 업그레이드 시나리오에서는 limiting 매개변수를 사용하는 경우 Ceph Manager 데몬을 업그레이드한 후 Prometheus 및
node-exporter를 포함한 모니터링 스택 데몬을 새로 고칩니다. limiting 매개변수로 인해 Ceph Manager 업그레이드가 완료되는 데 시간이 더 오래 걸립니다. 모니터링 스택 데몬 버전은 Ceph 릴리스 간에 변경되지 않을 수 있습니다. 이 경우 재배포만 됩니다.참고제한 매개 변수가 있는 업그레이드 명령은 업그레이드를 시작하기 전에 옵션의 유효성을 검사하므로 새 컨테이너 이미지를 가져와야 할 수 있습니다. 결과적으로 제한 매개변수를 제공할 때
upgrade start명령을 반환하는 데 시간이 걸릴 수 있습니다.구문
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-8-rhel9:latest --services rgw.example1,rgw1.example2 --limit 2{stroage-product} 8.1 이상에서만 유효합니다. 특정 호스트에서 업그레이드를 실행하려면 특정 토폴로지 레이블을 지정합니다.
참고토폴로지 레이블을 사용하면 필요한 데몬 업그레이드 순서에서 변경할 수 없습니다.
구문
ceph orch upgrade start --topological-labels _TOPOLOGICAL_LABEL_예
[ceph: root@host01 /]# ceph orch upgrade start --topological-labels datacenter=A토폴로지 레이블이 있는 Red Hat Ceph Storage 8.1 이상에서만 유효합니다.
--daemon-types옵션을 사용하여 특정 호스트에서 업그레이드를 실행하려면 특정 토폴로지 레이블을 지정합니다.다음 예와 유사한 시나리오가 있는 호스트에
--daemon-types옵션을 사용합니다.datacenter=A와 일치하지 않는 호스트의datacenter=Abut nonupgraded Monitor 데몬과 일치하는 Monitor 및 OSD 데몬이 모두 있는 호스트가 있습니다. 이 경우데이터 센터=A호스트에서 Monitor 데몬만 업그레이드하여 업그레이드 순서가 손상되지 않습니다. 이 시나리오에서는 OSD 데몬이 아닌datacenter=A의 Monitor 데몬만 업그레이드하려면 다음 명령을 사용합니다.구문
ceph orch upgrade start _IMAGE_NAME_ --daemon-types _DAEMON_TYPE1_ --topological-labels _TOPOLOGICAL_LABEL_예
[ceph: root@host01 /]# ceph orch upgrade start registry.redhat.io/rhceph/rhceph-8-rhel9:latest --daemon-types mon --topological-labels datacenter=Aceph orch upgrade status명령을 사용하여 업그레이드용으로 선택한 항목을 확인합니다. 출력에서" which"필드를 확인합니다.예
[ceph: root@host01 /]# ceph orch upgrade status { "in_progress": true, "target_image": "cp.icr.io/cp/ibm-ceph/ceph-8-rhel9:latest", "services_complete": [ "mon" ], "which": "Upgrading daemons of type(s) mon on host(s) host01", "progress": "1/1 daemons upgraded", "message": "Currently upgrading mon daemons", "is_paused": false }
여전히 업그레이드해야 하는 데몬을 확인하려면
ceph orch upgrade check또는ceph versions명령을 실행합니다.예제
[ceph: root@host01 /]# ceph orch upgrade check --image registry.redhat.io/rhceph/rhceph-8-rhel9:latestStaggered 업그레이드를 완료하려면 나머지 모든 서비스의 업그레이드를 확인합니다.
구문
ceph orch upgrade start --image IMAGE_NAME예제
[ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-8-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
4.1.2. 이전 릴리스에서 Staggered 업그레이드 수행 링크 복사링크가 클립보드에 복사되었습니다!
필요한 인수를 제공하여 스토리지 클러스터에서 차단된 업그레이드를 수행할 수 있습니다.
필요한 인수를 제공하여 스토리지 클러스터에서 차단된 업그레이드를 수행할 수 있습니다. 정체된 업그레이드를 지원하지 않는 버전에서 업그레이드하려면 먼저 Ceph Manager(ceph-mgr) 데몬을 수동으로 업그레이드해야 합니다. Ceph Manager 데몬을 업그레이드한 후에는 제한 매개변수를 전달하여 정체된 업그레이드를 완료할 수 있습니다.
이 절차를 시도하기 전에 두 개 이상의 Ceph Manager 데몬이 실행 중인지 확인합니다.
사전 요구 사항
- Red Hat Ceph Storage 7.1 이상을 실행하는 클러스터입니다.
- 스토리지 클러스터에 있는 두 개 이상의 Ceph Manager 노드(활성 및 대기 모드 1개)
프로세스
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각 대기 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-8-rhel9:latest업그레이드된 대기 Ceph Manager로 페일오버:
예
[ceph: root@host01 /]# ceph mgr failstandby 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": "18.2.0-128.el8cp", "release": "reef", "release_type": "stable" }- 나머지 Ceph Manager를 새 버전으로 업그레이드하려면 2 - 6단계를 반복합니다.
모든 Ceph Manager가 새 버전으로 업그레이드되었는지 확인합니다.
예
[ceph: root@host01 /]# ceph mgr versions { "ceph version 18.2.0-128.el8cp (600e227816517e2da53d85f2fab3cd40a7483372) pacific (stable)": 2 }- 모든 Ceph Manager를 업그레이드하면 제한 매개변수를 지정하고 태그된 업그레이드의 나머지 부분을 완료할 수 있습니다.