업그레이드 가이드
Red Hat Ceph Storage 클러스터 업그레이드
초록
1장. Red Hat Ceph Storage 클러스터를 RHCS 4에서 RHCS 5로 업그레이드
스토리지 관리자는 Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 5로 Red Hat Ceph Storage 클러스터를 업그레이드할 수 있습니다. 업그레이드 프로세스에는 다음 작업이 포함됩니다.
- 스토리지 클러스터가 아직 Red Hat Enterprise Linux 7을 실행 중인 경우 스토리지 클러스터의 호스트 OS 버전을 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로 업그레이드합니다.
- 노드가 아직 Red Hat Enterprise Linux 7을 실행 중인 경우 Ceph Ansible 관리 노드의 호스트 OS 버전을 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로 업그레이드합니다.
- Ansible 플레이북을 사용하여 Red Hat Ceph Storage 4 스토리지 클러스터를 Red Hat Ceph Storage 5로 업그레이드합니다.
Red Hat Enterprise Linux 7.9의 Red Hat Ceph Storage 4.3에서 Red Hat Enterprise Linux 9로 업그레이드하는 경우 먼저 호스트 OS를 Red Hat Enterprise Linux 7.9에서 Red Hat Enterprise Linux 8.x로 업그레이드한 다음 Red Hat Ceph Storage를 업그레이드한 다음 Red Hat Enterprise Linux 9.x로 업그레이드하십시오.
Red Hat Ceph Storage 4 클러스터가 이미 Red Hat Enterprise Linux 8을 실행 중인 경우 Red Hat Enterprise Linux 8을 RHCS4에서 RHCS 5로 실행하는 Red Hat Ceph Storage 업그레이드를 참조하십시오.
LeApp
은 암호화된 파티션이 있는 암호화된 OSD 또는 OSD 업그레이드를 지원하지 않습니다. OSD가 암호화되어 호스트 OS를 업그레이드하는 경우 OS를 업그레이드하기 전에 ceph-ansible
에서 dmcrypt
를 비활성화합니다. power p
사용에 대한 자세한 내용은 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8으로 업그레이드 및 Red Hat Enterprise Linux 8에서 Red Hat Enterprise Linux 9로 업그레이드를 참조하십시오.
현재 Red Hat Ceph Storage 5에서는 Ceph -ansible
이 지원되지 않습니다. 즉, 스토리지 클러스터를 Red Hat Ceph Storage 5로 마이그레이션했으면 cephadm
및 cephadm-ansible
을 사용하여 후속 업데이트를 수행해야 합니다.
Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 5로 업그레이드하는 동안 bluestore_fsck_quick_fix_on_mount
매개변수를 true
로 설정하지 않거나 ceph-bluestore-tool --path PATH_TO_OSD --command quick-fix|repair
명령으로 인해 잘못된 형식의 OMAP 키가 잘못 포맷되고 데이터 손상을 일으키지 않습니다.
Ceph Object Gateway 스토리지 클러스터(단일 사이트 또는 다중 사이트)의 Red Hat Ceph Storage 5.2로 업그레이드할 수 있지만 스토리지 클러스터를 업그레이드하기 전에 ceph 구성 세트 mgr/cephadm/no_five_one_rgw true --force
옵션을 설정해야 합니다.
Ceph Object Gateway 스토리지 클러스터의 Red Hat Ceph Storage 5.2에서 Red Hat Ceph Storage 5.2로 업그레이드하는 것은 알려진 문제로 인해 지원되지 않습니다. 자세한 내용은 Red Hat Red Hat Ceph Storage 5.2의 RADOS Gateway(RGW) 업그레이드에 대한 기술 자료 문서 지원 제한 사항을 참조하십시오.
Red Hat Ceph Storage 5.0z4 로 업그레이드하려는 경우 업그레이드 절차에 따라 Red Hat Ceph Storage 4.2z4에서 5.0z4 로 업그레이드하는 방법을 기술 자료 문서를 참조하십시오.
Red Hat Ceph Storage에 대해 기본적으로 bluefs_buffered_io
옵션이 True
로 설정됩니다. 이 옵션을 사용하면 BlueFS에서 버퍼링된 읽기를 수행할 수 있으며 커널 페이지 캐시가 2001:sDB 블록 읽기와 같은 읽기에 대한 보조 캐시 역할을 할 수 있습니다. 예를 들어, OMAP 반복 중에 모든 블록을 보관할 수 있을 만큼 충분히 크지 않은 경우 디스크 대신 페이지 캐시에서 해당 블록을 읽을 수 있습니다. 이로 인해 osd_memory_target이 블록 캐시의 모든 항목을 유지하기에 너무 작으면 성능이 크게 향상될 수 있습니다. 현재 bluefs_buffered_io
를 활성화하고 시스템 수준 스왑을 비활성화하면 성능 저하가 발생하지 않습니다.
bluefs_buffered_io
의 현재 설정을 보는 방법에 대한 자세한 내용은 Red Hat Ceph Storage 관리 가이드의 bluefs_buffered_io
설정 섹션을 참조하십시오.
Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 5로 클러스터를 업그레이드하면 모든 클라이언트 노드에서 ceph-common
패키지를 업그레이드해야 합니다. ceph-common
패키지를 업그레이드하려면 다른 데몬의 업그레이드 후 모든 클라이언트에서 yum update ceph-common
명령을 실행합니다.
Red Hat Ceph Storage 5는 컨테이너화된 데몬만 지원합니다. 컨테이너화되지 않은 스토리지 클러스터는 지원하지 않습니다. Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 5로 컨테이너화되지 않은 스토리지 클러스터를 업그레이드하는 경우 업그레이드 프로세스에는 컨테이너화된 배포가 포함됩니다.
1.1. 사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 4 클러스터.
- 유효한 고객 서브스크립션.
- Ansible 관리 노드에 대한 루트 수준 액세스.
- 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
- Ansible 애플리케이션에서 사용할 Ansible 사용자 계정입니다.
- Red Hat Ceph Storage 툴 및 Ansible 리포지토리가 활성화되어 있습니다.
Red Hat Ceph Storage 클러스터와 Red Hat Enterprise Linux 운영 체제를 새로운 메이저 릴리스로 수동으로 Ceph File System (CephFS) 메타데이터 서버(MDS) 소프트웨어를 업그레이드할 수 있습니다. 기본 XFS 파일 시스템은 ftype=1
또는 d_type
지원을 사용하여 포맷해야 합니다. xfs_info /var
명령을 실행하여 ftype
이 1
로 설정되어 있는지 확인합니다. ftype
값이 1
이 아닌 경우 새 디스크를 연결하거나 볼륨을 만듭니다. 이 새 장치 상단에서 새 XFS 파일 시스템을 생성하여 /var/lib/containers
에 마운트합니다.
Red Hat Enterprise Linux 8부터 mkfs.xfs
는 기본적으로 ftype=1
을 활성화합니다.
1.2. RHCS와 podman
버전 간의 호환성 고려 사항
Podman
및 Red Hat Ceph Storage에는 호환 버전을 찾기가 어려울 수 있는 다양한 지원 종료 전략이 있습니다.
Ceph 업그레이드 프로세스의 일부로 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로 업그레이드하려는 경우 podman
버전이 Red Hat Ceph Storage 5와 호환되는지 확인하십시오.
Red Hat은 Red Hat Ceph Storage 5의 해당 Red Hat Enterprise Linux 버전과 함께 제공되는 podman
버전을 사용하는 것이 좋습니다. 자세한 내용은 Red Hat Ceph Storage: 지원 구성 기술 자료 문서를 참조하십시오. 자세한 내용은 Red Hat Ceph Storage Troubleshooting Guide의 서비스 관련 Red Hat 지원 문의 섹션을 참조하십시오.
Red Hat Ceph Storage 5는 버전 2.2.1을 제외하고 podman
버전 2.0.0 이상과 호환됩니다. 버전 2.2.1은 Red Hat Ceph Storage 5와 호환되지 않습니다.
다음 표에서는 Red Hat Ceph Storage 5 버전과 podman
사이의 버전 호환성을 보여줍니다.
Ceph | Podman | ||||
---|---|---|---|---|---|
1.9 | 2.0 | 2.1 | 2.2 | 3.0 | |
5.0 (태평양) | false | true | true | false | true |
1.3. 업그레이드 준비
스토리지 관리자는 Ceph 스토리지 클러스터를 Red Hat Ceph Storage 5로 업그레이드할 수 있습니다. 그러나 업그레이드를 수행하려면 스토리지 클러스터의 일부 구성 요소가 특정 소프트웨어 버전을 실행해야 합니다. 다음 목록은 Red Hat Ceph Storage 5로 업그레이드하기 전에 스토리지 클러스터에 설치해야 하는 최소 소프트웨어 버전을 보여줍니다.
- Red Hat Ceph Storage 4.3 이상.
- Ansible 2.9.
- 최신 버전의 Red Hat Ceph Storage와 함께 Ceph-ansible이 제공됩니다.
- Red Hat Enterprise Linux 8.4 EUS 이상.
- 파일 저장소 OSD를 BlueStore로 마이그레이션해야 합니다. OSD를 FileStore에서 BlueStore로 변환하는 방법에 대한 자세한 내용은 BlueStore 를 참조하십시오.
Red Hat Ceph Storage 4.3 이전의 Red Hat Ceph Storage 버전에는 직접 업그레이드 경로가 없습니다. Red Hat Ceph Storage 3에서 업그레이드하는 경우 먼저 Red Hat Ceph Storage 4.3 이상으로 업그레이드한 다음 Red Hat Ceph Storage 5로 업그레이드해야 합니다.
최신 Red Hat Ceph Storage 5 버전으로만 업그레이드할 수 있습니다. 예를 들어 버전 5.1을 사용할 수 있는 경우 4에서 5.0으로 업그레이드할 수 없습니다. 5.1로 직접 이동해야 합니다.
Red Hat Enterprise Linux-8.7 이상에서 Red Hat Ceph Storage-4.3.z1의 새로운 배포 또는 Red Hat Ceph Storage-4.3.z1을 호스트 OS와 함께 5.X로 업그레이드하면 TASK [ceph-mgr : TASK [ceph-mgr : 모든 mgr이 가동될 때까지 기다립니다]
. Red Hat Enterprise Linux 8.7에서 릴리스된 podman
의 동작이 SELinux 재레이블링과 관련하여 변경되었습니다. 이로 인해 시작 순서에 따라 일부 Ceph 컨테이너가 필요한 파일에 액세스할 수 없으므로 시작되지 않았습니다.
이 문제를 해결하려면 ' ceph mgr dump' 명령을 실행하는 동안 기술 자료 RHCS 4.3 설치가 실패합니다.
스토리지 클러스터를 Red Hat Ceph Storage 5로 업그레이드하려면 클러스터에서 Red Hat Ceph Storage 4.3 이상을 실행하는 것이 좋습니다. 지식베이스 문서 Red Hat Ceph Storage 릴리스란?에서 참조하십시오. 이 문서에는 최신 버전의 Ceph 패키지 및 ceph-ansible에 대한 다운로드 링크가 포함되어 있습니다.
업그레이드 프로세스에서는 Ansible 플레이북을 사용하여 Red Hat Ceph Storage 4 스토리지 클러스터를 Red Hat Ceph Storage 5로 업그레이드합니다. Red Hat Ceph Storage 4 클러스터가 컨테이너화되지 않은 클러스터인 경우 업그레이드 프로세스에는 클러스터를 컨테이너화된 버전으로 변환하는 단계가 포함됩니다. Red Hat Ceph Storage 5는 컨테이너화되지 않은 클러스터에서 실행되지 않습니다.
미러링 또는 다중 사이트 구성이 있는 경우 한 번에 하나의 클러스터를 업그레이드합니다. 다른 클러스터를 업그레이드하기 전에 업그레이드된 각 클러스터가 제대로 실행되고 있는지 확인합니다.
LeApp
은 암호화된 파티션이 있는 암호화된 OSD 또는 OSD 업그레이드를 지원하지 않습니다. OSD가 암호화되어 호스트 OS를 업그레이드하는 경우 OS를 업그레이드하기 전에 ceph-ansible
에서 dmcrypt
를 비활성화합니다. power p
사용에 대한 자세한 내용은 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로 업그레이드를 참조하십시오.
스토리지 클러스터가 최신 버전의 Red Hat Ceph Storage 4를 아직 실행하지 않는 경우에만 이 프로세스에서 처음 세 단계를 수행합니다. Red Hat Ceph Storage 4의 최신 버전은 4.3 이상이어야 합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 4 클러스터.
- 스토리지 클러스터의 모든 노드에 대한 sudo 수준 액세스.
- 유효한 고객 서브스크립션.
- Ansible 관리 노드에 대한 루트 수준 액세스.
- Ansible 애플리케이션에서 사용할 Ansible 사용자 계정입니다.
- Red Hat Ceph Storage 툴 및 Ansible 리포지토리가 활성화되어 있습니다.
절차
Ansible 관리 노드에서 Ceph 및 Ansible 리포지토리를 활성화합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms --enable=ansible-2.9-for-rhel-8-x86_64-rpms
[root@admin ceph-ansible]# subscription-manager repos --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms --enable=ansible-2.9-for-rhel-8-x86_64-rpms
Ansible을 업데이트합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dnf update ansible ceph-ansible
[root@admin ceph-ansible]# dnf update ansible ceph-ansible
업그레이드하려는 스토리지 클러스터에
배타적 잠금
기능을 사용하는 Ceph Block Device 이미지가 포함된 경우 모든 Ceph Block Device 사용자에게 클라이언트에 대한 거부 목록을 생성할 수 있는 권한이 있는지 확인합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph auth caps client.ID mon 'profile rbd' osd 'profile rbd pool=POOL_NAME_1, profile rbd pool=POOL_NAME_2'
ceph auth caps client.ID mon 'profile rbd' osd 'profile rbd pool=POOL_NAME_1, profile rbd pool=POOL_NAME_2'
Cockpit을 사용하여 스토리지 클러스터를 원래 설치한 경우, Cockpit이 생성한 인벤토리 파일에
/usr/share/ceph-ansible
디렉터리에 심볼릭 링크를 만듭니다./usr/share/ansible-runner-service/inventory/hosts
:/usr/share/ceph-ansible
디렉터리로 변경합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow cd /usr/share/ceph-ansible
# cd /usr/share/ceph-ansible
심볼릭 링크를 만듭니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ln -s /usr/share/ansible-runner-service/inventory/hosts hosts
# ln -s /usr/share/ansible-runner-service/inventory/hosts hosts
ceph-ansible
을 사용하여 클러스터를 업그레이드하려면etc/ansible/hosts
디렉터리에hosts
인벤토리 파일로 심볼릭 링크를 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ln -s /etc/ansible/hosts hosts
# ln -s /etc/ansible/hosts hosts
Cockpit을 사용하여 스토리지 클러스터를 원래 설치한 경우 Cockpit 생성 SSH 키를 Ansible 사용자의
~/.ssh
디렉터리에 복사합니다.키를 복사합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cp /usr/share/ansible-runner-service/env/ssh_key.pub /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub cp /usr/share/ansible-runner-service/env/ssh_key /home/ANSIBLE_USERNAME/.ssh/id_rsa
cp /usr/share/ansible-runner-service/env/ssh_key.pub /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub cp /usr/share/ansible-runner-service/env/ssh_key /home/ANSIBLE_USERNAME/.ssh/id_rsa
ANSIBLE_USERNAME 을 Ansible의 사용자 이름으로 교체합니다. 일반적인 기본 사용자 이름은
admin
입니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cp /usr/share/ansible-runner-service/env/ssh_key.pub /home/admin/.ssh/id_rsa.pub cp /usr/share/ansible-runner-service/env/ssh_key /home/admin/.ssh/id_rsa
# cp /usr/share/ansible-runner-service/env/ssh_key.pub /home/admin/.ssh/id_rsa.pub # cp /usr/share/ansible-runner-service/env/ssh_key /home/admin/.ssh/id_rsa
키 파일에 적절한 소유자, 그룹 및 권한을 설정합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow chown ANSIBLE_USERNAME:ANSIBLE_USERNAME /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub chown ANSIBLE_USERNAME:ANSIBLE_USERNAME /home/ANSIBLE_USERNAME/.ssh/id_rsa chmod 644 /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub chmod 600 /home/ANSIBLE_USERNAME/.ssh/id_rsa
# chown ANSIBLE_USERNAME:ANSIBLE_USERNAME /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub # chown ANSIBLE_USERNAME:ANSIBLE_USERNAME /home/ANSIBLE_USERNAME/.ssh/id_rsa # chmod 644 /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub # chmod 600 /home/ANSIBLE_USERNAME/.ssh/id_rsa
ANSIBLE_USERNAME 을 Ansible의 사용자 이름으로 교체합니다. 일반적인 기본 사용자 이름은
admin
입니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow chown admin:admin /home/admin/.ssh/id_rsa.pub chown admin:admin /home/admin/.ssh/id_rsa chmod 644 /home/admin/.ssh/id_rsa.pub chmod 600 /home/admin/.ssh/id_rsa
# chown admin:admin /home/admin/.ssh/id_rsa.pub # chown admin:admin /home/admin/.ssh/id_rsa # chmod 644 /home/admin/.ssh/id_rsa.pub # chmod 600 /home/admin/.ssh/id_rsa
추가 리소스
- Red Hat Ceph Storage 릴리스는 무엇입니까?
- FileStore에서 BlueStore로 변환하는 방법에 대한 자세한 내용은 BlueStore 를 참조하십시오.
1.4. 호스트 OS 업그레이드 전에 파일 백업
호스트 OS를 업그레이드하는 경우에만 이 섹션의 절차를 수행합니다. 호스트 OS를 업그레이드하지 않는 경우 이 섹션을 건너뜁니다.
업그레이드 절차를 수행하려면 플레이북을 실행할 때 ceph.conf
파일이 재정의되므로 인증 파일 및 구성에 대한 yml
파일을 포함하여 스토리지 클러스터에 맞게 사용자 지정한 파일의 백업 사본을 만들어야 합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 4 클러스터.
- 유효한 고객 서브스크립션.
- Ansible 관리 노드에 대한 루트 수준 액세스.
- Ansible 애플리케이션에서 사용할 Ansible 사용자 계정입니다.
- Red Hat Ceph Storage Tools 및 Ansible 리포지토리가 활성화되어 있습니다.
절차
-
/etc/ceph
및/var/lib/ceph
폴더의 백업 사본을 만듭니다. -
ceph.client.admin.keyring
파일의 백업 사본을 만듭니다. -
각 노드에서
ceph.conf
파일의 백업 사본을 만듭니다. -
각 노드에서
/etc/ganesha/
폴더의 백업 사본을 만듭니다. -
스토리지 클러스터에 RBD 미러링이 정의된 경우
/etc/ceph
폴더 및group_vars/rbdmirrors.yml
파일의 백업 사본을 만듭니다.
1.5. 컨테이너화된 배포로 변환
이 절차는 컨테이너화되지 않은 클러스터에 필요합니다. 스토리지 클러스터가 컨테이너화되지 않은 클러스터인 경우 이 절차에서는 클러스터를 컨테이너화된 버전으로 변환합니다.
Red Hat Ceph Storage 5는 컨테이너 기반 배포만 지원합니다. RHCS 5.x로 업그레이드하기 전에 클러스터를 컨테이너화해야 합니다.
Red Hat Ceph Storage 4 스토리지 클러스터가 이미 컨테이너화된 경우 이 섹션을 건너뛰십시오.
이 절차는 데몬을 중지하고 다시 시작합니다. 이 절차 중에 플레이북이 실행을 중지하면 재시작하기 전에 클러스터의 상태를 분석해야 합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage가 아닌 4개의 클러스터.
- 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
- 유효한 고객 서브스크립션.
- Ansible 관리 노드에 대한 루트 수준 액세스.
- Ansible 애플리케이션에서 사용할 Ansible 사용자 계정입니다.
절차
-
다중 사이트 설정을 실행하는 경우
all.yml
에서rgw_multisite: false
를 설정합니다. group_vars/all.yml
에 구성 매개변수에 대한 다음과 같은 기본값이 있는지 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph_docker_image_tag: "latest" ceph_docker_registry: "registry.redhat.io" ceph_docker_image: rhceph/rhceph-4-rhel8 containerized_deployment: true
ceph_docker_image_tag: "latest" ceph_docker_registry: "registry.redhat.io" ceph_docker_image: rhceph/rhceph-4-rhel8 containerized_deployment: true
참고이러한 값은 로컬 레지스트리와 사용자 정의 이미지 이름을 사용하는 경우 다릅니다.
선택사항: 베어 메탈 스토리지 클러스터에서 명령줄 인터페이스를 사용하여 구성된 양방향 RBD 미러링의 경우 클러스터는 RBD 미러링을 마이그레이션하지 않습니다. 이러한 구성의 경우 컨테이너화되지 않은 스토리지 클러스터를 컨테이너화된 배포로 마이그레이션하기 전에 다음 단계를 따르십시오.
Ceph 클라이언트 노드에서 사용자를 생성합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph auth get client.PRIMARY_CLUSTER_NAME -o /etc/ceph/ceph.PRIMARY_CLUSTER_NAME.keyring
ceph auth get client.PRIMARY_CLUSTER_NAME -o /etc/ceph/ceph.PRIMARY_CLUSTER_NAME.keyring
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph auth get client.rbd-mirror.site-a -o /etc/ceph/ceph.client.rbd-mirror.site-a.keyring
[root@rbd-client-site-a ~]# ceph auth get client.rbd-mirror.site-a -o /etc/ceph/ceph.client.rbd-mirror.site-a.keyring
/etc/ceph
디렉토리의auth
파일의 사용자 이름을 변경합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [client.rbd-mirror.rbd-client-site-a] key = AQCbKbVg+E7POBAA7COSZCodvOrg2LWIFc9+3g== caps mds = "allow *" caps mgr = "allow *" caps mon = "allow *" caps osd = "allow *"
[client.rbd-mirror.rbd-client-site-a] key = AQCbKbVg+E7POBAA7COSZCodvOrg2LWIFc9+3g== caps mds = "allow *" caps mgr = "allow *" caps mon = "allow *" caps osd = "allow *"
인증
파일을 가져와 관련 권한을 추가합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph auth import -i PATH_TO_KEYRING
ceph auth import -i PATH_TO_KEYRING
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph auth import -i /etc/ceph/ceph.client.rbd-mirror.rbd-client-site-a.keyring
[root@rbd-client-site-a ~]# ceph auth import -i /etc/ceph/ceph.client.rbd-mirror.rbd-client-site-a.keyring
RBD 미러 노드의 서비스 이름을 확인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl list-units --all
[root@rbd-client-site-a ~]# systemctl list-units --all systemctl stop ceph-rbd-mirror@rbd-client-site-a.service systemctl disable ceph-rbd-mirror@rbd-client-site-a.service systemctl reset-failed ceph-rbd-mirror@rbd-client-site-a.service systemctl start ceph-rbd-mirror@rbd-mirror.rbd-client-site-a.service systemctl enable ceph-rbd-mirror@rbd-mirror.rbd-client-site-a.service systemctl status ceph-rbd-mirror@rbd-mirror.rbd-client-site-a.service
rbd-mirror 노드를
/etc/ansible/hosts
파일에 추가합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [rbdmirrors] ceph.client.rbd-mirror.rbd-client-site-a
[rbdmirrors] ceph.client.rbd-mirror.rbd-client-site-a
컨테이너화된 데몬을 사용하는 경우 컨테이너화된 형식으로 변환합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook -vvvv -i INVENTORY_FILE infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml
ansible-playbook -vvvv -i INVENTORY_FILE infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml
-vvv
옵션은 변환 프로세스의 자세한 로그를 수집합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook -vvvv -i hosts infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml
[ceph-admin@admin ceph-ansible]$ ansible-playbook -vvvv -i hosts infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml
플레이북이 성공적으로 완료되면
all.yml
파일에서rgw_multisite: true
값을 편집하고containerized_deployment
값이true
인지 확인합니다.참고관리 노드에서
ceph-iscsi
,libtcmu
,tcmu-runner
패키지를 제거해야 합니다.
1.6. 호스트 운영 체제 업데이트
Red Hat Ceph Storage 5는 Red Hat Enterprise Linux 8.4 EUS, 8.5, 8.6, 9.0 및 9.1에서 지원됩니다.
이 절차를 통해 스토리지 클러스터의 노드에 Red Hat Ceph Storage 5 및 Red Hat Enterprise Linux 8을 설치할 수 있습니다. 스토리지 클러스터에서 Red Hat Enterprise Linux 8을 이미 실행 중인 경우 다음 절차를 건너뜁니다.
Red Hat Enterprise Linux 및 Red Hat Ceph Storage의 최신 버전을 실행하려면 클러스터의 모든 노드를 수동으로 업그레이드해야 합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 4 스토리지 클러스터.
- 스토리지 클러스터의 모든 노드에 대한 sudo 수준 액세스.
- 유효한 고객 서브스크립션.
- Ansible 관리 노드에 대한 루트 수준 액세스.
- Ansible 애플리케이션에서 사용할 Ansible 사용자 계정입니다.
- Red Hat Ceph Storage 툴 및 Ansible 리포지토리가 활성화되어 있습니다.
절차
docker-to-podman
플레이북을 사용하여 docker를 podman으로 변환합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook -vvvv -i hosts infrastructure-playbooks/
[ceph-admin@admin ceph-ansible]$ ansible-playbook -vvvv -i hosts infrastructure-playbooks/ docker-to-podman.yml
추가 리소스
1.6.1. Ceph Monitor 노드 및 해당 운영 체제 수동 업그레이드
시스템 관리자는 Red Hat Ceph Storage 클러스터 노드와 Red Hat Enterprise Linux 운영 체제를 새로운 주요 릴리스로 수동으로 Ceph Monitor 소프트웨어를 업그레이드할 수 있습니다.
한 번에 하나의 모니터 노드에서만 절차를 수행합니다. 클러스터 액세스 문제를 방지하려면 다음 노드로 진행하기 전에 현재 업그레이드된 모니터 노드가 정상 작업으로 반환되었는지 확인합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드는 Red Hat Enterprise Linux 7.9를 실행하고 있습니다.
- 노드는 Red Hat Ceph Storage 버전 4.3 이상을 사용합니다.
- 설치 소스에 대한 액세스는 Red Hat Enterprise Linux 8.4 EUS 이상에서 사용할 수 있습니다.
Red Hat Enterprise Linux 7.9의 Red Hat Ceph Storage 4.3에서 Red Hat Enterprise Linux 9의 Red Hat Ceph Storage 5로 업그레이드하는 경우 먼저 Red Hat Enterprise Linux 7.9에서 Red Hat Enterprise Linux 8.x로 호스트 OS를 업그레이드한 다음 Red Hat Ceph Storage를 업그레이드한 다음 Red Hat Enterprise Linux 9.x로 업그레이드합니다.
절차
모니터 서비스를 중지합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl stop ceph-mon@MONITOR_ID
systemctl stop ceph-mon@MONITOR_ID
MONITOR_ID 를 모니터 노드의 ID 번호로 바꿉니다.
Red Hat Ceph Storage 4를 사용하는 경우 Red Hat Ceph Storage 4 리포지토리를 비활성화합니다.
tools 리포지토리를 비활성화합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
# subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
mon 저장소를 비활성화합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --disable=rhel-7-server-rhceph-4-mon-rpms
# subscription-manager repos --disable=rhel-7-server-rhceph-4-mon-rpms
leapp
유틸리티를 사용하여 스토리지 클러스터를 업그레이드하면 많은 Ceph 패키지가 제거됩니다. 업그레이드하기 전에 Ceph 패키지를 기록해 두십시오.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow rpm -qa | grep ceph
[root@host01 ~]# rpm -qa | grep ceph python-ceph-argparse-14.2.22-128.el7cp.x86_64 ceph-selinux-14.2.22-128.el7cp.x86_64 python-cephfs-14.2.22-128.el7cp.x86_64 ceph-base-14.2.22-128.el7cp.x86_64 ceph-mon-14.2.22-128.el7cp.x86_64 ceph-mgr-diskprediction-local-14.2.22-128.el7cp.noarch ceph-ansible-4.0.70.18-1.el7cp.noarch libcephfs2-14.2.22-128.el7cp.x86_64 ceph-common-14.2.22-128.el7cp.x86_64 ceph-osd-14.2.22-128.el7cp.x86_64 ceph-mgr-14.2.22-128.el7cp.x86_64
st
app
유틸리티를 설치합니다.- Red Hat Enterprise Linux 8의 경우 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로 업그레이드를 참조하십시오.
- Red Hat Enterprise Linux 9의 경우 Red Hat Enterprise Linux 8에서 Red Hat Enterprise Linux 9로 업그레이드를 참조하십시오.
-
stapp preupgrade 검사를 통해 실행합니다.
명령줄의 Assessing upgradability를 참조하십시오.
Red Hat Enterprise Linux 8.6으로 업그레이드한 후 Ceph-Ansible 패키지를 설치하고 Ansible 플레이북을 실행합니다.
모든 Ceph 패키지를 설치하는 Ceph-Ansible을 설치합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dnf install ceph-ansible
[root@admin ~]# dnf install ceph-ansible
ansible
사용자로 업그레이드된 모든 노드에서 Ansible 플레이북을 실행합니다.베어 메탈 배포:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook -vvvv -i INVENTORY site.yml --limit osds|rgws|clients|mdss|nfss|iscsigw -i hosts
[user@admin ceph-ansible]$ ansible-playbook -vvvv -i INVENTORY site.yml --limit osds|rgws|clients|mdss|nfss|iscsigw -i hosts
컨테이너 배포:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook -vvvv -i INVENTORY site-container.yml --limit osds|rgws|clients|mdss|nfss|iscsigw -i hosts
[ansible@admin ceph-ansible]$ ansible-playbook -vvvv -i INVENTORY site-container.yml --limit osds|rgws|clients|mdss|nfss|iscsigw -i hosts
Red Hat Enterprise Linux 9.x로 업그레이드한 후 다른 노드에서
/etc/ceph/'
의 업그레이드된 노드로podman-auth.json
파일을 복사한 다음 각 서비스를 다시 시작합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl restart _SERVICE NAME_
# systemctl restart _SERVICE NAME_
-
/etc/ssh/sshd_config
에서PermitRootLogin yes
를 설정합니다. OpenSSH SSH 데몬을 다시 시작합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl restart sshd.service
# systemctl restart sshd.service
Linux 커널에서 iSCSI 모듈을 제거합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow modprobe -r iscsi
# modprobe -r iscsi
- 노드를 재부팅합니다.
Red Hat Ceph Storage 5용 리포지토리를 활성화합니다.
툴 리포지토리를 활성화합니다.
Red Hat Enterprise Linux 8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms
Red Hat Enterprise Linux 9
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
-
아직 업그레이드되지 않았거나 이미 이러한 파일이 복원된 노드에서
ceph-client-admin.keyring
및ceph.conf
파일을 복원하십시오. Ceph Monitor 서비스를 다시 시작합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl restart ceph-mon@host01.service systemctl status ceph-mon@host01.service
[root@host01 ~]# systemctl restart ceph-mon@host01.service [root@host01 ~]# systemctl status ceph-mon@host01.service
모니터 및 관리자 서비스가 백업되었으며 모니터가 쿼럼에 있는지 확인합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph -s
ceph -s
서비스 아래의 mon: 행에서는 노드가 쿼럼이 아닌 쿼럼 에서 로 나열되는 지 확인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph -s
# ceph -s mon: 3 daemons, quorum node0,node1,node2 (age 2h) mgr: node0(active, since 2h), standbys: node1, node2
- 모두 업그레이드될 때까지 모든 모니터 노드에서 위의 단계를 반복합니다.
추가 리소스
- 자세한 내용은 호스트 운영 체제 업데이트를 참조하십시오.
- 자세한 내용은 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8으로 업그레이드를 참조하십시오.
- 자세한 내용은 Red Hat Enterprise Linux 8에서 Red Hat Enterprise Linux 9로 업그레이드를 참조하십시오.
1.6.2. OSD 노드 업그레이드
시스템 관리자는 Red Hat Ceph Storage 클러스터 노드와 Red Hat Enterprise Linux 운영 체제를 새로운 주요 릴리스로 수동으로 업그레이드할 수 있습니다.
Ceph 클러스터의 각 OSD 노드에 대해, 일반적으로 한 번에 하나의 OSD 노드에 대해서만 이 절차를 수행합니다. OSD 노드의 최대 하나의 실패 도메인 가치가 병렬로 수행할 수 있습니다. 예를 들어 요청별 복제가 사용 중인 경우 하나의 전체 랙의 OSD 노드를 병렬로 업그레이드할 수 있습니다. 데이터 액세스 문제를 방지하려면 현재 OSD 노드의 OSD가 정상 작업으로 돌아가고 다음 OSD를 진행하기 전에 모든 클러스터 PG가 active+clean
상태에 있는지 확인합니다.
Red Hat Enterprise Linux 7.9의 Red Hat Ceph Storage 4.3에서 Red Hat Enterprise Linux 9로 업그레이드하는 경우 먼저 호스트 OS를 Red Hat Enterprise Linux 7.9에서 Red Hat Enterprise Linux 8.x로 업그레이드한 다음 Red Hat Ceph Storage를 업그레이드한 다음 Red Hat Enterprise Linux 9.x로 업그레이드하십시오.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드는 Red Hat Enterprise Linux 7.9를 실행하고 있습니다.
- 노드는 Red Hat Ceph Storage 버전 4.3 이상을 사용합니다.
- Red Hat Enterprise Linux 8.4 EUS 이상의 설치 소스에 액세스합니다.
- 파일 저장소 OSD를 BlueStore로 마이그레이션해야 합니다.
절차
-
BlueStore로 마이그레이션되지 않은 FileStore OSD가 있는 경우
filestore-to-bluestore
플레이북을 실행합니다. OSD를 FileStore에서 BlueStore로 변환하는 방법에 대한 자세한 내용은 BlueStore 를 참조하십시오. 마이그레이션 중에 OSD
noout
플래그가 표시되지 않도록 설정합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph osd set noout
ceph osd set noout
클러스터에서 불필요한 로드를 방지하고 노드가 마이그레이션의 경우 데이터 재시프를 방지하려면 OSD
nobackfill
,norecover
,noscrub
,nodeep-scrub
플래그를 설정하여 OSD nobackfill , norebalance
, noscrub 플래그를 설정합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph osd set nobackfill ceph osd set norecover ceph osd set norebalance ceph osd set noscrub ceph osd set nodeep-scrub
ceph osd set nobackfill ceph osd set norecover ceph osd set norebalance ceph osd set noscrub ceph osd set nodeep-scrub
노드의 모든 OSD 프로세스를 정상적으로 종료합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl stop ceph-osd.target
systemctl stop ceph-osd.target
Red Hat Ceph Storage 4를 사용하는 경우 Red Hat Ceph Storage 4 리포지토리를 비활성화합니다.
tools 리포지토리를 비활성화합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
osd 저장소를 비활성화합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --disable=rhel-7-server-rhceph-4-osd-rpms
subscription-manager repos --disable=rhel-7-server-rhceph-4-osd-rpms
-
st
app
유틸리티를 설치합니다. Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로 업그레이드를 참조하십시오. -
stapp preupgrade 검사를 통해 실행합니다.
명령줄의 Assessing upgradability를 참조하십시오.
-
/etc/ssh/sshd_config
에서PermitRootLogin yes
를 설정합니다. OpenSSH SSH 데몬을 다시 시작합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl restart sshd.service
systemctl restart sshd.service
Linux 커널에서 iSCSI 모듈을 제거합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow modprobe -r iscsi
modprobe -r iscsi
Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로의 업그레이드를 수행하고 Red Hat Enterprise Linux 8 에서 Red Hat Enterprise Linux 9로의 업그레이드를 수행하여 업그레이드 수행
툴 리포지토리를 활성화합니다.
Red Hat Enterprise Linux 8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms
Red Hat Enterprise Linux 9
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
-
ceph.conf
파일을 복원합니다. noout
,nobackfill
,norecover
,norebalance
,noscrub
및nodeep-scrub
플래그를 설정 해제합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph osd unset noout ceph osd unset nobackfill ceph osd unset norecover ceph osd unset norebalance ceph osd unset noscrub ceph osd unset nodeep-scrub
ceph osd unset noout ceph osd unset nobackfill ceph osd unset norecover ceph osd unset norebalance ceph osd unset noscrub ceph osd unset nodeep-scrub
OSD가
up
및 인지,active+clean
상태인지 확인합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph -s
ceph -s
osd: 아래의 행에서 :, 모든 OSD가 실행
중인지
확인합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph -s
# ceph -s osd: 3 osds: 3 up (since 8s), 3 in (since 3M)
- 모두 업그레이드될 때까지 모든 OSD 노드에서 이 절차를 반복합니다.
추가 리소스
- OSD를 FileStore에서 BlueStore 로 변환하는 방법에 대한 자세한 내용은 BlueStore를 참조하십시오.
-
power
p 유틸리티에 대한
자세한 내용은 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로 업그레이드를 참조하십시오. - docker를 podman으로 변환하는 방법에 대한 자세한 내용은 호스트 운영 체제 업데이트를 참조하십시오.
1.6.3. Ceph Object Gateway 노드 업그레이드
시스템 관리자는 Red Hat Ceph Storage 클러스터 노드와 Red Hat Enterprise Linux 운영 체제를 새로운 주요 릴리스로 수동으로 업그레이드할 수 있습니다.
Ceph 클러스터의 각 RGW 노드에 대해 한 번에 하나의 RGW 노드에 대해서만 이 절차를 수행합니다. 클라이언트 액세스 문제를 방지하려면 다음 노드를 업그레이드하기 전에 현재 업그레이드된 RGW를 정상적인 작업으로 반환했는지 확인합니다.
업그레이드한 후 radosgw-admin
툴과 Ceph Object Gateway 스토리지 클러스터의 버전이 동일한지 확인합니다. 스토리지 클러스터가 업그레이드되면 동시에 radosgw-admin
툴을 업그레이드하는 것이 매우 중요합니다. 일치하지 않는 버전의 사용은 지원되지 않습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드는 Red Hat Enterprise Linux 7.9를 실행하고 있습니다.
- 노드는 Red Hat Ceph Storage 버전 4.3 이상을 사용합니다.
- Red Hat Enterprise Linux 8.4 EUS, 8.5, 8.6, 9.0 및 9.1의 설치 소스에 액세스할 수 있습니다.
절차
Ceph Object Gateway 서비스를 중지합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl stop ceph-radosgw.target
# systemctl stop ceph-radosgw.target
Red Hat Ceph Storage 4 툴 리포지토리를 비활성화합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
# subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
st
app
유틸리티를 설치합니다.- Red Hat Enterprise Linux 8의 경우 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로 업그레이드를 참조하십시오.
- Red Hat Enterprise Linux 9의 경우 Red Hat Enterprise Linux 8에서 Red Hat Enterprise Linux 9로 업그레이드를 참조하십시오.
stapp preupgrade 검사를 통해 다음을 실행합니다.
- Red Hat Enterprise Linux 8의 경우 명령줄에서 upgradability를 참조하십시오.
- Red Hat Enterprise Linux 9의 경우 명령줄에서 upgradability를 참조하십시오.
-
/etc/ssh/sshd_config
에서PermitRootLogin yes
를 설정합니다. 버킷이 생성되거나
num_shards = 0
인 경우 Red Hat Ceph Storage 5.3으로 업그레이드하기 전에 버킷을 수동으로 다시 정렬합니다.주의bucket_index_max_shards
가0
인 경우 이전 릴리스에서 Red Hat Ceph Storage 5.3으로 업그레이드하면 Ceph Object Gateway 버킷의 메타데이터가 손실되어 버킷에 액세스하지 못할 수 있습니다. 따라서bucket_index_max_shards
가11
shard로 설정되어 있는지 확인합니다. 그렇지 않은 경우 영역 그룹 수준에서 이 구성을 수정합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAME
radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAME
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# radosgw-admin bucket reshard --num-shards 11 --bucket mybucket
[ceph: root@host01 /]# radosgw-admin bucket reshard --num-shards 11 --bucket mybucket
OpenSSH SSH 데몬을 다시 시작합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl restart sshd.service
# systemctl restart sshd.service
Linux 커널에서 iSCSI 모듈을 제거합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow modprobe -r iscsi
# modprobe -r iscsi
- Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로의 업그레이드 수행에 따라 업그레이드를 수행합니다.
툴 리포지토리를 활성화합니다.
Red Hat Enterprise Linux 8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms
Red Hat Enterprise Linux 9
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
-
ceph-client-admin.keyring
및ceph.conf
파일을 복원합니다. 데몬이 활성 상태인지 확인합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph -s
ceph -s
services 에서 rgw: 행을 확인합니다. RGW 데몬이 활성 상태인지 확인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow rgw: 1 daemon active (node4.rgw0)
rgw: 1 daemon active (node4.rgw0)
- 모두 업그레이드될 때까지 모든 Ceph Object Gateway 노드에서 위의 단계를 반복합니다.
추가 리소스
-
power
p 유틸리티에 대한 자세한 내용은 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8 로
업그레이드를 참조하십시오. -
power
p 유틸리티에 대한 자세한 내용은 Red Hat Enterprise Linux 8에서 Red Hat Enterprise Linux 9 로
업그레이드를 참조하십시오.
1.6.4. CephFS 메타데이터 서버 노드 업그레이드
스토리지 관리자는 Red Hat Ceph Storage 클러스터와 Red Hat Enterprise Linux 운영 체제를 새로운 주요 릴리스로 수동으로 Ceph File System (CephFS) 메타데이터 서버(MDS) 소프트웨어를 업그레이드할 수 있습니다.
스토리지 클러스터를 업그레이드하기 전에 활성 MDS 순위 수를 파일 시스템별로 하나씩 줄입니다. 이렇게 하면 여러 MDS 간에 가능한 모든 버전 충돌이 발생하지 않습니다. 또한 업그레이드하기 전에 모든 edge 노드가 오프라인 상태로 전환하십시오.
MDS 클러스터에는 버전 관리 또는 파일 시스템 플래그가 내장되어 있지 않기 때문입니다. 이러한 기능을 사용하지 않으면 여러 MDS가 다른 버전의 MDS 소프트웨어를 사용하여 통신할 수 있으며 어설션 또는 기타 오류가 발생할 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드는 Red Hat Enterprise Linux 7.9를 실행하고 있습니다.
- 노드는 Red Hat Ceph Storage 버전 4.3 이상을 사용합니다.
- Red Hat Enterprise Linux 8.4 EUS, 8.5, 8.6, 9.0 및 9.1의 설치 소스에 액세스할 수 있습니다.
- 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
절차
활성 MDS 순위 수를 1로 줄입니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph fs set FILE_SYSTEM_NAME max_mds 1
ceph fs set FILE_SYSTEM_NAME max_mds 1
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph fs set fs1 max_mds 1
[root@mds ~]# ceph fs set fs1 max_mds 1
클러스터가 모든 MDS 순위를 중지할 때까지 기다립니다. 모든 MDS가 중지되면 순위 0만 활성화되어야 합니다. 나머지는 Wait 모드여야 합니다. 파일 시스템의 상태를 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph status
[root@mds ~]# ceph status
systemctl
을 사용하여 모든 MDS를 오프라인으로 전환합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl stop ceph-mds.target
[root@mds ~]# systemctl stop ceph-mds.target
하나의 MDS만 온라인 상태인지 확인하고 파일 시스템의 순위 0이 있는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph status
[ceph: root@host01 /]# ceph status
Red Hat Ceph Storage 4 툴 리포지토리를 비활성화합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
[root@mds ~]# subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
st
app
유틸리티를 설치합니다.- Red Hat Enterprise Linux 8의 경우 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로 업그레이드를 참조하십시오.
- Red Hat Enterprise Linux 9의 경우 Red Hat Enterprise Linux 8에서 Red Hat Enterprise Linux 9로 업그레이드를 참조하십시오.
stapp preupgrade 검사를 통해 다음을 실행합니다.
- Red Hat Enterprise Linux 8의 경우 명령줄에서 upgradability를 참조하십시오.
- Red Hat Enterprise Linux 9의 경우 명령줄에서 upgradability를 참조하십시오.
-
/etc/ssh/sshd_config
를 편집하고PermitRootLogin
을yes
로 설정합니다. OpenSSH SSH 데몬을 다시 시작합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl restart sshd.service
[root@mds ~]# systemctl restart sshd.service
Linux 커널에서 iSCSI 모듈을 제거합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow modprobe -r iscsi
[root@mds ~]# modprobe -r iscsi
업그레이드를 수행합니다.
- Red Hat Enterprise Linux 8 의 경우 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로의 업그레이드 수행을 참조하십시오.
- Red Hat Enterprise Linux 9 의 경우 Red Hat Enterprise Linux 8에서 Red Hat Enterprise Linux 9로의 업그레이드를 참조하십시오.
툴 리포지토리를 활성화합니다.
Red Hat Enterprise Linux 8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms
Red Hat Enterprise Linux 9
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
-
ceph-client-admin.keyring
및ceph.conf
파일을 복원합니다. 데몬이 활성 상태인지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph -s
[root@mds ~]# ceph -s
- 대기 데몬에 대해 동일한 프로세스를 따릅니다.
Wait에서 모든 MDS를 다시 시작한 후 클러스터의
max_mds
값을 복원하십시오.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph fs set FILE_SYSTEM_NAME max_mds ORIGINAL_VALUE
ceph fs set FILE_SYSTEM_NAME max_mds ORIGINAL_VALUE
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph fs set fs1 max_mds 5
[root@mds ~]# ceph fs set fs1 max_mds 5
추가 리소스
-
power
p 유틸리티에 대한 자세한 내용은 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8 로
업그레이드를 참조하십시오.
1.6.5. Ceph 대시보드 노드 및 운영 체제를 수동으로 업그레이드
시스템 관리자는 Red Hat Ceph Storage 클러스터 노드와 Red Hat Enterprise Linux 운영 체제를 새로운 주요 릴리스로 수동으로 업그레이드할 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드는 Red Hat Enterprise Linux 7.9를 실행하고 있습니다.
- 노드는 Red Hat Ceph Storage 버전 4.3 이상을 실행하고 있습니다.
- Red Hat Enterprise Linux 8.4 EUS, 8.5, 8.6, 9.0 또는 9.1의 설치 소스에서 액세스할 수 있습니다.
절차
Red Hat Ceph Storage 4 툴 리포지토리를 비활성화합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
# subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
st
app
유틸리티를 설치합니다.- Red Hat Enterprise Linux 8의 경우 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로 업그레이드를 참조하십시오.
- Red Hat Enterprise Linux 9의 경우 Red Hat Enterprise Linux 8에서 Red Hat Enterprise Linux 9로 업그레이드를 참조하십시오.
stapp preupgrade 검사를 통해 다음을 실행합니다.
- Red Hat Enterprise Linux 8의 경우 명령줄에서 upgradability를 참조하십시오.
- Red Hat Enterprise Linux 9의 경우 명령줄에서 upgradability를 참조하십시오.
-
/etc/ssh/sshd_config
에서PermitRootLogin yes
를 설정합니다. OpenSSH SSH 데몬을 다시 시작합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl restart sshd.service
# systemctl restart sshd.service
Linux 커널에서 iSCSI 모듈을 제거합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow modprobe -r iscsi
# modprobe -r iscsi
업그레이드를 수행합니다.
- Red Hat Enterprise Linux 8 의 경우 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로의 업그레이드 수행을 참조하십시오.
- Red Hat Enterprise Linux 9 의 경우 Red Hat Enterprise Linux 8에서 Red Hat Enterprise Linux 9로의 업그레이드를 참조하십시오.
Red Hat Ceph Storage 5용 툴 리포지토리를 활성화합니다.
Red Hat Enterprise Linux 8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms
Red Hat Enterprise Linux 9
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
추가 리소스
- 자세한 내용은 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8으로 업그레이드를 참조하십시오.
1.6.6. Ceph Ansible 노드 수동 업그레이드 및 설정 재구성
Red Hat Ceph Storage 클러스터 노드 및 Red Hat Enterprise Linux 운영 체제에서 Ceph Ansible 소프트웨어를 새 주요 릴리스로 수동으로 업그레이드합니다.
Ceph Ansible 노드에서 호스트 OS를 업그레이드하기 전에 group_vars
및 hosts
파일을 백업하십시오. Ceph Ansible 노드를 재구성하기 전에 생성된 백업을 사용합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드는 Red Hat Enterprise Linux 7.9를 실행하고 있습니다.
- 노드는 Red Hat Ceph Storage 버전 4.2z2 이상을 실행하고 있습니다.
- Red Hat Enterprise Linux 8.4 EUS 또는 Red Hat Enterprise Linux 8.5의 설치 소스에서 액세스할 수 있습니다.
절차
Red Hat Enterprise Linux 8용 Red Hat Ceph Storage 4용 툴 리포지토리를 비활성화합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --disable=rhceph-4-tools-for-rhel-8-x86_64-rpms subscription-manager repos --disable=ansible-2.9-for-rhel-8-x86_64-rpms
[root@ansible ~]# subscription-manager repos --disable=rhceph-4-tools-for-rhel-8-x86_64-rpms [root@ansible ~]# subscription-manager repos --disable=ansible-2.9-for-rhel-8-x86_64-rpms
st
app
유틸리티를 설치합니다.- Red Hat Enterprise Linux 8의 경우 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로 업그레이드를 참조하십시오.
- Red Hat Enterprise Linux 9의 경우 Red Hat Enterprise Linux 8에서 Red Hat Enterprise Linux 9로 업그레이드를 참조하십시오.
stapp preupgrade 검사를 통해 다음을 실행합니다.
- Red Hat Enterprise Linux 8의 경우 명령줄에서 upgradability를 참조하십시오.
- Red Hat Enterprise Linux 9의 경우 명령줄에서 upgradability를 참조하십시오.
-
/etc/ssh/sshd_config
를 편집하고PermitRootLogin
을yes
로 설정합니다. OpenSSH SSH 데몬을 다시 시작합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl restart sshd.service
[root@mds ~]# systemctl restart sshd.service
Linux 커널에서 iSCSI 모듈을 제거합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow modprobe -r iscsi
[root@mds ~]# modprobe -r iscsi
업그레이드를 수행합니다.
- Red Hat Enterprise Linux 8의 경우 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로 업그레이드를 참조하십시오.
- Red Hat Enterprise Linux 9의 경우 Red Hat Enterprise Linux 8에서 Red Hat Enterprise Linux 9로 업그레이드를 참조하십시오.
Red Hat Ceph Storage 5용 툴 리포지토리를 활성화합니다.
Red Hat Enterprise Linux 8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms
Red Hat Enterprise Linux 9
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
-
ceph-client-admin.keyring
및ceph.conf
파일을 복원합니다.
추가 리소스
- 자세한 내용은 호스트 운영 체제 업데이트를 참조하십시오.
- 자세한 내용은 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8으로 업그레이드를 참조하십시오.
1.7. 백업 파일 복원
스토리지 클러스터의 각 노드에서 호스트 OS 업그레이드를 완료한 후 이전에 백업한 모든 파일을 각 노드로 복원하여 업그레이드된 노드가 보존된 설정을 사용하도록 합니다.
해당 호스트의 OS 업그레이드 프로세스가 완료된 후 스토리지 클러스터의 각 호스트에서 이 프로세스를 반복합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
절차
- 호스트 OS를 호스트로 업그레이드하기 전에 백업한 파일을 복원합니다.
-
/etc/ceph
폴더 및 해당 콘텐츠를ceph.client.admin.keyring
및ceph.conf
파일을 포함한 모든 호스트에 복원합니다. -
/etc/ganesha/
폴더를 각 노드에 복원합니다. 운영 체제를 업그레이드한 후 각 백업 파일의 소유권이 변경되지 않았는지 확인합니다. 파일 소유자는
ceph
여야 합니다. 파일 소유자가root
로 변경된 경우 각 파일에서 다음 명령을 사용하여 소유권을ceph
로 다시 변경합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow chown ceph: ceph.client.rbd-mirror.node1.keyring
[root@admin]# chown ceph: ceph.client.rbd-mirror.node1.keyring
-
Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로 업그레이드했는데 스토리지 클러스터에 RBD 미러링이 정의되어 있는 경우 백업 사본에서
/etc/ceph
폴더를 복원하십시오. -
이전에 백업한
group_vars/rbdmirrors.yml
파일을 복원합니다. 모든 노드에서 폴더 소유권을 변경합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow chown -R /etc/ceph chown -R /var/log/ceph chown -R /var/lib/ceph
[root@admin]# chown -R /etc/ceph [root@admin]# chown -R /var/log/ceph [root@admin]# chown -R /var/lib/ceph
1.8. RHCS 업그레이드 전에 파일 백업
rolling_update.yml
플레이북을 실행하여 Red Hat Ceph Storage 4를 Red Hat Ceph Storage 5로 업그레이드하기 전에 모든 yml
파일의 백업 사본을 만듭니다.
사전 요구 사항
- RHCS 4.3 이상을 실행하는 Red Hat Ceph Storage 4 클러스터.
- 유효한 고객 서브스크립션.
- Ansible 관리 노드에 대한 루트 수준 액세스.
- Ansible 애플리케이션에서 사용할 Ansible 사용자 계정입니다.
- Red Hat Ceph Storage 툴 및 Ansible 리포지토리가 활성화되어 있습니다.
절차
모든
yml
파일의 백업 사본을 만듭니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cp group_vars/all.yml group_vars/all_old.yml cp group_vars/osds.yml group_vars/osds_old.yml cp group_vars/mdss.yml group_vars/mdss_old.yml cp group_vars/rgws.yml group_vars/rgws_old.yml cp group_vars/clients.yml group_vars/clients_old.yml
[root@admin ceph-ansible]# cp group_vars/all.yml group_vars/all_old.yml [root@admin ceph-ansible]# cp group_vars/osds.yml group_vars/osds_old.yml [root@admin ceph-ansible]# cp group_vars/mdss.yml group_vars/mdss_old.yml [root@admin ceph-ansible]# cp group_vars/rgws.yml group_vars/rgws_old.yml [root@admin ceph-ansible]# cp group_vars/clients.yml group_vars/clients_old.yml
1.9. 업그레이드 프로세스
스토리지 관리자는 Ansible 플레이북을 사용하여 Red Hat Ceph Storage 4 스토리지 클러스터를 Red Hat Ceph Storage 5로 업그레이드합니다. rolling_update.yml
Ansible Playbook은 Red Hat Ceph Storage 배포를 위해 업그레이드를 수행합니다. ceph-ansible
은 Ceph 노드를 다음 순서로 업그레이드합니다.
- Ceph Monitor
- Ceph Manager
- Ceph OSD 노드
- MDS 노드
- Ceph Object Gateway(RGW) 노드
- Ceph RBD-mirror 노드
- Ceph NFS 노드
- Ceph iSCSI 게이트웨이 노드
- Ceph 클라이언트 노드
- Ceph-crash 데몬
- 모든 노드의 node-exporter
- Ceph 대시보드
스토리지 클러스터를 Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 5로 업그레이드한 후 Grafana UI에 두 개의 대시보드가 표시됩니다. 이는 Red Hat Ceph Storage 4의 Prometheus 포트는 9092이고 Red Hat Ceph Storage 5의 경우 9095이기 때문입니다. grafana를 제거할 수 있습니다. cephadm
은 서비스와 데몬을 재배포하고 Grafana UI에서 이전 대시보드를 제거합니다.
Red Hat Ceph Storage 5는 컨테이너화된 배포만 지원합니다.
현재 Red Hat Ceph Storage 5에서는 Ceph -ansible
이 지원되지 않습니다. 즉, 스토리지 클러스터를 Red Hat Ceph Storage 5로 마이그레이션했으면 cephadm
을 사용하여 후속 업데이트를 수행해야 합니다.
단일 영역과 여러 영역을 사용하여 다중 사이트 Ceph Object Gateway를 배포하려면 all.yml
파일을 편집합니다. 자세한 내용은 Red Hat Ceph Storage 4 설치 가이드의 다중 사이트 Ceph Object Gateway 구성 을 참조하십시오.
Red Hat Ceph Storage 5에는 스토리지 클러스터의 데몬이 여러 버전의 Red Hat Ceph Storage를 실행하는 경우 DAE jenkinsfile_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 mute DAEMON_OLD_VERSION --sticky
업그레이드가 완료되면 상태 경고를 음소거합니다.
ceph health unmute DAEMON_OLD_VERSION
ceph health unmute DAEMON_OLD_VERSION
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 스토리지 클러스터의 모든 호스트에 대한 루트 수준 액세스.
- 유효한 고객 서브스크립션.
- Ansible 관리 노드에 대한 루트 수준 액세스.
-
Red Hat Ceph Storage 5에서 사용 가능한
최신 Ansible 및 ceph-
anible 버전입니다. -
Ansible 애플리케이션과 함께 사용할
ansible
사용자 계정입니다. - 스토리지 클러스터 노드가 Red Hat Enterprise Linux 8.4 EUS 이상으로 업그레이드됩니다.
Ansible 인벤토리 파일은 ceph-ansible
디렉터리에 있어야 합니다.
절차
Ansible 관리 노드에서 Ceph 및 Ansible 리포지토리를 활성화합니다.
Red Hat Enterprise Linux 8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms --enable=ansible-2.9-for-rhel-8-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms --enable=ansible-2.9-for-rhel-8-x86_64-rpms
Red Hat Enterprise Linux 9
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
Ansible 관리 노드에서 최신 버전의
ansible
및ceph-ansible
패키지가 설치되어 있는지 확인합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dnf update ansible ceph-ansible
dnf update ansible ceph-ansible
/usr/share/ceph-ansible/
디렉터리로 이동합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cd /usr/share/ceph-ansible
[root@admin ~]# cd /usr/share/ceph-ansible
Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 5로 업그레이드하는 경우
group_vars/osds.yml.sample
및group_vars/clients.sample
파일의 복사본을 각각 만들고 이를group_vars/osds.yml
,group_vars/clients.yml
로 변경합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cp group_vars/osds.yml.sample group_vars/osds.yml cp group_vars/mdss.yml.sample group_vars/mdss.yml cp group_vars/rgws.yml.sample group_vars/rgws.yml cp group_vars/clients.yml.sample group_vars/clients.yml
[root@admin ceph-ansible]# cp group_vars/osds.yml.sample group_vars/osds.yml [root@admin ceph-ansible]# cp group_vars/mdss.yml.sample group_vars/mdss.yml [root@admin ceph-ansible]# cp group_vars/rgws.yml.sample group_vars/rgws.yml [root@admin ceph-ansible]# cp group_vars/clients.yml.sample group_vars/clients.yml
-
Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 5로 업그레이드하는 경우
group_vars/all.yml
파일을 편집하여 Red Hat Ceph Storage 5 세부 정보를 추가합니다. 위의 두 단계를 완료하면 이전
yaml
파일의 설정을 새yaml
파일로 복사합니다. 이러한 구성 매개변수의 값이 Red Hat Ceph Storage 5의 값으로ceph_rhcs_version
,ceph_docker_image
및grafana_container_image
값을 변경하지 마십시오. 이렇게 하면 클러스터와 관련된 모든 설정이 현재yaml
파일에 있습니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow fetch_directory: ~/ceph-ansible-keys monitor_interface: eth0 public_network: 192.168.0.0/24 ceph_docker_registry_auth: true ceph_docker_registry_username: SERVICE_ACCOUNT_USER_NAME ceph_docker_registry_password: TOKEN dashboard_admin_user: DASHBOARD_ADMIN_USERNAME dashboard_admin_password: DASHBOARD_ADMIN_PASSWORD grafana_admin_user: GRAFANA_ADMIN_USER grafana_admin_password: GRAFANA_ADMIN_PASSWORD radosgw_interface: eth0 ceph_docker_image: "rhceph/rhceph-5-rhel8" ceph_docker_image_tag: "latest" ceph_docker_registry: "registry.redhat.io" node_exporter_container_image: registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.6 grafana_container_image: registry.redhat.io/rhceph/rhceph-5-dashboard-rhel8:5 prometheus_container_image: registry.redhat.io/openshift4/ose-prometheus:v4.6 alertmanager_container_image: registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.6
fetch_directory: ~/ceph-ansible-keys monitor_interface: eth0 public_network: 192.168.0.0/24 ceph_docker_registry_auth: true ceph_docker_registry_username: SERVICE_ACCOUNT_USER_NAME ceph_docker_registry_password: TOKEN dashboard_admin_user: DASHBOARD_ADMIN_USERNAME dashboard_admin_password: DASHBOARD_ADMIN_PASSWORD grafana_admin_user: GRAFANA_ADMIN_USER grafana_admin_password: GRAFANA_ADMIN_PASSWORD radosgw_interface: eth0 ceph_docker_image: "rhceph/rhceph-5-rhel8" ceph_docker_image_tag: "latest" ceph_docker_registry: "registry.redhat.io" node_exporter_container_image: registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.6 grafana_container_image: registry.redhat.io/rhceph/rhceph-5-dashboard-rhel8:5 prometheus_container_image: registry.redhat.io/openshift4/ose-prometheus:v4.6 alertmanager_container_image: registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.6
참고Red Hat Ceph Storage 5 컨테이너 이미지가 기본값으로 설정되어 있는지 확인합니다.
group_vars/osds.yml
파일을 편집합니다. 다음 옵션을 추가하고 설정합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow nb_retry_wait_osd_up: 50 delay_wait_osd_up: 30
nb_retry_wait_osd_up: 50 delay_wait_osd_up: 30
group_vars/all.yml
파일을 열고 이전all.yml
파일에서 다음 값이 있는지 확인합니다.fetch_directory
옵션은 이전all.yml
파일과 동일한 값으로 설정됩니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow fetch_directory: FULL_DIRECTORY_PATH
fetch_directory: FULL_DIRECTORY_PATH
FULL_DIRECTORY_PATH 를 Ansible 사용자의 홈 디렉터리와 같은 쓰기 가능한 위치로 바꿉니다.
업그레이드하려는 클러스터에 Ceph Object Gateway 노드가 포함된 경우
radosgw_interface
옵션을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow radosgw_interface: INTERFACE
radosgw_interface: INTERFACE
INTERFACE 를 Ceph Object Gateway 노드에서 수신 대기하는 인터페이스로 교체합니다.
현재 설정에 SSL 인증서가 구성된 경우 다음을 편집합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow radosgw_frontend_ssl_certificate: /etc/pki/ca-trust/extracted/CERTIFICATE_NAME radosgw_frontend_port: 443
radosgw_frontend_ssl_certificate: /etc/pki/ca-trust/extracted/CERTIFICATE_NAME radosgw_frontend_port: 443
upgrade_ceph_packages
옵션의 주석을 제거하고True
로 설정합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow upgrade_ceph_packages: True
upgrade_ceph_packages: True
스토리지 클러스터에 노드당 Ceph Object Gateway 인스턴스가 두 개 이상 있는 경우
radosgw_num_instances
설정의 주석 처리를 해제하고 클러스터의 노드당 인스턴스 수로 설정합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow radosgw_num_instances : NUMBER_OF_INSTANCES_PER_NODE
radosgw_num_instances : NUMBER_OF_INSTANCES_PER_NODE
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow radosgw_num_instances : 2
radosgw_num_instances : 2
-
스토리지 클러스터에 Ceph Object Gateway 다중 사이트가 정의되어 있는 경우
all.yml
의 다중 사이트 설정을 확인하여 이전all.yml
파일에서와 동일한 값이 포함되어 있는지 확인합니다.
버킷이 생성되거나
num_shards = 0
인 경우 Red Hat Ceph Storage 5.3으로 업그레이드하기 전에 버킷을 수동으로 다시 정렬합니다.주의bucket_index_max_shards
가0
인 경우 이전 릴리스에서 Red Hat Ceph Storage 5.3으로 업그레이드하면 Ceph Object Gateway 버킷의 메타데이터가 손실되어 버킷에 액세스하지 못할 수 있습니다. 따라서bucket_index_max_shards
가11
shard로 설정되어 있는지 확인합니다. 그렇지 않은 경우 영역 그룹 수준에서 이 구성을 수정합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAME
radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAME
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# radosgw-admin bucket reshard --num-shards 11 --bucket mybucket
[ceph: root@host01 /]# radosgw-admin bucket reshard --num-shards 11 --bucket mybucket
-
Ansible 관리 노드에
ansible-user
로 로그인합니다. --extra-vars
옵션을 사용하여infrastructure-playbooks/rolling_update.yml
플레이북을 업데이트하고health_osd_check_retries
및health_osd_check_delay
값을 각각50
및30
으로 변경합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook -i hosts infrastructure-playbooks/rolling_update.yml --extra-vars "health_osd_check_retries=50 health_osd_check_delay=30"
[root@admin ceph-ansible]# ansible-playbook -i hosts infrastructure-playbooks/rolling_update.yml --extra-vars "health_osd_check_retries=50 health_osd_check_delay=30"
각 OSD 노드에서 이러한 값은
ceph-
anible이 30초(최대 50번)마다 스토리지 클러스터 상태를 확인합니다. 즉ceph-ansible
은 각 OSD에 대해 최대 25분 정도 기다립니다.스토리지 클러스터의 사용된 스토리지 용량에 따라
health_osd_check_retries
옵션 값을 up 또는 down으로 조정합니다. 예를 들어 436TB 중 218TB 또는 스토리지 용량의 50%를 사용하는 경우health_osd_check_retries
옵션을50
으로 설정합니다./etc/ansible/hosts
는 Ansible 인벤토리 파일의 기본 위치입니다.rolling_update.yml
플레이북을 실행하여 스토리지 클러스터를 Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 5로 변환합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i INVENTORY_FILE
ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i INVENTORY_FILE
-vvv 옵션은 업그레이드 프로세스의 자세한 로그를 수집합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i hosts
[ceph-admin@admin ceph-ansible]$ ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i hosts
중요rolling_update.yml
플레이북에--limit
Ansible 옵션을 사용하는 것은 지원되지 않습니다.- Ansible 플레이북 로그 출력을 검토하여 업그레이드 상태를 확인합니다.
검증
실행 중인 컨테이너를 모두 나열합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman ps
[root@mon ~]# podman ps
클러스터의 상태를 확인합니다. MONITOR_ID 를 이전 단계에서 찾은 Ceph Monitor 컨테이너의 이름으로 교체합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman exec ceph-mon-MONITOR_ID ceph -s
podman exec ceph-mon-MONITOR_ID ceph -s
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman exec ceph-mon-mon01 ceph -s
[root@mon ~]# podman exec ceph-mon-mon01 ceph -s
Ceph 클러스터 데몬 버전을 확인하여 모든 데몬 업그레이드를 확인합니다. MONITOR_ID 를 이전 단계에서 찾은 Ceph Monitor 컨테이너의 이름으로 교체합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman exec ceph-mon-MONITOR_ID ceph --cluster ceph versions
podman exec ceph-mon-MONITOR_ID ceph --cluster ceph versions
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman exec ceph-mon-mon01 ceph --cluster ceph versions
[root@mon ~]# podman exec ceph-mon-mon01 ceph --cluster ceph versions
1.10. 스토리지 클러스터를 cephadm
사용으로 변환
스토리지 클러스터를 Red Hat Ceph Storage 5로 업그레이드한 후 cephadm-adopt
플레이북을 실행하여 스토리지 클러스터 데몬을 변환하여 cephadm
을 실행합니다.
cephadm-adopt
플레이북은 Ceph 서비스를 적용하고, 모든 cephadm
종속성을 설치하고, cephadm
Orchestrator 백엔드를 활성화하고, 모든 호스트에서 ssh
키를 생성 및 구성하고, 호스트를 Orchestrator 구성에 추가합니다.
cephadm-adopt
플레이북을 실행한 후 ceph-ansible
패키지를 삭제합니다. 클러스터 데몬은 더 이상 ceph-ansible
에서 작동하지 않습니다. cephadm
을 사용하여 클러스터 데몬을 관리해야 합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
절차
-
ceph-ansible
노드에 로그인하고 디렉토리를/usr/share/ceph-ansible
로 변경합니다. all.yml
파일을 편집합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph_origin: custom/rhcs ceph_custom_repositories: - name: NAME state: present description: DESCRIPTION gpgcheck: 'no' baseurl: BASE_URL file: FILE_NAME priority: '2' enabled: 1
ceph_origin: custom/rhcs ceph_custom_repositories: - name: NAME state: present description: DESCRIPTION gpgcheck: 'no' baseurl: BASE_URL file: FILE_NAME priority: '2' enabled: 1
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph_origin: custom ceph_custom_repositories: - name: ceph_custom state: present description: Ceph custom repo gpgcheck: 'no' baseurl: https://example.ceph.redhat.com file: cephbuild priority: '2' enabled: 1 - name: ceph_custom_1 state: present description: Ceph custom repo 1 gpgcheck: 'no' baseurl: https://example.ceph.redhat.com file: cephbuild_1 priority: '2' enabled: 1
ceph_origin: custom ceph_custom_repositories: - name: ceph_custom state: present description: Ceph custom repo gpgcheck: 'no' baseurl: https://example.ceph.redhat.com file: cephbuild priority: '2' enabled: 1 - name: ceph_custom_1 state: present description: Ceph custom repo 1 gpgcheck: 'no' baseurl: https://example.ceph.redhat.com file: cephbuild_1 priority: '2' enabled: 1
cephadm-adopt
플레이북을 실행합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook infrastructure-playbooks/cephadm-adopt.yml -i INVENTORY_FILE
ansible-playbook infrastructure-playbooks/cephadm-adopt.yml -i INVENTORY_FILE
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook infrastructure-playbooks/cephadm-adopt.yml -i hosts
[ceph-admin@admin ceph-ansible]$ ansible-playbook infrastructure-playbooks/cephadm-adopt.yml -i hosts
최소 compat 클라이언트 매개변수를
luminous
로 설정합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@node0 /]# ceph osd set-require-min-compat-client luminous
[ceph: root@node0 /]# ceph osd set-require-min-compat-client luminous
다음 명령을 실행하여 NFS-Ganesha 풀에서 애플리케이션을 실행할 수 있습니다. POOL_NAME 은
nfs-ganesha
이고 APPLICATION_NAME 은 사용할 애플리케이션 이름입니다(예:cephfs
,rbd
또는rgw
).구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph osd pool application enable POOL_NAME APPLICATION_NAME
ceph osd pool application enable POOL_NAME APPLICATION_NAME
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@node0 /]# ceph osd pool application enable nfs-ganesha rgw
[ceph: root@node0 /]# ceph osd pool application enable nfs-ganesha rgw
중요cephadm-adopt
플레이북은 Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 5로 스토리지 클러스터를 마이그레이션한 후 rbd-mirroring을 가져오지 않습니다.이 문제를 해결하려면 피어를 수동으로 추가합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow rbd mirror pool peer add POOL_NAME CLIENT_NAME@CLUSTER_NAME
rbd mirror pool peer add POOL_NAME CLIENT_NAME@CLUSTER_NAME
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@node0 /]# rbd --cluster site-a mirror pool peer add image-pool client.rbd-mirror-peer@site-b
[ceph: root@node0 /]# rbd --cluster site-a mirror pool peer add image-pool client.rbd-mirror-peer@site-b
업그레이드 후 Grafana 제거:
Cephadm 쉘에 로그인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm shell
[root@host01 ~]# cephadm shell
스토리지 클러스터에서 Grafana 이름을 가져옵니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph orch ps --daemon_type grafana
[ceph: root@host01 /]# ceph orch ps --daemon_type grafana
Grafana 제거:
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph orch daemon rm GRAFANA_DAEMON_NAME
ceph orch daemon rm GRAFANA_DAEMON_NAME
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph orch daemon rm grafana.host01 Removed grafana.host01 from host 'host01'
[ceph: root@host01 /]# ceph orch daemon rm grafana.host01 Removed grafana.host01 from host 'host01'
몇 분 기다렸다가 최신 로그를 확인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph log last cephadm
[ceph: root@host01 /]# ceph log last cephadm
cephadm
은 Grafana 서비스 및 데몬을 재배포합니다.
추가 리소스
-
Red Hat Enterprise Linux 7을 Red Hat Enterprise Linux 8로 업그레이드하는 방법에 대한 자세한 내용은 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로 업그레이드를 참조하십시오.
-
Red Hat Enterprise Linux 8을 Red Hat Enterprise Linux 9로 업그레이드하는 방법에 대한 자세한 내용은 Red Hat Enterprise Linux 8에서 Red Hat Enterprise Linux 9로 업그레이드를 참조하십시오.
- FileStore에서 BlueStore로 변환하는 방법에 대한 자세한 내용은 BlueStore 를 참조하십시오.
- 스토리지 피어에 대한 자세한 내용은 피어에 대한 정보 보기를 참조하십시오.
1.11. 업그레이드된 스토리지 클러스터에 cephadm-ansible
설치
cephadm-ansible
은 cephadm
에서 다루지 않는 워크플로우를 간소화하는 Ansible 플레이북 컬렉션입니다. 설치 후 플레이북은 /usr/share/cephadm-ansible/
에 있습니다.
업그레이드된 스토리지 클러스터에 새 노드 또는 새 클라이언트를 추가하기 전에 cephadm-preflight.yml
플레이북을 실행합니다.
사전 요구 사항
- Ansible 관리 노드에 대한 루트 수준 액세스.
- 적절한 인타이틀먼트가 있는 유효한 Red Hat 서브스크립션.
- Red Hat Registry에 액세스하기 위한 활성 RHN(Red Hat Network) 또는 서비스 계정.
절차
ansible
및 이전ceph-ansible
패키지 설치 제거:구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dnf remove ansible ceph-ansible
dnf remove ansible ceph-ansible
Ansible 리포지토리를 비활성화하고 Ansible 관리 노드에서 Ceph 리포지토리를 활성화합니다.
Red Hat Enterprise Linux 8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms --enable=rhel-8-for-x86_64-appstream-rpms --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms --disable=ansible-2.9-for-rhel-8-x86_64-rpms
[root@admin ~]# subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms --enable=rhel-8-for-x86_64-appstream-rpms --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms --disable=ansible-2.9-for-rhel-8-x86_64-rpms
Red Hat Enterprise Linux 9
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms --enable=rhel-9-for-x86_64-appstream-rpms --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms --disable=ansible-2.9-for-rhel-9-x86_64-rpms
[root@admin ~]# subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms --enable=rhel-9-for-x86_64-appstream-rpms --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms --disable=ansible-2.9-for-rhel-9-x86_64-rpms
ansible-core
를 종속성으로 설치하는cephadm-ansible
패키지를 설치합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dnf install cephadm-ansible
dnf install cephadm-ansible
추가 리소스
- preflight Playbook 실행
- 호스트 추가
- 모니터 서비스 추가
- 관리자 서비스 추가
- OSD 추가
- 클라이언트 및 서비스 구성에 대한 자세한 내용은 Red Hat Ceph Storage Operations Guide 를 참조하십시오.
-
cephadm-ansible
플레이북에 대한 자세한 내용은 cephadm-ansible 플레이북을 참조하십시오.
2장. Red Hat Enterprise Linux 8을 RHCS 4에서 RHCS 5로 실행하는 Red Hat Ceph Storage 클러스터 업그레이드
스토리지 관리자는 Red Hat Enterprise Linux 8을 Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 5로 실행하는 Red Hat Ceph Storage 클러스터를 업그레이드할 수 있습니다. 업그레이드 프로세스에는 다음 작업이 포함됩니다.
- Ansible 플레이북을 사용하여 Red Hat Ceph Storage 4 스토리지 클러스터를 Red Hat Ceph Storage 5로 업그레이드합니다.
현재 Red Hat Ceph Storage 5에서는 Ceph -ansible
이 지원되지 않습니다. 즉, 스토리지 클러스터를 Red Hat Ceph Storage 5로 마이그레이션했으면 cephadm
및 cephadm-ansible
을 사용하여 후속 업데이트를 수행해야 합니다.
Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 5로 업그레이드하는 동안 bluestore_fsck_quick_fix_on_mount
매개변수를 true
로 설정하지 않거나 ceph-bluestore-tool --path PATH_TO_OSD --command quick-fix|repair
명령으로 인해 잘못된 형식의 OMAP 키가 잘못 포맷되고 데이터 손상을 일으키지 않습니다.
Ceph Object Gateway 스토리지 클러스터(단일 사이트 또는 다중 사이트)의 Red Hat Ceph Storage 5.2로 업그레이드할 수 있지만 스토리지 클러스터를 업그레이드하기 전에 ceph 구성 세트 mgr/cephadm/no_five_one_rgw true --force
옵션을 설정해야 합니다.
Ceph Object Gateway 스토리지 클러스터의 Red Hat Ceph Storage 5.2에서 Red Hat Ceph Storage 5.2로 업그레이드하는 것은 알려진 문제로 인해 지원되지 않습니다. 자세한 내용은 Red Hat Red Hat Ceph Storage 5.2의 RADOS Gateway(RGW) 업그레이드에 대한 기술 자료 문서 지원 제한 사항을 참조하십시오.
Red Hat Ceph Storage 5.0z4 로 업그레이드하려는 경우 업그레이드 절차에 따라 Red Hat Ceph Storage 4.2z4에서 5.0z4 로 업그레이드하는 방법을 기술 자료 문서를 참조하십시오.
Red Hat Ceph Storage에 대해 기본적으로 bluefs_buffered_io
옵션이 True
로 설정됩니다. 이 옵션을 사용하면 BlueFS에서 버퍼링된 읽기를 수행할 수 있으며 커널 페이지 캐시가 2001:sDB 블록 읽기와 같은 읽기에 대한 보조 캐시 역할을 할 수 있습니다. 예를 들어, OMAP 반복 중에 모든 블록을 보관할 수 있을 만큼 충분히 크지 않은 경우 디스크 대신 페이지 캐시에서 해당 블록을 읽을 수 있습니다. 이로 인해 osd_memory_target이 블록 캐시의 모든 항목을 유지하기에 너무 작으면 성능이 크게 향상될 수 있습니다. 현재 bluefs_buffered_io
를 활성화하고 시스템 수준 스왑을 비활성화하면 성능 저하가 발생하지 않습니다.
bluefs_buffered_io
의 현재 설정을 보는 방법에 대한 자세한 내용은 Red Hat Ceph Storage 관리 가이드의 bluefs_buffered_io
설정 섹션을 참조하십시오.
Red Hat Ceph Storage 5는 컨테이너화된 데몬만 지원합니다. 컨테이너화되지 않은 스토리지 클러스터는 지원하지 않습니다. Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 5로 컨테이너화되지 않은 스토리지 클러스터를 업그레이드하는 경우 업그레이드 프로세스에는 컨테이너화된 배포가 포함됩니다.
2.1. 사전 요구 사항
- Red Hat Enterprise Linux 8.4 이상을 실행하는 Red Hat Ceph Storage 4 클러스터.
- 유효한 고객 서브스크립션.
- Ansible 관리 노드에 대한 루트 수준 액세스.
- 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
- Ansible 애플리케이션에서 사용할 Ansible 사용자 계정입니다.
- Red Hat Ceph Storage 툴 및 Ansible 리포지토리가 활성화되어 있습니다.
Red Hat Ceph Storage 클러스터와 Red Hat Enterprise Linux 운영 체제를 새로운 메이저 릴리스로 수동으로 Ceph File System (CephFS) 메타데이터 서버(MDS) 소프트웨어를 업그레이드할 수 있습니다. 기본 XFS 파일 시스템은 ftype=1
또는 d_type
지원을 사용하여 포맷해야 합니다. xfs_info /var
명령을 실행하여 ftype
이 1
로 설정되어 있는지 확인합니다. ftype
값이 1
이 아닌 경우 새 디스크를 연결하거나 볼륨을 만듭니다. 이 새 장치 상단에서 새 XFS 파일 시스템을 생성하여 /var/lib/containers
에 마운트합니다.
Red Hat Enterprise Linux 8부터 mkfs.xfs
는 기본적으로 ftype=1
을 활성화합니다.
2.2. RHCS와 podman
버전 간의 호환성 고려 사항
Podman
및 Red Hat Ceph Storage에는 호환 버전을 찾기가 어려울 수 있는 다양한 지원 종료 전략이 있습니다.
Ceph 업그레이드 프로세스의 일부로 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로 업그레이드하려는 경우 podman
버전이 Red Hat Ceph Storage 5와 호환되는지 확인하십시오.
Red Hat은 Red Hat Ceph Storage 5의 해당 Red Hat Enterprise Linux 버전과 함께 제공되는 podman
버전을 사용하는 것이 좋습니다. 자세한 내용은 Red Hat Ceph Storage: 지원 구성 기술 자료 문서를 참조하십시오. 자세한 내용은 Red Hat Ceph Storage Troubleshooting Guide의 서비스 관련 Red Hat 지원 문의 섹션을 참조하십시오.
Red Hat Ceph Storage 5는 버전 2.2.1을 제외하고 podman
버전 2.0.0 이상과 호환됩니다. 버전 2.2.1은 Red Hat Ceph Storage 5와 호환되지 않습니다.
다음 표에서는 Red Hat Ceph Storage 5 버전과 podman
사이의 버전 호환성을 보여줍니다.
Ceph | Podman | ||||
---|---|---|---|---|---|
1.9 | 2.0 | 2.1 | 2.2 | 3.0 | |
5.0 (태평양) | false | true | true | false | true |
2.3. 업그레이드 준비
스토리지 관리자는 Ceph 스토리지 클러스터를 Red Hat Ceph Storage 5로 업그레이드할 수 있습니다. 그러나 업그레이드를 수행하려면 스토리지 클러스터의 일부 구성 요소가 특정 소프트웨어 버전을 실행해야 합니다. 다음 목록은 Red Hat Ceph Storage 5로 업그레이드하기 전에 스토리지 클러스터에 설치해야 하는 최소 소프트웨어 버전을 보여줍니다.
- Red Hat Ceph Storage 4.3 이상.
- Ansible 2.9.
- 최신 버전의 Red Hat Ceph Storage와 함께 Ceph-ansible이 제공됩니다.
- Red Hat Enterprise Linux 8.4 EUS 이상.
- 파일 저장소 OSD를 BlueStore로 마이그레이션해야 합니다. OSD를 FileStore에서 BlueStore로 변환하는 방법에 대한 자세한 내용은 BlueStore 를 참조하십시오.
Red Hat Ceph Storage 4.3 이전의 Red Hat Ceph Storage 버전에는 직접 업그레이드 경로가 없습니다. Red Hat Ceph Storage 3에서 업그레이드하는 경우 먼저 Red Hat Ceph Storage 4.3 이상으로 업그레이드한 다음 Red Hat Ceph Storage 5로 업그레이드해야 합니다.
최신 Red Hat Ceph Storage 5 버전으로만 업그레이드할 수 있습니다. 예를 들어 버전 5.1을 사용할 수 있는 경우 4에서 5.0으로 업그레이드할 수 없습니다. 5.1로 직접 이동해야 합니다.
Red Hat Enterprise Linux-8.7 이상에서 Red Hat Ceph Storage-4.3.z1의 새로운 배포 또는 Red Hat Ceph Storage-4.3.z1을 호스트 OS와 함께 5.X로 업그레이드하면 TASK [ceph-mgr : TASK [ceph-mgr : 모든 mgr이 가동될 때까지 기다립니다]
. Red Hat Enterprise Linux 8.7에서 릴리스된 podman
의 동작이 SELinux 재레이블링과 관련하여 변경되었습니다. 이로 인해 시작 순서에 따라 일부 Ceph 컨테이너가 필요한 파일에 액세스할 수 없으므로 시작되지 않았습니다.
이 문제를 해결하려면 ' ceph mgr dump' 명령을 실행하는 동안 기술 자료 RHCS 4.3 설치가 실패합니다.
스토리지 클러스터를 Red Hat Ceph Storage 5로 업그레이드하려면 클러스터에서 Red Hat Ceph Storage 4.3 이상을 실행하는 것이 좋습니다. 지식베이스 문서 Red Hat Ceph Storage 릴리스란?에서 참조하십시오. 이 문서에는 최신 버전의 Ceph 패키지 및 ceph-ansible에 대한 다운로드 링크가 포함되어 있습니다.
업그레이드 프로세스에서는 Ansible 플레이북을 사용하여 Red Hat Ceph Storage 4 스토리지 클러스터를 Red Hat Ceph Storage 5로 업그레이드합니다. Red Hat Ceph Storage 4 클러스터가 컨테이너화되지 않은 클러스터인 경우 업그레이드 프로세스에는 클러스터를 컨테이너화된 버전으로 변환하는 단계가 포함됩니다. Red Hat Ceph Storage 5는 컨테이너화되지 않은 클러스터에서 실행되지 않습니다.
미러링 또는 다중 사이트 구성이 있는 경우 한 번에 하나의 클러스터를 업그레이드합니다. 다른 클러스터를 업그레이드하기 전에 업그레이드된 각 클러스터가 제대로 실행되고 있는지 확인합니다.
LeApp
은 암호화된 파티션이 있는 암호화된 OSD 또는 OSD 업그레이드를 지원하지 않습니다. OSD가 암호화되어 호스트 OS를 업그레이드하는 경우 OS를 업그레이드하기 전에 ceph-ansible
에서 dmcrypt
를 비활성화합니다. power p
사용에 대한 자세한 내용은 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로 업그레이드를 참조하십시오.
스토리지 클러스터가 최신 버전의 Red Hat Ceph Storage 4를 아직 실행하지 않는 경우에만 이 프로세스에서 처음 세 단계를 수행합니다. Red Hat Ceph Storage 4의 최신 버전은 4.3 이상이어야 합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 4 클러스터.
- 스토리지 클러스터의 모든 노드에 대한 sudo 수준 액세스.
- 유효한 고객 서브스크립션.
- Ansible 관리 노드에 대한 루트 수준 액세스.
- Ansible 애플리케이션에서 사용할 Ansible 사용자 계정입니다.
- Red Hat Ceph Storage 툴 및 Ansible 리포지토리가 활성화되어 있습니다.
절차
Ansible 관리 노드에서 Ceph 및 Ansible 리포지토리를 활성화합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms --enable=ansible-2.9-for-rhel-8-x86_64-rpms
[root@admin ceph-ansible]# subscription-manager repos --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms --enable=ansible-2.9-for-rhel-8-x86_64-rpms
Ansible을 업데이트합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dnf update ansible ceph-ansible
[root@admin ceph-ansible]# dnf update ansible ceph-ansible
업그레이드하려는 스토리지 클러스터에
배타적 잠금
기능을 사용하는 Ceph Block Device 이미지가 포함된 경우 모든 Ceph Block Device 사용자에게 클라이언트에 대한 거부 목록을 생성할 수 있는 권한이 있는지 확인합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph auth caps client.ID mon 'profile rbd' osd 'profile rbd pool=POOL_NAME_1, profile rbd pool=POOL_NAME_2'
ceph auth caps client.ID mon 'profile rbd' osd 'profile rbd pool=POOL_NAME_1, profile rbd pool=POOL_NAME_2'
Cockpit을 사용하여 스토리지 클러스터를 원래 설치한 경우, Cockpit이 생성한 인벤토리 파일에
/usr/share/ceph-ansible
디렉터리에 심볼릭 링크를 만듭니다./usr/share/ansible-runner-service/inventory/hosts
:/usr/share/ceph-ansible
디렉터리로 변경합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow cd /usr/share/ceph-ansible
# cd /usr/share/ceph-ansible
심볼릭 링크를 만듭니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ln -s /usr/share/ansible-runner-service/inventory/hosts hosts
# ln -s /usr/share/ansible-runner-service/inventory/hosts hosts
ceph-ansible
을 사용하여 클러스터를 업그레이드하려면etc/ansible/hosts
디렉터리에hosts
인벤토리 파일로 심볼릭 링크를 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ln -s /etc/ansible/hosts hosts
# ln -s /etc/ansible/hosts hosts
Cockpit을 사용하여 스토리지 클러스터를 원래 설치한 경우 Cockpit 생성 SSH 키를 Ansible 사용자의
~/.ssh
디렉터리에 복사합니다.키를 복사합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cp /usr/share/ansible-runner-service/env/ssh_key.pub /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub cp /usr/share/ansible-runner-service/env/ssh_key /home/ANSIBLE_USERNAME/.ssh/id_rsa
cp /usr/share/ansible-runner-service/env/ssh_key.pub /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub cp /usr/share/ansible-runner-service/env/ssh_key /home/ANSIBLE_USERNAME/.ssh/id_rsa
ANSIBLE_USERNAME 을 Ansible의 사용자 이름으로 교체합니다. 일반적인 기본 사용자 이름은
admin
입니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cp /usr/share/ansible-runner-service/env/ssh_key.pub /home/admin/.ssh/id_rsa.pub cp /usr/share/ansible-runner-service/env/ssh_key /home/admin/.ssh/id_rsa
# cp /usr/share/ansible-runner-service/env/ssh_key.pub /home/admin/.ssh/id_rsa.pub # cp /usr/share/ansible-runner-service/env/ssh_key /home/admin/.ssh/id_rsa
키 파일에 적절한 소유자, 그룹 및 권한을 설정합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow chown ANSIBLE_USERNAME:ANSIBLE_USERNAME /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub chown ANSIBLE_USERNAME:ANSIBLE_USERNAME /home/ANSIBLE_USERNAME/.ssh/id_rsa chmod 644 /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub chmod 600 /home/ANSIBLE_USERNAME/.ssh/id_rsa
# chown ANSIBLE_USERNAME:ANSIBLE_USERNAME /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub # chown ANSIBLE_USERNAME:ANSIBLE_USERNAME /home/ANSIBLE_USERNAME/.ssh/id_rsa # chmod 644 /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub # chmod 600 /home/ANSIBLE_USERNAME/.ssh/id_rsa
ANSIBLE_USERNAME 을 Ansible의 사용자 이름으로 교체합니다. 일반적인 기본 사용자 이름은
admin
입니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow chown admin:admin /home/admin/.ssh/id_rsa.pub chown admin:admin /home/admin/.ssh/id_rsa chmod 644 /home/admin/.ssh/id_rsa.pub chmod 600 /home/admin/.ssh/id_rsa
# chown admin:admin /home/admin/.ssh/id_rsa.pub # chown admin:admin /home/admin/.ssh/id_rsa # chmod 644 /home/admin/.ssh/id_rsa.pub # chmod 600 /home/admin/.ssh/id_rsa
추가 리소스
- Red Hat Ceph Storage 릴리스는 무엇입니까?
- FileStore에서 BlueStore로 변환하는 방법에 대한 자세한 내용은 BlueStore 를 참조하십시오.
2.4. 호스트 OS 업그레이드 전에 파일 백업
호스트 OS를 업그레이드하는 경우에만 이 섹션의 절차를 수행합니다. 호스트 OS를 업그레이드하지 않는 경우 이 섹션을 건너뜁니다.
업그레이드 절차를 수행하려면 플레이북을 실행할 때 ceph.conf
파일이 재정의되므로 인증 파일 및 구성에 대한 yml
파일을 포함하여 스토리지 클러스터에 맞게 사용자 지정한 파일의 백업 사본을 만들어야 합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 4 클러스터.
- 유효한 고객 서브스크립션.
- Ansible 관리 노드에 대한 루트 수준 액세스.
- Ansible 애플리케이션에서 사용할 Ansible 사용자 계정입니다.
- Red Hat Ceph Storage Tools 및 Ansible 리포지토리가 활성화되어 있습니다.
절차
-
/etc/ceph
및/var/lib/ceph
폴더의 백업 사본을 만듭니다. -
ceph.client.admin.keyring
파일의 백업 사본을 만듭니다. -
각 노드에서
ceph.conf
파일의 백업 사본을 만듭니다. -
각 노드에서
/etc/ganesha/
폴더의 백업 사본을 만듭니다. -
스토리지 클러스터에 RBD 미러링이 정의된 경우
/etc/ceph
폴더 및group_vars/rbdmirrors.yml
파일의 백업 사본을 만듭니다.
2.5. 컨테이너화된 배포로 변환
이 절차는 컨테이너화되지 않은 클러스터에 필요합니다. 스토리지 클러스터가 컨테이너화되지 않은 클러스터인 경우 이 절차에서는 클러스터를 컨테이너화된 버전으로 변환합니다.
Red Hat Ceph Storage 5는 컨테이너 기반 배포만 지원합니다. RHCS 5.x로 업그레이드하기 전에 클러스터를 컨테이너화해야 합니다.
Red Hat Ceph Storage 4 스토리지 클러스터가 이미 컨테이너화된 경우 이 섹션을 건너뛰십시오.
이 절차는 데몬을 중지하고 다시 시작합니다. 이 절차 중에 플레이북이 실행을 중지하면 재시작하기 전에 클러스터의 상태를 분석해야 합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage가 아닌 4개의 클러스터.
- 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
- 유효한 고객 서브스크립션.
- Ansible 관리 노드에 대한 루트 수준 액세스.
- Ansible 애플리케이션에서 사용할 Ansible 사용자 계정입니다.
절차
-
다중 사이트 설정을 실행하는 경우
all.yml
에서rgw_multisite: false
를 설정합니다. group_vars/all.yml
에 구성 매개변수에 대한 다음과 같은 기본값이 있는지 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph_docker_image_tag: "latest" ceph_docker_registry: "registry.redhat.io" ceph_docker_image: rhceph/rhceph-4-rhel8 containerized_deployment: true
ceph_docker_image_tag: "latest" ceph_docker_registry: "registry.redhat.io" ceph_docker_image: rhceph/rhceph-4-rhel8 containerized_deployment: true
참고이러한 값은 로컬 레지스트리와 사용자 정의 이미지 이름을 사용하는 경우 다릅니다.
선택사항: 베어 메탈 스토리지 클러스터에서 명령줄 인터페이스를 사용하여 구성된 양방향 RBD 미러링의 경우 클러스터는 RBD 미러링을 마이그레이션하지 않습니다. 이러한 구성의 경우 컨테이너화되지 않은 스토리지 클러스터를 컨테이너화된 배포로 마이그레이션하기 전에 다음 단계를 따르십시오.
Ceph 클라이언트 노드에서 사용자를 생성합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph auth get client.PRIMARY_CLUSTER_NAME -o /etc/ceph/ceph.PRIMARY_CLUSTER_NAME.keyring
ceph auth get client.PRIMARY_CLUSTER_NAME -o /etc/ceph/ceph.PRIMARY_CLUSTER_NAME.keyring
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph auth get client.rbd-mirror.site-a -o /etc/ceph/ceph.client.rbd-mirror.site-a.keyring
[root@rbd-client-site-a ~]# ceph auth get client.rbd-mirror.site-a -o /etc/ceph/ceph.client.rbd-mirror.site-a.keyring
/etc/ceph
디렉토리의auth
파일의 사용자 이름을 변경합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [client.rbd-mirror.rbd-client-site-a] key = AQCbKbVg+E7POBAA7COSZCodvOrg2LWIFc9+3g== caps mds = "allow *" caps mgr = "allow *" caps mon = "allow *" caps osd = "allow *"
[client.rbd-mirror.rbd-client-site-a] key = AQCbKbVg+E7POBAA7COSZCodvOrg2LWIFc9+3g== caps mds = "allow *" caps mgr = "allow *" caps mon = "allow *" caps osd = "allow *"
인증
파일을 가져와 관련 권한을 추가합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph auth import -i PATH_TO_KEYRING
ceph auth import -i PATH_TO_KEYRING
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph auth import -i /etc/ceph/ceph.client.rbd-mirror.rbd-client-site-a.keyring
[root@rbd-client-site-a ~]# ceph auth import -i /etc/ceph/ceph.client.rbd-mirror.rbd-client-site-a.keyring
RBD 미러 노드의 서비스 이름을 확인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl list-units --all
[root@rbd-client-site-a ~]# systemctl list-units --all systemctl stop ceph-rbd-mirror@rbd-client-site-a.service systemctl disable ceph-rbd-mirror@rbd-client-site-a.service systemctl reset-failed ceph-rbd-mirror@rbd-client-site-a.service systemctl start ceph-rbd-mirror@rbd-mirror.rbd-client-site-a.service systemctl enable ceph-rbd-mirror@rbd-mirror.rbd-client-site-a.service systemctl status ceph-rbd-mirror@rbd-mirror.rbd-client-site-a.service
rbd-mirror 노드를
/etc/ansible/hosts
파일에 추가합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [rbdmirrors] ceph.client.rbd-mirror.rbd-client-site-a
[rbdmirrors] ceph.client.rbd-mirror.rbd-client-site-a
컨테이너화된 데몬을 사용하는 경우 컨테이너화된 형식으로 변환합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook -vvvv -i INVENTORY_FILE infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml
ansible-playbook -vvvv -i INVENTORY_FILE infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml
-vvv
옵션은 변환 프로세스의 자세한 로그를 수집합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook -vvvv -i hosts infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml
[ceph-admin@admin ceph-ansible]$ ansible-playbook -vvvv -i hosts infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml
플레이북이 성공적으로 완료되면
all.yml
파일에서rgw_multisite: true
값을 편집하고containerized_deployment
값이true
인지 확인합니다.참고관리 노드에서
ceph-iscsi
,libtcmu
,tcmu-runner
패키지를 제거해야 합니다.
2.6. 업그레이드 프로세스
스토리지 관리자는 Ansible 플레이북을 사용하여 Red Hat Ceph Storage 4 스토리지 클러스터를 Red Hat Ceph Storage 5로 업그레이드합니다. rolling_update.yml
Ansible Playbook은 Red Hat Ceph Storage 배포를 위해 업그레이드를 수행합니다. ceph-ansible
은 Ceph 노드를 다음 순서로 업그레이드합니다.
- Ceph Monitor
- Ceph Manager
- Ceph OSD 노드
- MDS 노드
- Ceph Object Gateway(RGW) 노드
- Ceph RBD-mirror 노드
- Ceph NFS 노드
- Ceph iSCSI 게이트웨이 노드
- Ceph 클라이언트 노드
- Ceph-crash 데몬
- 모든 노드의 node-exporter
- Ceph 대시보드
스토리지 클러스터를 Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 5로 업그레이드한 후 Grafana UI에 두 개의 대시보드가 표시됩니다. 이는 Red Hat Ceph Storage 4의 Prometheus 포트는 9092이고 Red Hat Ceph Storage 5의 경우 9095이기 때문입니다. grafana를 제거할 수 있습니다. cephadm
은 서비스와 데몬을 재배포하고 Grafana UI에서 이전 대시보드를 제거합니다.
Red Hat Ceph Storage 5는 컨테이너화된 배포만 지원합니다.
현재 Red Hat Ceph Storage 5에서는 Ceph -ansible
이 지원되지 않습니다. 즉, 스토리지 클러스터를 Red Hat Ceph Storage 5로 마이그레이션했으면 cephadm
을 사용하여 후속 업데이트를 수행해야 합니다.
단일 영역과 여러 영역을 사용하여 다중 사이트 Ceph Object Gateway를 배포하려면 all.yml
파일을 편집합니다. 자세한 내용은 Red Hat Ceph Storage 4 설치 가이드의 다중 사이트 Ceph Object Gateway 구성 을 참조하십시오.
Red Hat Ceph Storage 5에는 스토리지 클러스터의 데몬이 여러 버전의 Red Hat Ceph Storage를 실행하는 경우 DAE jenkinsfile_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 mute DAEMON_OLD_VERSION --sticky
업그레이드가 완료되면 상태 경고를 음소거합니다.
ceph health unmute DAEMON_OLD_VERSION
ceph health unmute DAEMON_OLD_VERSION
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 스토리지 클러스터의 모든 호스트에 대한 루트 수준 액세스.
- 유효한 고객 서브스크립션.
- Ansible 관리 노드에 대한 루트 수준 액세스.
-
Red Hat Ceph Storage 5에서 사용 가능한
최신 Ansible 및 ceph-
anible 버전입니다. -
Ansible 애플리케이션과 함께 사용할
ansible
사용자 계정입니다. - 스토리지 클러스터 노드가 Red Hat Enterprise Linux 8.4 EUS 이상으로 업그레이드됩니다.
Ansible 인벤토리 파일은 ceph-ansible
디렉터리에 있어야 합니다.
절차
Ansible 관리 노드에서 Ceph 및 Ansible 리포지토리를 활성화합니다.
Red Hat Enterprise Linux 8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms --enable=ansible-2.9-for-rhel-8-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms --enable=ansible-2.9-for-rhel-8-x86_64-rpms
Red Hat Enterprise Linux 9
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
Ansible 관리 노드에서 최신 버전의
ansible
및ceph-ansible
패키지가 설치되어 있는지 확인합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dnf update ansible ceph-ansible
dnf update ansible ceph-ansible
/usr/share/ceph-ansible/
디렉터리로 이동합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cd /usr/share/ceph-ansible
[root@admin ~]# cd /usr/share/ceph-ansible
Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 5로 업그레이드하는 경우
group_vars/osds.yml.sample
및group_vars/clients.sample
파일의 복사본을 각각 만들고 이를group_vars/osds.yml
,group_vars/clients.yml
로 변경합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cp group_vars/osds.yml.sample group_vars/osds.yml cp group_vars/mdss.yml.sample group_vars/mdss.yml cp group_vars/rgws.yml.sample group_vars/rgws.yml cp group_vars/clients.yml.sample group_vars/clients.yml
[root@admin ceph-ansible]# cp group_vars/osds.yml.sample group_vars/osds.yml [root@admin ceph-ansible]# cp group_vars/mdss.yml.sample group_vars/mdss.yml [root@admin ceph-ansible]# cp group_vars/rgws.yml.sample group_vars/rgws.yml [root@admin ceph-ansible]# cp group_vars/clients.yml.sample group_vars/clients.yml
-
Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 5로 업그레이드하는 경우
group_vars/all.yml
파일을 편집하여 Red Hat Ceph Storage 5 세부 정보를 추가합니다. 위의 두 단계를 완료하면 이전
yaml
파일의 설정을 새yaml
파일로 복사합니다. 이러한 구성 매개변수의 값이 Red Hat Ceph Storage 5의 값으로ceph_rhcs_version
,ceph_docker_image
및grafana_container_image
값을 변경하지 마십시오. 이렇게 하면 클러스터와 관련된 모든 설정이 현재yaml
파일에 있습니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow fetch_directory: ~/ceph-ansible-keys monitor_interface: eth0 public_network: 192.168.0.0/24 ceph_docker_registry_auth: true ceph_docker_registry_username: SERVICE_ACCOUNT_USER_NAME ceph_docker_registry_password: TOKEN dashboard_admin_user: DASHBOARD_ADMIN_USERNAME dashboard_admin_password: DASHBOARD_ADMIN_PASSWORD grafana_admin_user: GRAFANA_ADMIN_USER grafana_admin_password: GRAFANA_ADMIN_PASSWORD radosgw_interface: eth0 ceph_docker_image: "rhceph/rhceph-5-rhel8" ceph_docker_image_tag: "latest" ceph_docker_registry: "registry.redhat.io" node_exporter_container_image: registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.6 grafana_container_image: registry.redhat.io/rhceph/rhceph-5-dashboard-rhel8:5 prometheus_container_image: registry.redhat.io/openshift4/ose-prometheus:v4.6 alertmanager_container_image: registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.6
fetch_directory: ~/ceph-ansible-keys monitor_interface: eth0 public_network: 192.168.0.0/24 ceph_docker_registry_auth: true ceph_docker_registry_username: SERVICE_ACCOUNT_USER_NAME ceph_docker_registry_password: TOKEN dashboard_admin_user: DASHBOARD_ADMIN_USERNAME dashboard_admin_password: DASHBOARD_ADMIN_PASSWORD grafana_admin_user: GRAFANA_ADMIN_USER grafana_admin_password: GRAFANA_ADMIN_PASSWORD radosgw_interface: eth0 ceph_docker_image: "rhceph/rhceph-5-rhel8" ceph_docker_image_tag: "latest" ceph_docker_registry: "registry.redhat.io" node_exporter_container_image: registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.6 grafana_container_image: registry.redhat.io/rhceph/rhceph-5-dashboard-rhel8:5 prometheus_container_image: registry.redhat.io/openshift4/ose-prometheus:v4.6 alertmanager_container_image: registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.6
참고Red Hat Ceph Storage 5 컨테이너 이미지가 기본값으로 설정되어 있는지 확인합니다.
group_vars/osds.yml
파일을 편집합니다. 다음 옵션을 추가하고 설정합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow nb_retry_wait_osd_up: 50 delay_wait_osd_up: 30
nb_retry_wait_osd_up: 50 delay_wait_osd_up: 30
group_vars/all.yml
파일을 열고 이전all.yml
파일에서 다음 값이 있는지 확인합니다.fetch_directory
옵션은 이전all.yml
파일과 동일한 값으로 설정됩니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow fetch_directory: FULL_DIRECTORY_PATH
fetch_directory: FULL_DIRECTORY_PATH
FULL_DIRECTORY_PATH 를 Ansible 사용자의 홈 디렉터리와 같은 쓰기 가능한 위치로 바꿉니다.
업그레이드하려는 클러스터에 Ceph Object Gateway 노드가 포함된 경우
radosgw_interface
옵션을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow radosgw_interface: INTERFACE
radosgw_interface: INTERFACE
INTERFACE 를 Ceph Object Gateway 노드에서 수신 대기하는 인터페이스로 교체합니다.
현재 설정에 SSL 인증서가 구성된 경우 다음을 편집합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow radosgw_frontend_ssl_certificate: /etc/pki/ca-trust/extracted/CERTIFICATE_NAME radosgw_frontend_port: 443
radosgw_frontend_ssl_certificate: /etc/pki/ca-trust/extracted/CERTIFICATE_NAME radosgw_frontend_port: 443
upgrade_ceph_packages
옵션의 주석을 제거하고True
로 설정합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow upgrade_ceph_packages: True
upgrade_ceph_packages: True
스토리지 클러스터에 노드당 Ceph Object Gateway 인스턴스가 두 개 이상 있는 경우
radosgw_num_instances
설정의 주석 처리를 해제하고 클러스터의 노드당 인스턴스 수로 설정합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow radosgw_num_instances : NUMBER_OF_INSTANCES_PER_NODE
radosgw_num_instances : NUMBER_OF_INSTANCES_PER_NODE
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow radosgw_num_instances : 2
radosgw_num_instances : 2
-
스토리지 클러스터에 Ceph Object Gateway 다중 사이트가 정의되어 있는 경우
all.yml
의 다중 사이트 설정을 확인하여 이전all.yml
파일에서와 동일한 값이 포함되어 있는지 확인합니다.
버킷이 생성되거나
num_shards = 0
인 경우 Red Hat Ceph Storage 5.3으로 업그레이드하기 전에 버킷을 수동으로 다시 정렬합니다.주의bucket_index_max_shards
가0
인 경우 이전 릴리스에서 Red Hat Ceph Storage 5.3으로 업그레이드하면 Ceph Object Gateway 버킷의 메타데이터가 손실되어 버킷에 액세스하지 못할 수 있습니다. 따라서bucket_index_max_shards
가11
shard로 설정되어 있는지 확인합니다. 그렇지 않은 경우 영역 그룹 수준에서 이 구성을 수정합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAME
radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAME
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# radosgw-admin bucket reshard --num-shards 11 --bucket mybucket
[ceph: root@host01 /]# radosgw-admin bucket reshard --num-shards 11 --bucket mybucket
-
Ansible 관리 노드에
ansible-user
로 로그인합니다. --extra-vars
옵션을 사용하여infrastructure-playbooks/rolling_update.yml
플레이북을 업데이트하고health_osd_check_retries
및health_osd_check_delay
값을 각각50
및30
으로 변경합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook -i hosts infrastructure-playbooks/rolling_update.yml --extra-vars "health_osd_check_retries=50 health_osd_check_delay=30"
[root@admin ceph-ansible]# ansible-playbook -i hosts infrastructure-playbooks/rolling_update.yml --extra-vars "health_osd_check_retries=50 health_osd_check_delay=30"
각 OSD 노드에서 이러한 값은
ceph-
anible이 30초(최대 50번)마다 스토리지 클러스터 상태를 확인합니다. 즉ceph-ansible
은 각 OSD에 대해 최대 25분 정도 기다립니다.스토리지 클러스터의 사용된 스토리지 용량에 따라
health_osd_check_retries
옵션 값을 up 또는 down으로 조정합니다. 예를 들어 436TB 중 218TB 또는 스토리지 용량의 50%를 사용하는 경우health_osd_check_retries
옵션을50
으로 설정합니다./etc/ansible/hosts
는 Ansible 인벤토리 파일의 기본 위치입니다.rolling_update.yml
플레이북을 실행하여 스토리지 클러스터를 Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 5로 변환합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i INVENTORY_FILE
ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i INVENTORY_FILE
-vvv 옵션은 업그레이드 프로세스의 자세한 로그를 수집합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i hosts
[ceph-admin@admin ceph-ansible]$ ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i hosts
중요rolling_update.yml
플레이북에--limit
Ansible 옵션을 사용하는 것은 지원되지 않습니다.- Ansible 플레이북 로그 출력을 검토하여 업그레이드 상태를 확인합니다.
검증
실행 중인 컨테이너를 모두 나열합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman ps
[root@mon ~]# podman ps
클러스터의 상태를 확인합니다. MONITOR_ID 를 이전 단계에서 찾은 Ceph Monitor 컨테이너의 이름으로 교체합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman exec ceph-mon-MONITOR_ID ceph -s
podman exec ceph-mon-MONITOR_ID ceph -s
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman exec ceph-mon-mon01 ceph -s
[root@mon ~]# podman exec ceph-mon-mon01 ceph -s
Ceph 클러스터 데몬 버전을 확인하여 모든 데몬 업그레이드를 확인합니다. MONITOR_ID 를 이전 단계에서 찾은 Ceph Monitor 컨테이너의 이름으로 교체합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman exec ceph-mon-MONITOR_ID ceph --cluster ceph versions
podman exec ceph-mon-MONITOR_ID ceph --cluster ceph versions
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow podman exec ceph-mon-mon01 ceph --cluster ceph versions
[root@mon ~]# podman exec ceph-mon-mon01 ceph --cluster ceph versions
2.7. 스토리지 클러스터를 cephadm
사용으로 변환
스토리지 클러스터를 Red Hat Ceph Storage 5로 업그레이드한 후 cephadm-adopt
플레이북을 실행하여 스토리지 클러스터 데몬을 변환하여 cephadm
을 실행합니다.
cephadm-adopt
플레이북은 Ceph 서비스를 적용하고, 모든 cephadm
종속성을 설치하고, cephadm
Orchestrator 백엔드를 활성화하고, 모든 호스트에서 ssh
키를 생성 및 구성하고, 호스트를 Orchestrator 구성에 추가합니다.
cephadm-adopt
플레이북을 실행한 후 ceph-ansible
패키지를 삭제합니다. 클러스터 데몬은 더 이상 ceph-ansible
에서 작동하지 않습니다. cephadm
을 사용하여 클러스터 데몬을 관리해야 합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
절차
-
ceph-ansible
노드에 로그인하고 디렉토리를/usr/share/ceph-ansible
로 변경합니다. all.yml
파일을 편집합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph_origin: custom/rhcs ceph_custom_repositories: - name: NAME state: present description: DESCRIPTION gpgcheck: 'no' baseurl: BASE_URL file: FILE_NAME priority: '2' enabled: 1
ceph_origin: custom/rhcs ceph_custom_repositories: - name: NAME state: present description: DESCRIPTION gpgcheck: 'no' baseurl: BASE_URL file: FILE_NAME priority: '2' enabled: 1
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph_origin: custom ceph_custom_repositories: - name: ceph_custom state: present description: Ceph custom repo gpgcheck: 'no' baseurl: https://example.ceph.redhat.com file: cephbuild priority: '2' enabled: 1 - name: ceph_custom_1 state: present description: Ceph custom repo 1 gpgcheck: 'no' baseurl: https://example.ceph.redhat.com file: cephbuild_1 priority: '2' enabled: 1
ceph_origin: custom ceph_custom_repositories: - name: ceph_custom state: present description: Ceph custom repo gpgcheck: 'no' baseurl: https://example.ceph.redhat.com file: cephbuild priority: '2' enabled: 1 - name: ceph_custom_1 state: present description: Ceph custom repo 1 gpgcheck: 'no' baseurl: https://example.ceph.redhat.com file: cephbuild_1 priority: '2' enabled: 1
cephadm-adopt
플레이북을 실행합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook infrastructure-playbooks/cephadm-adopt.yml -i INVENTORY_FILE
ansible-playbook infrastructure-playbooks/cephadm-adopt.yml -i INVENTORY_FILE
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook infrastructure-playbooks/cephadm-adopt.yml -i hosts
[ceph-admin@admin ceph-ansible]$ ansible-playbook infrastructure-playbooks/cephadm-adopt.yml -i hosts
최소 compat 클라이언트 매개변수를
luminous
로 설정합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@node0 /]# ceph osd set-require-min-compat-client luminous
[ceph: root@node0 /]# ceph osd set-require-min-compat-client luminous
다음 명령을 실행하여 NFS-Ganesha 풀에서 애플리케이션을 실행할 수 있습니다. POOL_NAME 은
nfs-ganesha
이고 APPLICATION_NAME 은 사용할 애플리케이션 이름입니다(예:cephfs
,rbd
또는rgw
).구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph osd pool application enable POOL_NAME APPLICATION_NAME
ceph osd pool application enable POOL_NAME APPLICATION_NAME
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@node0 /]# ceph osd pool application enable nfs-ganesha rgw
[ceph: root@node0 /]# ceph osd pool application enable nfs-ganesha rgw
중요cephadm-adopt
플레이북은 Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 5로 스토리지 클러스터를 마이그레이션한 후 rbd-mirroring을 가져오지 않습니다.이 문제를 해결하려면 피어를 수동으로 추가합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow rbd mirror pool peer add POOL_NAME CLIENT_NAME@CLUSTER_NAME
rbd mirror pool peer add POOL_NAME CLIENT_NAME@CLUSTER_NAME
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@node0 /]# rbd --cluster site-a mirror pool peer add image-pool client.rbd-mirror-peer@site-b
[ceph: root@node0 /]# rbd --cluster site-a mirror pool peer add image-pool client.rbd-mirror-peer@site-b
업그레이드 후 Grafana 제거:
Cephadm 쉘에 로그인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm shell
[root@host01 ~]# cephadm shell
스토리지 클러스터에서 Grafana 이름을 가져옵니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph orch ps --daemon_type grafana
[ceph: root@host01 /]# ceph orch ps --daemon_type grafana
Grafana 제거:
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph orch daemon rm GRAFANA_DAEMON_NAME
ceph orch daemon rm GRAFANA_DAEMON_NAME
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph orch daemon rm grafana.host01 Removed grafana.host01 from host 'host01'
[ceph: root@host01 /]# ceph orch daemon rm grafana.host01 Removed grafana.host01 from host 'host01'
몇 분 기다렸다가 최신 로그를 확인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph log last cephadm
[ceph: root@host01 /]# ceph log last cephadm
cephadm
은 Grafana 서비스 및 데몬을 재배포합니다.
추가 리소스
-
Red Hat Enterprise Linux 7을 Red Hat Enterprise Linux 8로 업그레이드하는 방법에 대한 자세한 내용은 Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로 업그레이드를 참조하십시오.
-
Red Hat Enterprise Linux 8을 Red Hat Enterprise Linux 9로 업그레이드하는 방법에 대한 자세한 내용은 Red Hat Enterprise Linux 8에서 Red Hat Enterprise Linux 9로 업그레이드를 참조하십시오.
- FileStore에서 BlueStore로 변환하는 방법에 대한 자세한 내용은 BlueStore 를 참조하십시오.
- 스토리지 피어에 대한 자세한 내용은 피어에 대한 정보 보기를 참조하십시오.
2.8. 업그레이드된 스토리지 클러스터에 cephadm-ansible
설치
cephadm-ansible
은 cephadm
에서 다루지 않는 워크플로우를 간소화하는 Ansible 플레이북 컬렉션입니다. 설치 후 플레이북은 /usr/share/cephadm-ansible/
에 있습니다.
업그레이드된 스토리지 클러스터에 새 노드 또는 새 클라이언트를 추가하기 전에 cephadm-preflight.yml
플레이북을 실행합니다.
사전 요구 사항
- Ansible 관리 노드에 대한 루트 수준 액세스.
- 적절한 인타이틀먼트가 있는 유효한 Red Hat 서브스크립션.
- Red Hat Registry에 액세스하기 위한 활성 RHN(Red Hat Network) 또는 서비스 계정.
절차
ansible
및 이전ceph-ansible
패키지 설치 제거:구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dnf remove ansible ceph-ansible
dnf remove ansible ceph-ansible
Ansible 리포지토리를 비활성화하고 Ansible 관리 노드에서 Ceph 리포지토리를 활성화합니다.
Red Hat Enterprise Linux 8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms --enable=rhel-8-for-x86_64-appstream-rpms --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms --disable=ansible-2.9-for-rhel-8-x86_64-rpms
[root@admin ~]# subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms --enable=rhel-8-for-x86_64-appstream-rpms --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms --disable=ansible-2.9-for-rhel-8-x86_64-rpms
Red Hat Enterprise Linux 9
Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms --enable=rhel-9-for-x86_64-appstream-rpms --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms --disable=ansible-2.9-for-rhel-9-x86_64-rpms
[root@admin ~]# subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms --enable=rhel-9-for-x86_64-appstream-rpms --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms --disable=ansible-2.9-for-rhel-9-x86_64-rpms
ansible-core
를 종속성으로 설치하는cephadm-ansible
패키지를 설치합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dnf install cephadm-ansible
dnf install cephadm-ansible
추가 리소스
- preflight Playbook 실행
- 호스트 추가
- 모니터 서비스 추가
- 관리자 서비스 추가
- OSD 추가
- 클라이언트 및 서비스 구성에 대한 자세한 내용은 Red Hat Ceph Storage Operations Guide 를 참조하십시오.
-
cephadm-ansible
플레이북에 대한 자세한 내용은 cephadm-ansible 플레이북을 참조하십시오.
3장. cephadm
을 사용하여 Red Hat Ceph Storage 클러스터 업그레이드
스토리지 관리자는 cephadm
Orchestrator를 사용하여 Red Hat Ceph Storage 5.0 이상을 업그레이드할 수 있습니다.
자동화된 업그레이드 프로세스는 Ceph 모범 사례를 따릅니다. 예를 들어 다음과 같습니다.
- 업그레이드 순서는 Ceph Manager, Ceph Monitors, 기타 데몬으로 시작됩니다.
- 각 데몬은 Ceph가 클러스터를 계속 사용할 수 있음을 나타내는 후에만 재시작됩니다.
업그레이드 중에 스토리지 클러스터 상태가 HEALTH_WARNING
으로 전환될 수 있습니다. 업그레이드가 완료되면 상태 상태가 HEALTH_OK로 다시 전환되어야 합니다.
Red Hat Ceph Storage 5에서 Red Hat Ceph Storage 7로 직접 업그레이드할 수 있습니다.
Ceph Object Gateway 스토리지 클러스터(단일 사이트 또는 다중 사이트)의 Red Hat Ceph Storage 5.2로 업그레이드할 수 있지만 스토리지 클러스터를 업그레이드하기 전에 ceph 구성 세트 mgr/cephadm/no_five_one_rgw true --force
옵션을 설정해야 합니다.
자세한 내용은 Red Hat Ceph Storage 5.2 릴리스 노트의 RADOS Gateway (RGW) 업그레이드에 대한 지식 기반 문서 지원 제한 사항 섹션을 참조하십시오.
현재 Red Hat Ceph Storage 5에서는 Ceph -ansible
이 지원되지 않습니다. 즉, 스토리지 클러스터를 Red Hat Ceph Storage 5로 마이그레이션했으면 cephadm
및 cephadm-ansible
을 사용하여 후속 업데이트를 수행해야 합니다.
Red Hat Enterprise Linux 9 이상에서는 cephadm-ansible
플레이북을 지원하지 않습니다.
업그레이드가 완료되면 메시지가 표시되지 않습니다. ceph 버전
및 ceph orch ps
명령을 실행하여 새 이미지 ID와 스토리지 클러스터 버전을 확인합니다.
3.1. Red Hat Ceph Storage 클러스터 업그레이드
ceph orch upgrade
명령을 사용하여 Red Hat Ceph Storage 5.0 클러스터를 업그레이드할 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터 5.
- Red Hat Enterprise Linux 8.4 EUS 이상.
- 모든 노드에 대한 루트 수준 액세스입니다.
-
sudo 및 암호 없이
ssh
를 사용하는 Ansible 사용자는 스토리지 클러스터의 모든 노드에 액세스할 수 있습니다. - 스토리지 클러스터에 2개 이상의 Ceph Manager 노드(하나의 활성 및 대기 시간)입니다.
Red Hat Ceph Storage 5에는 스토리지 클러스터의 데몬이 여러 버전의 RHCS를 실행 중인지 탐지하는 경우 DAE jenkinsfile_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 mute DAEMON_OLD_VERSION --sticky
업그레이드가 완료되면 상태 경고를 음소거합니다.
ceph health unmute DAEMON_OLD_VERSION
ceph health unmute DAEMON_OLD_VERSION
절차
cephadm
및cephadm-ansible
패키지를 업데이트합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dnf update cephadm dnf update cephadm-ansible
[root@admin ~]# dnf update cephadm [root@admin ~]# dnf update cephadm-ansible
/usr/share/cephadm-ansible/
디렉토리로 이동합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cd /usr/share/cephadm-ansible
[root@admin ~]# cd /usr/share/cephadm-ansible
버킷이 생성되거나
num_shards = 0
인 경우 Red Hat Ceph Storage 5.3으로 업그레이드하기 전에 버킷을 수동으로 다시 정렬합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAME
radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAME
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# radosgw-admin bucket reshard --num-shards 11 --bucket mybucket
[ceph: root@host01 /]# radosgw-admin bucket reshard --num-shards 11 --bucket mybucket
스토리지 클러스터의 부트스트랩 호스트에서
upgrade_ceph_packages
매개변수가true
로 설정된 상태에서 preflight 플레이북을 실행합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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 cephdm-ansible]$ ansible-playbook -i /etc/ansible/hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"
이 패키지는 모든 노드에서
cephadm
을 업그레이드합니다.cephadm
쉘에 로그인합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm shell
[root@host01 ~]# cephadm shell
모든 호스트가 온라인 상태인지 확인하고 스토리지 클러스터가 정상 상태인지 확인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph -s
[ceph: root@host01 /]# ceph -s
업그레이드 중에 OSD
noout
,noscrub
,nodeep-scrub
플래그를 설정하여 OSD가 클러스터에서 불필요한 로드를 방지합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [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-scrub
서비스 버전 및 사용 가능한 대상 컨테이너를 확인합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph orch upgrade check IMAGE_NAME
ceph orch upgrade check IMAGE_NAME
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph orch upgrade check registry.redhat.io/rhceph/rhceph-5-rhel8:latest
[ceph: root@host01 /]# ceph orch upgrade check registry.redhat.io/rhceph/rhceph-5-rhel8:latest
참고이미지 이름은 Red Hat Enterprise Linux 8 및 Red Hat Enterprise Linux 9 모두에 적용됩니다.
스토리지 클러스터를 업그레이드합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph orch upgrade start IMAGE_NAME
ceph orch upgrade start IMAGE_NAME
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph orch upgrade start registry.redhat.io/rhceph/rhceph-5-rhel8:latest
[ceph: root@host01 /]# ceph orch upgrade start registry.redhat.io/rhceph/rhceph-5-rhel8:latest
참고태그된 업그레이드를 수행하려면 삽입된 업그레이드 수행을 참조하십시오.
업그레이드가 진행되는 동안
ceph 상태
출력에 진행률 표시줄이 표시됩니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph status [...] progress: Upgrade to 16.2.0-146.el8cp (1s) [............................]
[ceph: root@host01 /]# ceph status [...] progress: Upgrade to 16.2.0-146.el8cp (1s) [............................]
Ceph 클러스터의 새로운 IMAGE_ID 및 VERSION 을 확인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph versions [ceph: root@host01 /]# ceph orch ps
[ceph: root@host01 /]# ceph versions [ceph: root@host01 /]# ceph orch ps
참고Ceph 클러스터를 업그레이드한 후
cephadm-ansible
플레이북을 사용하지 않는 경우 클라이언트 노드에서ceph-common
패키지 및 클라이언트 라이브러리를 업그레이드해야 합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [root@client01 ~] dnf update ceph-common
[root@client01 ~] dnf update ceph-common
최신 버전이 있는지 확인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [root@client01 ~] ceph --version
[root@client01 ~] ceph --version
업그레이드가 완료되면
noout
,noscrub
,nodeep-scrub
플래그를 설정 해제합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [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-scrub
3.2. 연결이 끊긴 환경에서 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.
- Red Hat Enterprise Linux 8.4 EUS 이상.
- 모든 노드에 대한 루트 수준 액세스입니다.
-
sudo 및 암호 없이
ssh
를 사용하는 Ansible 사용자는 스토리지 클러스터의 모든 노드에 액세스할 수 있습니다. - 스토리지 클러스터에 2개 이상의 Ceph Manager 노드(하나의 활성 및 대기 시간)입니다.
- 노드를 CDN에 등록하고 서브스크립션을 연결합니다.
- 연결이 끊긴 환경에서 고객 컨테이너 이미지를 확인하고 필요한 경우 구성을 변경합니다. 자세한 내용은 Red Hat Ceph Storage 설치 가이드에서 연결이 끊긴 설치의 구성 변경 섹션을 참조하십시오.
기본적으로 모니터링 스택 구성 요소는 기본 Ceph 이미지를 기반으로 배포됩니다. 스토리지 클러스터의 연결이 끊긴 환경의 경우 사용 가능한 최신 모니터링 스택 구성 요소 이미지를 사용해야 합니다.
스택 구성 요소 모니터링 | Red Hat Ceph Storage 버전 | 이미지 세부 정보 |
---|---|---|
Prometheus | Red Hat Ceph Storage 5.0 및 5.1 | registry.redhat.io/openshift4/ose-prometheus:v4.6 |
Red Hat Ceph Storage 5.2 이상 | registry.redhat.io/openshift4/ose-prometheus:v4.10 | |
Grafana | 모든 Red Hat Ceph Storage 5 버전 | registry.redhat.io/rhceph/rhceph-5-dashboard-rhel8:latest |
node-exporter | Red Hat Ceph Storage 5.0 | registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.5 |
Red Hat Ceph Storage 5.0z1 및 5.1 | registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.6 | |
Red Hat Ceph Storage 5.2 이상 | registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.10 | |
AlertManager | Red Hat Ceph Storage 5.0 | registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.5 |
Red Hat Ceph Storage 5.0z1 및 5.1 | registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.6 | |
Red Hat Ceph Storage 5.2 이상 | registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.10 | |
HAProxy | Red Hat Ceph Storage 5.1 이상 | registry.redhat.io/rhceph/rhceph-haproxy-rhel8:latest |
keepalived | Red Hat Ceph Storage 5.1 이상 | registry.redhat.io/rhceph/keepalived-rhel8:latest |
SNMP Gateway | Red Hat Ceph Storage 5.0 이상 | registry.redhat.io/rhceph/snmp-notifier-rhel8:latest |
절차
cephadm
및cephadm-ansible
패키지를 업데이트합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dnf update cephadm dnf update cephadm-ansible
[root@admin ~]# dnf update cephadm [root@admin ~]# dnf update cephadm-ansible
upgrade_ceph_packages
매개변수가true
로 설정된 상태에서 preflight 플레이북을 실행하고 스토리지 클러스터의 부트스트랩 호스트에서ceph_origin
매개변수를사용자 지정
으로 설정합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=custom upgrade_ceph_packages=true"
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=custom 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=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
쉘에 로그인합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm shell
[root@host01 ~]# cephadm shell
모든 호스트가 온라인 상태인지 확인하고 스토리지 클러스터가 정상 상태인지 확인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph -s
[ceph: root@host01 /]# ceph -s
업그레이드 중에 OSD
noout
,noscrub
,nodeep-scrub
플래그를 설정하여 OSD가 클러스터에서 불필요한 로드를 방지합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [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-scrub
서비스 버전 및 사용 가능한 대상 컨테이너를 확인합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph orch upgrade check IMAGE_NAME
ceph orch upgrade check IMAGE_NAME
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph orch upgrade check LOCAL_NODE_FQDN:5000/rhceph/rhceph-5-rhel8
[ceph: root@host01 /]# ceph orch upgrade check LOCAL_NODE_FQDN:5000/rhceph/rhceph-5-rhel8
스토리지 클러스터를 업그레이드합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph orch upgrade start IMAGE_NAME
ceph orch upgrade start IMAGE_NAME
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph orch upgrade start LOCAL_NODE_FQDN:5000/rhceph/rhceph-5-rhel8
[ceph: root@host01 /]# ceph orch upgrade start LOCAL_NODE_FQDN:5000/rhceph/rhceph-5-rhel8
업그레이드가 진행되는 동안
ceph 상태
출력에 진행률 표시줄이 표시됩니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph status [...] progress: Upgrade to 16.2.0-115.el8cp (1s) [............................]
[ceph: root@host01 /]# ceph status [...] progress: Upgrade to 16.2.0-115.el8cp (1s) [............................]
Ceph 클러스터의 새로운 IMAGE_ID 및 VERSION 을 확인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph version [ceph: root@host01 /]# ceph versions [ceph: root@host01 /]# ceph orch ps
[ceph: root@host01 /]# ceph version [ceph: root@host01 /]# ceph versions [ceph: root@host01 /]# ceph orch ps
업그레이드가 완료되면
noout
,noscrub
,nodeep-scrub
플래그를 설정 해제합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [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-scrub
추가 리소스
- Red Hat Ceph Storage 설치 가이드의 CDN에 Red Hat Ceph Storage 노드 등록 및 서브스크립션 연결 섹션을 참조하십시오.
- Red Hat Ceph Storage 설치 가이드의 연결이 끊긴 설치 안내서에서 프라이빗 레지스트리 구성 섹션을 참조하십시오.
3.3. 태그된 업그레이드
스토리지 관리자는 한 번에 모든 Red Hat Ceph Storage 구성 요소를 단계적으로 업그레이드할 수 있습니다. Red Hat Ceph Storage 5.2부터 ceph 또는ch upgrade
명령을 사용하면 단일 업그레이드 명령으로 업그레이드할 데몬을 제한할 수 있는 옵션을 지정할 수 있습니다.
태그장 업그레이드를 지원하지 않는 버전에서 업그레이드하려면 먼저 Ceph Manager(ceph-mgr
) 데몬을 수동으로 업그레이드해야 합니다. 이전 릴리스에서 staggered 업그레이드를 수행하는 방법에 대한 자세한 내용은 이전 릴리스에서 staggered 업그레이드 수행을 참조하십시오.
3.3.1. 태그된 업그레이드 옵션
Red Hat Ceph Storage 5.2부터 ceph 또는ch 업그레이드
명령은 클러스터 구성 요소를 단계적으로 업그레이드하는 몇 가지 옵션을 지원합니다. 태그된 업그레이드 옵션에는 다음이 포함됩니다.
-
--daemon_types:
--daemon_types
옵션은 쉼표로 구분된 데몬 목록이며 해당 유형의 데몬만 업그레이드합니다. 이 옵션의 유효한 데몬 유형에는mgr
,mon
,crash
,osd
, mds ,mds
,rgw
,rbd-mirror
,cephfs-mirror
,iscsi
,nfs
등이 있습니다. -
--services:
--services
옵션은--daemon-types
와 상호 배타적이며, 한 번에 하나의 서비스만 제공하고 해당 서비스에 속하는 데몬만 업그레이드합니다. 예를 들어 OSD 및 RGW 서비스를 동시에 제공할 수 없습니다. -
--hosts -
hosts 옵션을
,--
daemon_types--services
와 결합하거나 자체적으로 사용할 수 있습니다.--hosts
옵션 매개변수는 오케스트레이터 CLI 배치 사양에 대한 명령줄 옵션과 동일한 형식을 따릅니다. -
--limit
옵션은 0보다 큰 정수를 사용하고 데몬cephadm
이 업그레이드되는 데몬의 수에 대한 숫자 제한을 제공합니다.--limit
옵션을--daemon_types
,--services
또는--hosts
와 결합할 수 있습니다. 예를 들어 제한이 3으로 설정된host01
에서osd
유형의 데몬을 업그레이드하도록 지정하는 경우cephadm
은 host01의 OSD 데몬을3
개로 업그레이드합니다.
3.3.2. 태그된 업그레이드 수행
스토리지 관리자는 ceph 또는ch 업그레이드 옵션을 사용하여 단일 업그레이드
명령으로 업그레이드하는 데몬을 제한할 수 있습니다.
Cephadm은 스taggered 업그레이드 시나리오에 여전히 존재하는 데몬 업그레이드에 대한 순서를 엄격하게 적용합니다. 현재 업그레이드 순서는 다음과 같습니다.
- Ceph Manager 노드
- Ceph Monitor 노드
- Ceph-crash 데몬
- Ceph OSD 노드
- Ceph Metadata Server (MDS) 노드
- Ceph Object Gateway(RGW) 노드
- Ceph RBD-mirror 노드
- CephFS-mirror 노드
- Ceph iSCSI 게이트웨이 노드
- Ceph NFS 노드
데몬을 업그레이드하지 않는 매개변수를 지정하면 업그레이드 명령에서 업그레이드하기 전에 업그레이드해야 하는 데몬을 기록합니다.
예제
[ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-5-rhel8: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 -> iscsi -> nfs
[ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-5-rhel8: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 -> iscsi -> nfs
사전 요구 사항
- Red Hat Ceph Storage 5.2 이상을 실행하는 클러스터입니다.
- 모든 노드에 대한 루트 수준 액세스입니다.
- 스토리지 클러스터에 2개 이상의 Ceph Manager 노드(하나의 활성 및 대기 시간)입니다.
절차
cephadm
쉘에 로그인합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm shell
[root@host01 ~]# cephadm shell
모든 호스트가 온라인 상태인지 확인하고 스토리지 클러스터가 정상 상태인지 확인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph -s
[ceph: root@host01 /]# ceph -s
업그레이드 중에 OSD
noout
,noscrub
,nodeep-scrub
플래그를 설정하여 OSD가 클러스터에서 불필요한 로드를 방지합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [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-scrub
서비스 버전 및 사용 가능한 대상 컨테이너를 확인합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph orch upgrade check IMAGE_NAME
ceph orch upgrade check IMAGE_NAME
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph orch upgrade check registry.redhat.io/rhceph/rhceph-5-rhel8:latest
[ceph: root@host01 /]# ceph orch upgrade check registry.redhat.io/rhceph/rhceph-5-rhel8:latest
스토리지 클러스터를 업그레이드합니다.
특정 호스트에서 특정 데몬 유형을 업그레이드하려면 다음을 수행합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph orch upgrade start --image IMAGE_NAME --daemon-types DAEMON_TYPE1,DAEMON_TYPE2 --hosts HOST1,HOST2
ceph orch upgrade start --image IMAGE_NAME --daemon-types DAEMON_TYPE1,DAEMON_TYPE2 --hosts HOST1,HOST2
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-5-rhel8:latest --daemon-types mgr,mon --hosts host02,host03
[ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-5-rhel8:latest --daemon-types mgr,mon --hosts host02,host03
특정 서비스를 지정하고 업그레이드할 데몬 수를 제한하려면 다음을 수행합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph orch upgrade start --image IMAGE_NAME --services SERVICE1,SERVICE2 --limit LIMIT_NUMBER
ceph orch upgrade start --image IMAGE_NAME --services SERVICE1,SERVICE2 --limit LIMIT_NUMBER
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-5-rhel8:latest --services rgw.example1,rgw1.example2 --limit 2
[ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-5-rhel8:latest --services rgw.example1,rgw1.example2 --limit 2
참고제한 매개변수를 사용하는 경우 Ceph Manager 데몬을 업그레이드한 후 Prometheus 및
node-exporter
를 포함한 모니터링 스택 데몬이 새로 고쳐집니다. 제한 매개변수로 인해 Ceph Manager 업그레이드를 완료하는 데 시간이 오래 걸립니다. 모니터링 스택 데몬의 버전은 Ceph 릴리스 간에 변경되지 않을 수 있습니다(이 경우 재배포됨).참고제한 매개변수가 있는 업그레이드 명령은 업그레이드를 시작하기 전에 옵션을 검증합니다. 이 옵션은 새 컨테이너 이미지를 가져와야 할 수 있습니다. 결과적으로 제한 매개변수를 제공할 때
upgrade start
명령을 실행하는 데 시간이 걸릴 수 있습니다.
업그레이드해야 하는 데몬을 확인하려면
ceph orch upgrade check
또는ceph versions
명령을 실행합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph orch upgrade check --image registry.redhat.io/rhceph/rhceph-5-rhel8:latest
[ceph: root@host01 /]# ceph orch upgrade check --image registry.redhat.io/rhceph/rhceph-5-rhel8:latest
스taggered 업그레이드를 완료하려면 나머지 모든 서비스의 업그레이드를 확인하십시오.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph orch upgrade start --image IMAGE_NAME
ceph orch upgrade start --image IMAGE_NAME
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-5-rhel8:latest
[ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-5-rhel8:latest
업그레이드가 완료되면
noout
,noscrub
,nodeep-scrub
플래그를 설정 해제합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [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-scrub
검증
Ceph 클러스터의 새로운 IMAGE_ID 및 VERSION 을 확인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph versions [ceph: root@host01 /]# ceph orch ps
[ceph: root@host01 /]# ceph versions [ceph: root@host01 /]# ceph orch ps
추가 리소스
-
cephadm을 사용하여 Red Hat Ceph Storage 클러스터를 업그레이드하는 방법에 대한 자세한 내용은
cephadm
을 사용하여 Red Hat Ceph Storage 클러스터 업그레이드를 참조하십시오.
3.3.3. 이전 릴리스에서 스taggered 업그레이드 수행
Red Hat Ceph Storage 5.2부터 필요한 인수를 제공하여 스토리지 클러스터에서 중요한 업그레이드를 수행할 수 있습니다. 태그장 업그레이드를 지원하지 않는 버전에서 업그레이드하려면 먼저 Ceph Manager(ceph-mgr
) 데몬을 수동으로 업그레이드해야 합니다. Ceph Manager 데몬을 업그레이드하면 제한 매개변수를 전달하여 staggered 업그레이드를 완료할 수 있습니다.
이 절차를 시도하기 전에 두 개 이상의 Ceph Manager 데몬이 실행되고 있는지 확인합니다.
사전 요구 사항
- Red Hat Ceph Storage 5.0 이상을 실행하는 클러스터입니다.
- 스토리지 클러스터에 2개 이상의 Ceph Manager 노드(하나의 활성 및 대기 시간)입니다.
절차
Cephadm 쉘에 로그인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm shell
[root@host01 ~]# cephadm shell
활성 상태의 Ceph Manager 및 대기 시간 확인:
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [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: 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
각 standby Ceph Manager 데몬을 수동으로 업그레이드합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph orch daemon redeploy mgr.ceph-HOST.MANAGER_ID --image IMAGE_ID
ceph orch daemon redeploy mgr.ceph-HOST.MANAGER_ID --image IMAGE_ID
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph orch daemon redeploy mgr.ceph-host02.pzgrhz --image registry.redhat.io/rhceph/rhceph-5-rhel8:latest
[ceph: root@host01 /]# ceph orch daemon redeploy mgr.ceph-host02.pzgrhz --image registry.redhat.io/rhceph/rhceph-5-rhel8:latest
업그레이드된 Wait Ceph Manager로 장애 조치(fail over)합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph mgr fail
[ceph: root@host01 /]# ceph mgr fail
Waiting Ceph Manager가 활성 상태인지 확인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [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: 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가 새 버전으로 업그레이드되었는지 확인합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph tell mgr.ceph-HOST.MANAGER_ID version
ceph tell mgr.ceph-HOST.MANAGER_ID version
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph tell mgr.host02.pzgrhz version { "version": "16.2.8-12.el8cp", "release": "pacific", "release_type": "stable" }
[ceph: root@host01 /]# ceph tell mgr.host02.pzgrhz version { "version": "16.2.8-12.el8cp", "release": "pacific", "release_type": "stable" }
- 2단계를 반복하여 나머지 Ceph Manager를 새 버전으로 업그레이드합니다.
모든 Ceph Manager가 새 버전으로 업그레이드되었는지 확인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph mgr versions { "ceph version 16.2.8-12.el8cp (600e227816517e2da53d85f2fab3cd40a7483372) pacific (stable)": 2 }
[ceph: root@host01 /]# ceph mgr versions { "ceph version 16.2.8-12.el8cp (600e227816517e2da53d85f2fab3cd40a7483372) pacific (stable)": 2 }
- 모든 Ceph Manager를 업그레이드하면 제한 매개변수를 지정하고 나머지 staggered 업그레이드를 완료할 수 있습니다.
추가 리소스
- staggered 업그레이드 및 staggered 업그레이드 옵션을 수행하는 방법에 대한 자세한 내용은 스taggered 업그레이드 수행을 참조하십시오.
3.4. 스토리지 클러스터 업그레이드 모니터링 및 관리
ceph orch upgrade start
명령을 실행하여 Red Hat Ceph Storage 클러스터를 업그레이드한 후 상태 점검, 일시 중지, 재개 또는 업그레이드 프로세스를 중지할 수 있습니다. 클러스터 상태가 업그레이드 중 HEALTH_WARNING
으로 변경됩니다. 클러스터 호스트가 오프라인 상태이면 업그레이드가 일시 중지됩니다.
데몬 유형을 한 번 업그레이드한 후 다른 데몬 유형을 업그레이드해야 합니다. 데몬을 업그레이드할 수 없는 경우 업그레이드가 일시 중지됩니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터 5.
- 모든 노드에 대한 루트 수준 액세스입니다.
- 스토리지 클러스터에 2개 이상의 Ceph Manager 노드(하나의 활성 및 대기 시간)입니다.
- 시작된 스토리지 클러스터 업그레이드
절차
업그레이드가 진행 중인지와 클러스터가 업그레이드 중인 버전을 확인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@node0 /]# ceph orch upgrade status
[ceph: root@node0 /]# ceph orch upgrade status
참고업그레이드가 완료되면 메시지가 표시되지 않습니다.
ceph 버전
및ceph orch ps
명령을 실행하여 새 이미지 ID와 스토리지 클러스터 버전을 확인합니다.선택 사항: 업그레이드 프로세스를 일시 중지합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@node0 /]# ceph orch upgrade pause
[ceph: root@node0 /]# ceph orch upgrade pause
선택 사항: 일시 중지된 업그레이드 프로세스를 다시 시작합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@node0 /]# ceph orch upgrade resume
[ceph: root@node0 /]# ceph orch upgrade resume
선택 사항: 업그레이드 프로세스를 중지합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@node0 /]# ceph orch upgrade stop
[ceph: root@node0 /]# ceph orch upgrade stop
3.5. 업그레이드 오류 메시지 문제 해결
다음 표는 일부 cephadm
업그레이드 오류 메시지를 보여줍니다. 어떤 이유로든 cephadm
업그레이드가 실패하면 스토리지 클러스터 상태에 오류 메시지가 표시됩니다.
오류 메시지 | 설명 |
---|---|
UPGRADE_NO_STANDBY_MGR | Ceph에는 활성 및 대기 시간 관리자 데몬을 모두 실행해야 하지만 현재 대기 상태가 없습니다. |
UPGRADE_FAILED_PULL | Ceph에서 대상 버전의 컨테이너 이미지를 가져올 수 없었습니다. 이러한 문제는 존재하지 않는 버전 또는 컨테이너 이미지를 지정하거나(예: 1.2.3) 클러스터의 하나 이상의 호스트에서 컨테이너 레지스트리에 연결할 수 없는 경우 발생할 수 있습니다. |