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 고객 포털 인증 정보를 입력합니다.
구문
subscription-manager register
CDN에서 최신 서브스크립션 데이터를 가져옵니다.
구문
subscription-manager refresh
Red Hat Ceph Storage에 사용 가능한 모든 서브스크립션을 나열합니다.
구문
subscription-manager list --available --matches 'Red Hat Ceph Storage'
- 적절한 서브스크립션을 식별하고 해당 풀 ID를 검색합니다.
소프트웨어 인타이틀먼트에 대한 액세스 권한을 얻기 위해 풀 ID를 연결합니다. 이전 단계에서 확인한 풀 ID를 사용합니다.
구문
subscription-manager attach --pool=POOL_ID
기본 소프트웨어 리포지토리를 비활성화한 다음 해당 Red Hat Enterprise Linux 버전에서 서버 및 추가 리포지토리를 활성화합니다.
Red Hat Enterprise Linux 9
subscription-manager repos --disable=* subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms subscription-manager repos --enable=rhel-9-for-x86_64-appstream-rpms
Red Hat Enterprise Linux의 최신 패키지를 수신하도록 시스템을 업데이트합니다.
구문
dnf update
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