1.2. Red Hat Ceph Storage 클러스터 업그레이드
ceph orch upgrade 명령을 사용하여 Red Hat Ceph Storage 클러스터를 업그레이드할 수 있습니다.
사전 요구 사항
- 실행 중인 최신 버전의 Red Hat Ceph Storage 클러스터.
- 모든 노드에 대한 루트 수준 액세스.
-
sudo 및 암호 없이
ssh를 사용하는 Ansible 사용자는 스토리지 클러스터의 모든 노드에 액세스할 수 있습니다. - 스토리지 클러스터에 있는 두 개 이상의 Ceph Manager 노드(활성 및 대기 모드 1개)
Red Hat Ceph Storage 5에는 스토리지 클러스터의 여러 버전의 Red Hat Ceph Storage를 실행 중임을 감지하면 DAEMON_OLD_VERSION 경고를 반환하는 상태 점검 기능이 포함되어 있습니다. 데몬이 mon_warn_older_version_delay 옵션에 설정된 시간 값을 초과하는 여러 버전의 Red Hat Ceph Storage를 계속 실행하면 경고가 트리거됩니다. 기본적으로 mon_warn_older_version_delay 옵션은 1 week로 설정됩니다. 이 설정을 사용하면 대부분의 업그레이드가 경고를 잘못 보지 않고 진행할 수 있습니다. 업그레이드 프로세스가 연장된 기간 동안 일시 중지된 경우 상태 경고를 음소거할 수 있습니다.
ceph health mute DAEMON_OLD_VERSION --sticky
ceph health mute DAEMON_OLD_VERSION --sticky
업그레이드가 완료되면 상태 경고를 음소거합니다.
ceph health unmute DAEMON_OLD_VERSION
ceph health unmute DAEMON_OLD_VERSION
프로세스
Ansible 관리 노드에서 Ceph Ansible 리포지토리를 활성화합니다.
Red Hat Enterprise Linux 9
subscription-manager repos --enable=rhceph-7-tools-for-rhel-9-x86_64-rpms
subscription-manager repos --enable=rhceph-7-tools-for-rhel-9-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm및cephadm-ansible패키지를 업데이트합니다.예제
dnf update cephadm dnf update cephadm-ansible
[root@admin ~]# dnf update cephadm [root@admin ~]# dnf update cephadm-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/cephadm-ansible/디렉토리로 이동합니다.예제
cd /usr/share/cephadm-ansible
[root@admin ~]# cd /usr/share/cephadm-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 스토리지 클러스터의 부트스트랩 호스트에서
upgrade_ceph_packages매개변수를true로 설정하여 preflight 플레이북을 실행합니다.구문
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
ansible-playbook -i /etc/ansible/hosts 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"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 패키지는 모든 노드에서
cephadm을 업그레이드합니다.cephadm쉘에 로그인합니다.예제
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 호스트가 온라인 상태이고 스토리지 클러스터가 정상인지 확인합니다.
예제
[ceph: root@host01 /]# ceph -s
[ceph: root@host01 /]# ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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: root@host01 /]# ceph osd set noout [ceph: root@host01 /]# ceph osd set noscrub [ceph: root@host01 /]# ceph osd set nodeep-scrubCopy to Clipboard Copied! Toggle word wrap Toggle overflow 서비스 버전과 사용 가능한 대상 컨테이너를 확인합니다.
구문
ceph orch upgrade check IMAGE_NAME
ceph orch upgrade check IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph orch upgrade check registry.redhat.io/rhceph/rhceph-7-rhel9:latest
[ceph: root@host01 /]# ceph orch upgrade check registry.redhat.io/rhceph/rhceph-7-rhel9:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이미지 이름은 Red Hat Enterprise Linux 8 및 Red Hat Enterprise Linux 9 모두에 적용됩니다.
스토리지 클러스터를 업그레이드합니다.
구문
ceph orch upgrade start IMAGE_NAME
ceph orch upgrade start IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph orch upgrade start registry.redhat.io/rhceph/rhceph-7-rhel9:latest
[ceph: root@host01 /]# ceph orch upgrade start registry.redhat.io/rhceph/rhceph-7-rhel9:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고Staggered 업그레이드를 수행하려면 스tagger ed 업그레이드 수행을 참조하십시오.
업그레이드가 진행되는 동안
ceph 상태출력에 진행률 표시줄이 표시됩니다.예제
[ceph: root@host01 /]# ceph status [...] progress: Upgrade to 18.2.0-128.el9cp (1s) [............................][ceph: root@host01 /]# ceph status [...] progress: Upgrade to 18.2.0-128.el9cp (1s) [............................]Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph 클러스터의 새로운 IMAGE_ID 및 VERSION 을 확인합니다.
예제
[ceph: root@host01 /]# ceph versions [ceph: root@host01 /]# ceph orch ps
[ceph: root@host01 /]# ceph versions [ceph: root@host01 /]# ceph orch psCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고Ceph 클러스터를 업그레이드한 후
cephadm-ansible플레이북을 사용하지 않는 경우 클라이언트 노드에서ceph-common패키지 및 클라이언트 라이브러리를 업그레이드해야 합니다.예제
[root@client01 ~] dnf update ceph-common
[root@client01 ~] dnf update ceph-commonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 최신 버전이 있는지 확인합니다.
예제
[root@client01 ~] ceph --version
[root@client01 ~] ceph --versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow 업그레이드가 완료되면
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
[ceph: root@host01 /]# ceph osd unset noout [ceph: root@host01 /]# ceph osd unset noscrub [ceph: root@host01 /]# ceph osd unset nodeep-scrubCopy to Clipboard Copied! Toggle word wrap Toggle overflow