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 unmute DAEMON_OLD_VERSION
프로세스
Ansible 관리 노드에서 Ceph Ansible 리포지토리를 활성화합니다.
Red Hat Enterprise Linux 9
subscription-manager repos --enable=rhceph-8-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-8-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-8-rhel9:latest
참고Staggered 업그레이드를 수행하려면 스tagger ed 업그레이드 수행을 참조하십시오.
업그레이드가 진행되는 동안
ceph 상태
출력에 진행률 표시줄이 표시됩니다.예
[ceph: root@host01 /]# ceph status [...] progress: Upgrade to 18.2.0-128.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