업그레이드 가이드
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 리포지토리를 활성화합니다.
예제
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible을 업데이트합니다.
예제
dnf update ansible ceph-ansible
[root@admin ceph-ansible]# dnf update ansible ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 업그레이드하려는 스토리지 클러스터에
배타적 잠금기능을 사용하는 Ceph Block Device 이미지가 포함된 경우 모든 Ceph Block Device 사용자에게 클라이언트에 대한 거부 목록을 생성할 수 있는 권한이 있는지 확인합니다.구문
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'Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cockpit을 사용하여 스토리지 클러스터를 원래 설치한 경우, Cockpit이 생성한 인벤토리 파일에
/usr/share/ceph-ansible디렉터리에 심볼릭 링크를 만듭니다./usr/share/ansible-runner-service/inventory/hosts:/usr/share/ceph-ansible디렉터리로 변경합니다.cd /usr/share/ceph-ansible
# cd /usr/share/ceph-ansibleCopy 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 hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ceph-ansible을 사용하여 클러스터를 업그레이드하려면etc/ansible/hosts디렉터리에hosts인벤토리 파일로 심볼릭 링크를 생성합니다.ln -s /etc/ansible/hosts hosts
# ln -s /etc/ansible/hosts hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cockpit을 사용하여 스토리지 클러스터를 원래 설치한 경우 Cockpit 생성 SSH 키를 Ansible 사용자의
~/.ssh디렉터리에 복사합니다.키를 복사합니다.
구문
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_rsaCopy to Clipboard Copied! Toggle word wrap Toggle overflow ANSIBLE_USERNAME 을 Ansible의 사용자 이름으로 교체합니다. 일반적인 기본 사용자 이름은
admin입니다.예제
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_rsaCopy 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_rsaCopy to Clipboard Copied! Toggle word wrap Toggle overflow ANSIBLE_USERNAME 을 Ansible의 사용자 이름으로 교체합니다. 일반적인 기본 사용자 이름은
admin입니다.예제
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_rsaCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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에 구성 매개변수에 대한 다음과 같은 기본값이 있는지 확인합니다.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: trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이러한 값은 로컬 레지스트리와 사용자 정의 이미지 이름을 사용하는 경우 다릅니다.
선택사항: 베어 메탈 스토리지 클러스터에서 명령줄 인터페이스를 사용하여 구성된 양방향 RBD 미러링의 경우 클러스터는 RBD 미러링을 마이그레이션하지 않습니다. 이러한 구성의 경우 컨테이너화되지 않은 스토리지 클러스터를 컨테이너화된 배포로 마이그레이션하기 전에 다음 단계를 따르십시오.
Ceph 클라이언트 노드에서 사용자를 생성합니다.
구문
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.keyringCopy 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.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/ceph디렉토리의auth파일의 사용자 이름을 변경합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인증파일을 가져와 관련 권한을 추가합니다.구문
ceph auth import -i PATH_TO_KEYRING
ceph auth import -i PATH_TO_KEYRINGCopy 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.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow RBD 미러 노드의 서비스 이름을 확인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow rbd-mirror 노드를
/etc/ansible/hosts파일에 추가합니다.예제
[rbdmirrors] ceph.client.rbd-mirror.rbd-client-site-a
[rbdmirrors] ceph.client.rbd-mirror.rbd-client-site-aCopy 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.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -vvv옵션은 변환 프로세스의 자세한 로그를 수집합니다.예제
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.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 플레이북이 성공적으로 완료되면
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으로 변환합니다.예제
ansible-playbook -vvvv -i hosts infrastructure-playbooks/ docker-to-podman.yml
[ceph-admin@admin ceph-ansible]$ ansible-playbook -vvvv -i hosts infrastructure-playbooks/ docker-to-podman.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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로 업그레이드합니다.
절차
모니터 서비스를 중지합니다.
구문
systemctl stop ceph-mon@MONITOR_ID
systemctl stop ceph-mon@MONITOR_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow MONITOR_ID 를 모니터 노드의 ID 번호로 바꿉니다.
Red Hat Ceph Storage 4를 사용하는 경우 Red Hat Ceph Storage 4 리포지토리를 비활성화합니다.
tools 리포지토리를 비활성화합니다.
subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
# subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow mon 저장소를 비활성화합니다.
subscription-manager repos --disable=rhel-7-server-rhceph-4-mon-rpms
# subscription-manager repos --disable=rhel-7-server-rhceph-4-mon-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
leapp유틸리티를 사용하여 스토리지 클러스터를 업그레이드하면 많은 Ceph 패키지가 제거됩니다. 업그레이드하기 전에 Ceph 패키지를 기록해 두십시오.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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을 설치합니다.
dnf install ceph-ansible
[root@admin ~]# dnf install ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow ansible사용자로 업그레이드된 모든 노드에서 Ansible 플레이북을 실행합니다.베어 메탈 배포:
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 hostsCopy 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 hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat Enterprise Linux 9.x로 업그레이드한 후 다른 노드에서
/etc/ceph/'의 업그레이드된 노드로podman-auth.json파일을 복사한 다음 각 서비스를 다시 시작합니다.systemctl restart _SERVICE NAME_
# systemctl restart _SERVICE NAME_Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
/etc/ssh/sshd_config에서PermitRootLogin yes를 설정합니다. OpenSSH SSH 데몬을 다시 시작합니다.
systemctl restart sshd.service
# systemctl restart sshd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Linux 커널에서 iSCSI 모듈을 제거합니다.
modprobe -r iscsi
# modprobe -r iscsiCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 노드를 재부팅합니다.
Red Hat Ceph Storage 5용 리포지토리를 활성화합니다.
툴 리포지토리를 활성화합니다.
Red Hat Enterprise Linux 8
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 9
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
아직 업그레이드되지 않았거나 이미 이러한 파일이 복원된 노드에서
ceph-client-admin.keyring및ceph.conf파일을 복원하십시오. Ceph Monitor 서비스를 다시 시작합니다.
예제
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.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 모니터 및 관리자 서비스가 백업되었으며 모니터가 쿼럼에 있는지 확인합니다.
구문
ceph -s
ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 서비스 아래의 mon: 행에서는 노드가 쿼럼이 아닌 쿼럼 에서 로 나열되는 지 확인합니다.
예제
ceph -s mon: 3 daemons, quorum node0,node1,node2 (age 2h) mgr: node0(active, since 2h), standbys: node1, node2
# ceph -s mon: 3 daemons, quorum node0,node1,node2 (age 2h) mgr: node0(active, since 2h), standbys: node1, node2Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 모두 업그레이드될 때까지 모든 모니터 노드에서 위의 단계를 반복합니다.
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플래그가 표시되지 않도록 설정합니다.구문
ceph osd set noout
ceph osd set nooutCopy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터에서 불필요한 로드를 방지하고 노드가 마이그레이션의 경우 데이터 재시프를 방지하려면 OSD
nobackfill,norecover,noscrub,nodeep-scrub플래그를 설정하여 OSD nobackfill , norebalance, noscrub 플래그를 설정합니다.구문
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-scrubCopy to Clipboard Copied! Toggle word wrap Toggle overflow 노드의 모든 OSD 프로세스를 정상적으로 종료합니다.
구문
systemctl stop ceph-osd.target
systemctl stop ceph-osd.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Ceph Storage 4를 사용하는 경우 Red Hat Ceph Storage 4 리포지토리를 비활성화합니다.
tools 리포지토리를 비활성화합니다.
구문
subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow osd 저장소를 비활성화합니다.
구문
subscription-manager repos --disable=rhel-7-server-rhceph-4-osd-rpms
subscription-manager repos --disable=rhel-7-server-rhceph-4-osd-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
st
app유틸리티를 설치합니다. Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로 업그레이드를 참조하십시오. -
stapp preupgrade 검사를 통해 실행합니다.
명령줄의 Assessing upgradability를 참조하십시오. -
/etc/ssh/sshd_config에서PermitRootLogin yes를 설정합니다. OpenSSH SSH 데몬을 다시 시작합니다.
구문
systemctl restart sshd.service
systemctl restart sshd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Linux 커널에서 iSCSI 모듈을 제거합니다.
구문
modprobe -r iscsi
modprobe -r iscsiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 9
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
ceph.conf파일을 복원합니다. noout,nobackfill,norecover,norebalance,noscrub및nodeep-scrub플래그를 설정 해제합니다.구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD가
up및 인지,active+clean상태인지 확인합니다.구문
ceph -s
ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow osd: 아래의 행에서 :, 모든 OSD가 실행
중인지확인합니다.예제
ceph -s osd: 3 osds: 3 up (since 8s), 3 in (since 3M)
# ceph -s osd: 3 osds: 3 up (since 8s), 3 in (since 3M)Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 모두 업그레이드될 때까지 모든 OSD 노드에서 이 절차를 반복합니다.
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 서비스를 중지합니다.
구문
systemctl stop ceph-radosgw.target
# systemctl stop ceph-radosgw.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Ceph Storage 4 툴 리포지토리를 비활성화합니다.
subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
# subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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가11shard로 설정되어 있는지 확인합니다. 그렇지 않은 경우 영역 그룹 수준에서 이 구성을 수정합니다.구문
radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAME
radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAMECopy 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 mybucketCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenSSH SSH 데몬을 다시 시작합니다.
systemctl restart sshd.service
# systemctl restart sshd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Linux 커널에서 iSCSI 모듈을 제거합니다.
modprobe -r iscsi
# modprobe -r iscsiCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로의 업그레이드 수행에 따라 업그레이드를 수행합니다.
툴 리포지토리를 활성화합니다.
Red Hat Enterprise Linux 8
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 9
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
ceph-client-admin.keyring및ceph.conf파일을 복원합니다. 데몬이 활성 상태인지 확인합니다.
구문
ceph -s
ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow services 에서 rgw: 행을 확인합니다. RGW 데몬이 활성 상태인지 확인합니다.
예제
rgw: 1 daemon active (node4.rgw0)
rgw: 1 daemon active (node4.rgw0)Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 모두 업그레이드될 때까지 모든 Ceph Object Gateway 노드에서 위의 단계를 반복합니다.
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로 줄입니다.
구문
ceph fs set FILE_SYSTEM_NAME max_mds 1
ceph fs set FILE_SYSTEM_NAME max_mds 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
ceph fs set fs1 max_mds 1
[root@mds ~]# ceph fs set fs1 max_mds 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터가 모든 MDS 순위를 중지할 때까지 기다립니다. 모든 MDS가 중지되면 순위 0만 활성화되어야 합니다. 나머지는 Wait 모드여야 합니다. 파일 시스템의 상태를 확인합니다.
ceph status
[root@mds ~]# ceph statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl을 사용하여 모든 MDS를 오프라인으로 전환합니다.systemctl stop ceph-mds.target
[root@mds ~]# systemctl stop ceph-mds.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow 하나의 MDS만 온라인 상태인지 확인하고 파일 시스템의 순위 0이 있는지 확인합니다.
[ceph: root@host01 /]# ceph status
[ceph: root@host01 /]# ceph statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Ceph Storage 4 툴 리포지토리를 비활성화합니다.
subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
[root@mds ~]# subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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 데몬을 다시 시작합니다.
systemctl restart sshd.service
[root@mds ~]# systemctl restart sshd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Linux 커널에서 iSCSI 모듈을 제거합니다.
modprobe -r iscsi
[root@mds ~]# modprobe -r iscsiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 업그레이드를 수행합니다.
- 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
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 9
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
ceph-client-admin.keyring및ceph.conf파일을 복원합니다. 데몬이 활성 상태인지 확인합니다.
ceph -s
[root@mds ~]# ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 대기 데몬에 대해 동일한 프로세스를 따릅니다.
Wait에서 모든 MDS를 다시 시작한 후 클러스터의
max_mds값을 복원하십시오.구문
ceph fs set FILE_SYSTEM_NAME max_mds ORIGINAL_VALUE
ceph fs set FILE_SYSTEM_NAME max_mds ORIGINAL_VALUECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
ceph fs set fs1 max_mds 5
[root@mds ~]# ceph fs set fs1 max_mds 5Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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 툴 리포지토리를 비활성화합니다.
subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
# subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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 데몬을 다시 시작합니다.
systemctl restart sshd.service
# systemctl restart sshd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Linux 커널에서 iSCSI 모듈을 제거합니다.
modprobe -r iscsi
# modprobe -r iscsiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 업그레이드를 수행합니다.
- 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
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 9
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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용 툴 리포지토리를 비활성화합니다.
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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 데몬을 다시 시작합니다.
systemctl restart sshd.service
[root@mds ~]# systemctl restart sshd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Linux 커널에서 iSCSI 모듈을 제거합니다.
modprobe -r iscsi
[root@mds ~]# modprobe -r iscsiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 업그레이드를 수행합니다.
- 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
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 9
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
ceph-client-admin.keyring및ceph.conf파일을 복원합니다.
1.7. 백업 파일 복원 링크 복사링크가 클립보드에 복사되었습니다!
스토리지 클러스터의 각 노드에서 호스트 OS 업그레이드를 완료한 후 이전에 백업한 모든 파일을 각 노드로 복원하여 업그레이드된 노드가 보존된 설정을 사용하도록 합니다.
해당 호스트의 OS 업그레이드 프로세스가 완료된 후 스토리지 클러스터의 각 호스트에서 이 프로세스를 반복합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 스토리지 클러스터의 모든 노드에 대한 루트 수준 액세스.
절차
- 호스트 OS를 호스트로 업그레이드하기 전에 백업한 파일을 복원합니다.
-
/etc/ceph폴더 및 해당 콘텐츠를ceph.client.admin.keyring및ceph.conf파일을 포함한 모든 호스트에 복원합니다. -
/etc/ganesha/폴더를 각 노드에 복원합니다. 운영 체제를 업그레이드한 후 각 백업 파일의 소유권이 변경되지 않았는지 확인합니다. 파일 소유자는
ceph여야 합니다. 파일 소유자가root로 변경된 경우 각 파일에서 다음 명령을 사용하여 소유권을ceph로 다시 변경합니다.예제
chown ceph: ceph.client.rbd-mirror.node1.keyring
[root@admin]# chown ceph: ceph.client.rbd-mirror.node1.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Red Hat Enterprise Linux 7에서 Red Hat Enterprise Linux 8로 업그레이드했는데 스토리지 클러스터에 RBD 미러링이 정의되어 있는 경우 백업 사본에서
/etc/ceph폴더를 복원하십시오. -
이전에 백업한
group_vars/rbdmirrors.yml파일을 복원합니다. 모든 노드에서 폴더 소유권을 변경합니다.
예제
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/cephCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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파일의 백업 사본을 만듭니다.예제
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.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 9
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible 관리 노드에서 최신 버전의
ansible및ceph-ansible패키지가 설치되어 있는지 확인합니다.구문
dnf update ansible ceph-ansible
dnf update ansible ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/ceph-ansible/디렉터리로 이동합니다.예제
cd /usr/share/ceph-ansible
[root@admin ~]# cd /usr/share/ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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로 변경합니다.예제
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.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
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 참고Red Hat Ceph Storage 5 컨테이너 이미지가 기본값으로 설정되어 있는지 확인합니다.
group_vars/osds.yml파일을 편집합니다. 다음 옵션을 추가하고 설정합니다.구문
nb_retry_wait_osd_up: 50 delay_wait_osd_up: 30
nb_retry_wait_osd_up: 50 delay_wait_osd_up: 30Copy to Clipboard Copied! Toggle word wrap Toggle overflow group_vars/all.yml파일을 열고 이전all.yml파일에서 다음 값이 있는지 확인합니다.fetch_directory옵션은 이전all.yml파일과 동일한 값으로 설정됩니다.구문
fetch_directory: FULL_DIRECTORY_PATH
fetch_directory: FULL_DIRECTORY_PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow FULL_DIRECTORY_PATH 를 Ansible 사용자의 홈 디렉터리와 같은 쓰기 가능한 위치로 바꿉니다.
업그레이드하려는 클러스터에 Ceph Object Gateway 노드가 포함된 경우
radosgw_interface옵션을 추가합니다.radosgw_interface: INTERFACE
radosgw_interface: INTERFACECopy to Clipboard Copied! Toggle word wrap Toggle overflow INTERFACE 를 Ceph Object Gateway 노드에서 수신 대기하는 인터페이스로 교체합니다.
현재 설정에 SSL 인증서가 구성된 경우 다음을 편집합니다.
구문
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: 443Copy to Clipboard Copied! Toggle word wrap Toggle overflow upgrade_ceph_packages옵션의 주석을 제거하고True로 설정합니다.구문
upgrade_ceph_packages: True
upgrade_ceph_packages: TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 스토리지 클러스터에 노드당 Ceph Object Gateway 인스턴스가 두 개 이상 있는 경우
radosgw_num_instances설정의 주석 처리를 해제하고 클러스터의 노드당 인스턴스 수로 설정합니다.구문
radosgw_num_instances : NUMBER_OF_INSTANCES_PER_NODE
radosgw_num_instances : NUMBER_OF_INSTANCES_PER_NODECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
radosgw_num_instances : 2
radosgw_num_instances : 2Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
스토리지 클러스터에 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가11shard로 설정되어 있는지 확인합니다. 그렇지 않은 경우 영역 그룹 수준에서 이 구성을 수정합니다.구문
radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAME
radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAMECopy 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 mybucketCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Ansible 관리 노드에
ansible-user로 로그인합니다. --extra-vars옵션을 사용하여infrastructure-playbooks/rolling_update.yml플레이북을 업데이트하고health_osd_check_retries및health_osd_check_delay값을 각각50및30으로 변경합니다.예제
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"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 각 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로 변환합니다.구문
ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i INVENTORY_FILE
ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i INVENTORY_FILECopy to Clipboard Copied! Toggle word wrap Toggle overflow -vvv 옵션은 업그레이드 프로세스의 자세한 로그를 수집합니다.
예제
ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i hosts
[ceph-admin@admin ceph-ansible]$ ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요rolling_update.yml플레이북에--limitAnsible 옵션을 사용하는 것은 지원되지 않습니다.- Ansible 플레이북 로그 출력을 검토하여 업그레이드 상태를 확인합니다.
검증
실행 중인 컨테이너를 모두 나열합니다.
예제
podman ps
[root@mon ~]# podman psCopy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터의 상태를 확인합니다. MONITOR_ID 를 이전 단계에서 찾은 Ceph Monitor 컨테이너의 이름으로 교체합니다.
구문
podman exec ceph-mon-MONITOR_ID ceph -s
podman exec ceph-mon-MONITOR_ID ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
podman exec ceph-mon-mon01 ceph -s
[root@mon ~]# podman exec ceph-mon-mon01 ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph 클러스터 데몬 버전을 확인하여 모든 데몬 업그레이드를 확인합니다. MONITOR_ID 를 이전 단계에서 찾은 Ceph Monitor 컨테이너의 이름으로 교체합니다.
구문
podman exec ceph-mon-MONITOR_ID ceph --cluster ceph versions
podman exec ceph-mon-MONITOR_ID ceph --cluster ceph versionsCopy 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 versionsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm-adopt플레이북을 실행합니다.구문
ansible-playbook infrastructure-playbooks/cephadm-adopt.yml -i INVENTORY_FILE
ansible-playbook infrastructure-playbooks/cephadm-adopt.yml -i INVENTORY_FILECopy 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 hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 최소 compat 클라이언트 매개변수를
luminous로 설정합니다.예제
[ceph: root@node0 /]# ceph osd set-require-min-compat-client luminous
[ceph: root@node0 /]# ceph osd set-require-min-compat-client luminousCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 NFS-Ganesha 풀에서 애플리케이션을 실행할 수 있습니다. POOL_NAME 은
nfs-ganesha이고 APPLICATION_NAME 은 사용할 애플리케이션 이름입니다(예:cephfs,rbd또는rgw).구문
ceph osd pool application enable POOL_NAME APPLICATION_NAME
ceph osd pool application enable POOL_NAME APPLICATION_NAMECopy 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 rgwCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요cephadm-adopt플레이북은 Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 5로 스토리지 클러스터를 마이그레이션한 후 rbd-mirroring을 가져오지 않습니다.이 문제를 해결하려면 피어를 수동으로 추가합니다.
구문
rbd mirror pool peer add POOL_NAME CLIENT_NAME@CLUSTER_NAME
rbd mirror pool peer add POOL_NAME CLIENT_NAME@CLUSTER_NAMECopy 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-bCopy to Clipboard Copied! Toggle word wrap Toggle overflow 업그레이드 후 Grafana 제거:
Cephadm 쉘에 로그인합니다.
예제
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow 스토리지 클러스터에서 Grafana 이름을 가져옵니다.
예제
[ceph: root@host01 /]# ceph orch ps --daemon_type grafana
[ceph: root@host01 /]# ceph orch ps --daemon_type grafanaCopy to Clipboard Copied! Toggle word wrap Toggle overflow Grafana 제거:
구문
ceph orch daemon rm GRAFANA_DAEMON_NAME
ceph orch daemon rm GRAFANA_DAEMON_NAMECopy 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 cephadmCopy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm은 Grafana 서비스 및 데몬을 재배포합니다.
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패키지 설치 제거:구문
dnf remove ansible ceph-ansible
dnf remove ansible ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible 리포지토리를 비활성화하고 Ansible 관리 노드에서 Ceph 리포지토리를 활성화합니다.
Red Hat Enterprise Linux 8
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 9
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-core를 종속성으로 설치하는cephadm-ansible패키지를 설치합니다.구문
dnf install cephadm-ansible
dnf install cephadm-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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 리포지토리를 활성화합니다.
예제
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible을 업데이트합니다.
예제
dnf update ansible ceph-ansible
[root@admin ceph-ansible]# dnf update ansible ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 업그레이드하려는 스토리지 클러스터에
배타적 잠금기능을 사용하는 Ceph Block Device 이미지가 포함된 경우 모든 Ceph Block Device 사용자에게 클라이언트에 대한 거부 목록을 생성할 수 있는 권한이 있는지 확인합니다.구문
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'Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cockpit을 사용하여 스토리지 클러스터를 원래 설치한 경우, Cockpit이 생성한 인벤토리 파일에
/usr/share/ceph-ansible디렉터리에 심볼릭 링크를 만듭니다./usr/share/ansible-runner-service/inventory/hosts:/usr/share/ceph-ansible디렉터리로 변경합니다.cd /usr/share/ceph-ansible
# cd /usr/share/ceph-ansibleCopy 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 hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ceph-ansible을 사용하여 클러스터를 업그레이드하려면etc/ansible/hosts디렉터리에hosts인벤토리 파일로 심볼릭 링크를 생성합니다.ln -s /etc/ansible/hosts hosts
# ln -s /etc/ansible/hosts hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cockpit을 사용하여 스토리지 클러스터를 원래 설치한 경우 Cockpit 생성 SSH 키를 Ansible 사용자의
~/.ssh디렉터리에 복사합니다.키를 복사합니다.
구문
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_rsaCopy to Clipboard Copied! Toggle word wrap Toggle overflow ANSIBLE_USERNAME 을 Ansible의 사용자 이름으로 교체합니다. 일반적인 기본 사용자 이름은
admin입니다.예제
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_rsaCopy 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_rsaCopy to Clipboard Copied! Toggle word wrap Toggle overflow ANSIBLE_USERNAME 을 Ansible의 사용자 이름으로 교체합니다. 일반적인 기본 사용자 이름은
admin입니다.예제
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_rsaCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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에 구성 매개변수에 대한 다음과 같은 기본값이 있는지 확인합니다.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: trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이러한 값은 로컬 레지스트리와 사용자 정의 이미지 이름을 사용하는 경우 다릅니다.
선택사항: 베어 메탈 스토리지 클러스터에서 명령줄 인터페이스를 사용하여 구성된 양방향 RBD 미러링의 경우 클러스터는 RBD 미러링을 마이그레이션하지 않습니다. 이러한 구성의 경우 컨테이너화되지 않은 스토리지 클러스터를 컨테이너화된 배포로 마이그레이션하기 전에 다음 단계를 따르십시오.
Ceph 클라이언트 노드에서 사용자를 생성합니다.
구문
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.keyringCopy 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.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/ceph디렉토리의auth파일의 사용자 이름을 변경합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인증파일을 가져와 관련 권한을 추가합니다.구문
ceph auth import -i PATH_TO_KEYRING
ceph auth import -i PATH_TO_KEYRINGCopy 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.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow RBD 미러 노드의 서비스 이름을 확인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow rbd-mirror 노드를
/etc/ansible/hosts파일에 추가합니다.예제
[rbdmirrors] ceph.client.rbd-mirror.rbd-client-site-a
[rbdmirrors] ceph.client.rbd-mirror.rbd-client-site-aCopy 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.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -vvv옵션은 변환 프로세스의 자세한 로그를 수집합니다.예제
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.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 플레이북이 성공적으로 완료되면
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
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 9
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible 관리 노드에서 최신 버전의
ansible및ceph-ansible패키지가 설치되어 있는지 확인합니다.구문
dnf update ansible ceph-ansible
dnf update ansible ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/ceph-ansible/디렉터리로 이동합니다.예제
cd /usr/share/ceph-ansible
[root@admin ~]# cd /usr/share/ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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로 변경합니다.예제
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.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
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 참고Red Hat Ceph Storage 5 컨테이너 이미지가 기본값으로 설정되어 있는지 확인합니다.
group_vars/osds.yml파일을 편집합니다. 다음 옵션을 추가하고 설정합니다.구문
nb_retry_wait_osd_up: 50 delay_wait_osd_up: 30
nb_retry_wait_osd_up: 50 delay_wait_osd_up: 30Copy to Clipboard Copied! Toggle word wrap Toggle overflow group_vars/all.yml파일을 열고 이전all.yml파일에서 다음 값이 있는지 확인합니다.fetch_directory옵션은 이전all.yml파일과 동일한 값으로 설정됩니다.구문
fetch_directory: FULL_DIRECTORY_PATH
fetch_directory: FULL_DIRECTORY_PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow FULL_DIRECTORY_PATH 를 Ansible 사용자의 홈 디렉터리와 같은 쓰기 가능한 위치로 바꿉니다.
업그레이드하려는 클러스터에 Ceph Object Gateway 노드가 포함된 경우
radosgw_interface옵션을 추가합니다.radosgw_interface: INTERFACE
radosgw_interface: INTERFACECopy to Clipboard Copied! Toggle word wrap Toggle overflow INTERFACE 를 Ceph Object Gateway 노드에서 수신 대기하는 인터페이스로 교체합니다.
현재 설정에 SSL 인증서가 구성된 경우 다음을 편집합니다.
구문
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: 443Copy to Clipboard Copied! Toggle word wrap Toggle overflow upgrade_ceph_packages옵션의 주석을 제거하고True로 설정합니다.구문
upgrade_ceph_packages: True
upgrade_ceph_packages: TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 스토리지 클러스터에 노드당 Ceph Object Gateway 인스턴스가 두 개 이상 있는 경우
radosgw_num_instances설정의 주석 처리를 해제하고 클러스터의 노드당 인스턴스 수로 설정합니다.구문
radosgw_num_instances : NUMBER_OF_INSTANCES_PER_NODE
radosgw_num_instances : NUMBER_OF_INSTANCES_PER_NODECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
radosgw_num_instances : 2
radosgw_num_instances : 2Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
스토리지 클러스터에 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가11shard로 설정되어 있는지 확인합니다. 그렇지 않은 경우 영역 그룹 수준에서 이 구성을 수정합니다.구문
radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAME
radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAMECopy 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 mybucketCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Ansible 관리 노드에
ansible-user로 로그인합니다. --extra-vars옵션을 사용하여infrastructure-playbooks/rolling_update.yml플레이북을 업데이트하고health_osd_check_retries및health_osd_check_delay값을 각각50및30으로 변경합니다.예제
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"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 각 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로 변환합니다.구문
ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i INVENTORY_FILE
ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i INVENTORY_FILECopy to Clipboard Copied! Toggle word wrap Toggle overflow -vvv 옵션은 업그레이드 프로세스의 자세한 로그를 수집합니다.
예제
ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i hosts
[ceph-admin@admin ceph-ansible]$ ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요rolling_update.yml플레이북에--limitAnsible 옵션을 사용하는 것은 지원되지 않습니다.- Ansible 플레이북 로그 출력을 검토하여 업그레이드 상태를 확인합니다.
검증
실행 중인 컨테이너를 모두 나열합니다.
예제
podman ps
[root@mon ~]# podman psCopy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터의 상태를 확인합니다. MONITOR_ID 를 이전 단계에서 찾은 Ceph Monitor 컨테이너의 이름으로 교체합니다.
구문
podman exec ceph-mon-MONITOR_ID ceph -s
podman exec ceph-mon-MONITOR_ID ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
podman exec ceph-mon-mon01 ceph -s
[root@mon ~]# podman exec ceph-mon-mon01 ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph 클러스터 데몬 버전을 확인하여 모든 데몬 업그레이드를 확인합니다. MONITOR_ID 를 이전 단계에서 찾은 Ceph Monitor 컨테이너의 이름으로 교체합니다.
구문
podman exec ceph-mon-MONITOR_ID ceph --cluster ceph versions
podman exec ceph-mon-MONITOR_ID ceph --cluster ceph versionsCopy 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 versionsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm-adopt플레이북을 실행합니다.구문
ansible-playbook infrastructure-playbooks/cephadm-adopt.yml -i INVENTORY_FILE
ansible-playbook infrastructure-playbooks/cephadm-adopt.yml -i INVENTORY_FILECopy 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 hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 최소 compat 클라이언트 매개변수를
luminous로 설정합니다.예제
[ceph: root@node0 /]# ceph osd set-require-min-compat-client luminous
[ceph: root@node0 /]# ceph osd set-require-min-compat-client luminousCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 NFS-Ganesha 풀에서 애플리케이션을 실행할 수 있습니다. POOL_NAME 은
nfs-ganesha이고 APPLICATION_NAME 은 사용할 애플리케이션 이름입니다(예:cephfs,rbd또는rgw).구문
ceph osd pool application enable POOL_NAME APPLICATION_NAME
ceph osd pool application enable POOL_NAME APPLICATION_NAMECopy 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 rgwCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요cephadm-adopt플레이북은 Red Hat Ceph Storage 4에서 Red Hat Ceph Storage 5로 스토리지 클러스터를 마이그레이션한 후 rbd-mirroring을 가져오지 않습니다.이 문제를 해결하려면 피어를 수동으로 추가합니다.
구문
rbd mirror pool peer add POOL_NAME CLIENT_NAME@CLUSTER_NAME
rbd mirror pool peer add POOL_NAME CLIENT_NAME@CLUSTER_NAMECopy 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-bCopy to Clipboard Copied! Toggle word wrap Toggle overflow 업그레이드 후 Grafana 제거:
Cephadm 쉘에 로그인합니다.
예제
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow 스토리지 클러스터에서 Grafana 이름을 가져옵니다.
예제
[ceph: root@host01 /]# ceph orch ps --daemon_type grafana
[ceph: root@host01 /]# ceph orch ps --daemon_type grafanaCopy to Clipboard Copied! Toggle word wrap Toggle overflow Grafana 제거:
구문
ceph orch daemon rm GRAFANA_DAEMON_NAME
ceph orch daemon rm GRAFANA_DAEMON_NAMECopy 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 cephadmCopy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm은 Grafana 서비스 및 데몬을 재배포합니다.
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패키지 설치 제거:구문
dnf remove ansible ceph-ansible
dnf remove ansible ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible 리포지토리를 비활성화하고 Ansible 관리 노드에서 Ceph 리포지토리를 활성화합니다.
Red Hat Enterprise Linux 8
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 9
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-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-core를 종속성으로 설치하는cephadm-ansible패키지를 설치합니다.구문
dnf install cephadm-ansible
dnf install cephadm-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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패키지를 업데이트합니다.예제
dnf update cephadm dnf update cephadm-ansible
[root@admin ~]# dnf update cephadm [root@admin ~]# dnf update cephadm-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/cephadm-ansible/디렉토리로 이동합니다.예제
cd /usr/share/cephadm-ansible
[root@admin ~]# cd /usr/share/cephadm-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 버킷이 생성되거나
num_shards = 0인 경우 Red Hat Ceph Storage 5.3으로 업그레이드하기 전에 버킷을 수동으로 다시 정렬합니다.구문
radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAME
radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAMECopy 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 mybucketCopy to Clipboard Copied! Toggle word wrap Toggle overflow 스토리지 클러스터의 부트스트랩 호스트에서
upgrade_ceph_packages매개변수가true로 설정된 상태에서 preflight 플레이북을 실행합니다.구문
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
ansible-playbook -i /etc/ansible/hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"
[ceph-admin@admin cephdm-ansible]$ ansible-playbook -i /etc/ansible/hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 패키지는 모든 노드에서
cephadm을 업그레이드합니다.cephadm쉘에 로그인합니다.예제
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 호스트가 온라인 상태인지 확인하고 스토리지 클러스터가 정상 상태인지 확인합니다.
예제
[ceph: root@host01 /]# ceph -s
[ceph: root@host01 /]# ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 업그레이드 중에 OSD
noout,noscrub,nodeep-scrub플래그를 설정하여 OSD가 클러스터에서 불필요한 로드를 방지합니다.예제
[ceph: root@host01 /]# ceph osd set noout [ceph: root@host01 /]# ceph osd set noscrub [ceph: root@host01 /]# ceph osd set nodeep-scrub
[ceph: root@host01 /]# ceph osd set noout [ceph: root@host01 /]# ceph osd set noscrub [ceph: root@host01 /]# ceph osd set nodeep-scrubCopy to Clipboard Copied! Toggle word wrap Toggle overflow 서비스 버전 및 사용 가능한 대상 컨테이너를 확인합니다.
구문
ceph orch upgrade check IMAGE_NAME
ceph orch upgrade check IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph orch upgrade check registry.redhat.io/rhceph/rhceph-5-rhel8:latest
[ceph: root@host01 /]# ceph orch upgrade check registry.redhat.io/rhceph/rhceph-5-rhel8:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이미지 이름은 Red Hat Enterprise Linux 8 및 Red Hat Enterprise Linux 9 모두에 적용됩니다.
스토리지 클러스터를 업그레이드합니다.
구문
ceph orch upgrade start IMAGE_NAME
ceph orch upgrade start IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph orch upgrade start registry.redhat.io/rhceph/rhceph-5-rhel8:latest
[ceph: root@host01 /]# ceph orch upgrade start registry.redhat.io/rhceph/rhceph-5-rhel8:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고태그된 업그레이드를 수행하려면 삽입된 업그레이드 수행을 참조하십시오.
업그레이드가 진행되는 동안
ceph 상태출력에 진행률 표시줄이 표시됩니다.예제
[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) [............................]Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph 클러스터의 새로운 IMAGE_ID 및 VERSION 을 확인합니다.
예제
[ceph: root@host01 /]# ceph versions [ceph: root@host01 /]# ceph orch ps
[ceph: root@host01 /]# ceph versions [ceph: root@host01 /]# ceph orch psCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고Ceph 클러스터를 업그레이드한 후
cephadm-ansible플레이북을 사용하지 않는 경우 클라이언트 노드에서ceph-common패키지 및 클라이언트 라이브러리를 업그레이드해야 합니다.예제
[root@client01 ~] dnf update ceph-common
[root@client01 ~] dnf update ceph-commonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 최신 버전이 있는지 확인합니다.
예제
[root@client01 ~] ceph --version
[root@client01 ~] ceph --versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow 업그레이드가 완료되면
noout,noscrub,nodeep-scrub플래그를 설정 해제합니다.예제
[ceph: root@host01 /]# ceph osd unset noout [ceph: root@host01 /]# ceph osd unset noscrub [ceph: root@host01 /]# ceph osd unset nodeep-scrub
[ceph: root@host01 /]# ceph osd unset noout [ceph: root@host01 /]# ceph osd unset noscrub [ceph: root@host01 /]# ceph osd unset nodeep-scrubCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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패키지를 업데이트합니다.예제
dnf update cephadm dnf update cephadm-ansible
[root@admin ~]# dnf update cephadm [root@admin ~]# dnf update cephadm-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow upgrade_ceph_packages매개변수가true로 설정된 상태에서 preflight 플레이북을 실행하고 스토리지 클러스터의 부트스트랩 호스트에서ceph_origin매개변수를사용자 지정으로 설정합니다.구문
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"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 패키지는 모든 노드에서
cephadm을 업그레이드합니다.cephadm쉘에 로그인합니다.예제
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 호스트가 온라인 상태인지 확인하고 스토리지 클러스터가 정상 상태인지 확인합니다.
예제
[ceph: root@host01 /]# ceph -s
[ceph: root@host01 /]# ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 업그레이드 중에 OSD
noout,noscrub,nodeep-scrub플래그를 설정하여 OSD가 클러스터에서 불필요한 로드를 방지합니다.예제
[ceph: root@host01 /]# ceph osd set noout [ceph: root@host01 /]# ceph osd set noscrub [ceph: root@host01 /]# ceph osd set nodeep-scrub
[ceph: root@host01 /]# ceph osd set noout [ceph: root@host01 /]# ceph osd set noscrub [ceph: root@host01 /]# ceph osd set nodeep-scrubCopy to Clipboard Copied! Toggle word wrap Toggle overflow 서비스 버전 및 사용 가능한 대상 컨테이너를 확인합니다.
구문
ceph orch upgrade check IMAGE_NAME
ceph orch upgrade check IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph orch upgrade check LOCAL_NODE_FQDN:5000/rhceph/rhceph-5-rhel8
[ceph: root@host01 /]# ceph orch upgrade check LOCAL_NODE_FQDN:5000/rhceph/rhceph-5-rhel8Copy to Clipboard Copied! Toggle word wrap Toggle overflow 스토리지 클러스터를 업그레이드합니다.
구문
ceph orch upgrade start IMAGE_NAME
ceph orch upgrade start IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph orch upgrade start LOCAL_NODE_FQDN:5000/rhceph/rhceph-5-rhel8
[ceph: root@host01 /]# ceph orch upgrade start LOCAL_NODE_FQDN:5000/rhceph/rhceph-5-rhel8Copy to Clipboard Copied! Toggle word wrap Toggle overflow 업그레이드가 진행되는 동안
ceph 상태출력에 진행률 표시줄이 표시됩니다.예제
[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) [............................]Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph 클러스터의 새로운 IMAGE_ID 및 VERSION 을 확인합니다.
예제
[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 psCopy to Clipboard Copied! Toggle word wrap Toggle overflow 업그레이드가 완료되면
noout,noscrub,nodeep-scrub플래그를 설정 해제합니다.예제
[ceph: root@host01 /]# ceph osd unset noout [ceph: root@host01 /]# ceph osd unset noscrub [ceph: root@host01 /]# ceph osd unset nodeep-scrub
[ceph: root@host01 /]# ceph osd unset noout [ceph: root@host01 /]# ceph osd unset noscrub [ceph: root@host01 /]# ceph osd unset nodeep-scrubCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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쉘에 로그인합니다.예제
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 호스트가 온라인 상태인지 확인하고 스토리지 클러스터가 정상 상태인지 확인합니다.
예제
[ceph: root@host01 /]# ceph -s
[ceph: root@host01 /]# ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 업그레이드 중에 OSD
noout,noscrub,nodeep-scrub플래그를 설정하여 OSD가 클러스터에서 불필요한 로드를 방지합니다.예제
[ceph: root@host01 /]# ceph osd set noout [ceph: root@host01 /]# ceph osd set noscrub [ceph: root@host01 /]# ceph osd set nodeep-scrub
[ceph: root@host01 /]# ceph osd set noout [ceph: root@host01 /]# ceph osd set noscrub [ceph: root@host01 /]# ceph osd set nodeep-scrubCopy to Clipboard Copied! Toggle word wrap Toggle overflow 서비스 버전 및 사용 가능한 대상 컨테이너를 확인합니다.
구문
ceph orch upgrade check IMAGE_NAME
ceph orch upgrade check IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph orch upgrade check registry.redhat.io/rhceph/rhceph-5-rhel8:latest
[ceph: root@host01 /]# ceph orch upgrade check registry.redhat.io/rhceph/rhceph-5-rhel8:latestCopy 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,HOST2Copy 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,host03Copy 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_NUMBERCopy 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 2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고제한 매개변수를 사용하는 경우 Ceph Manager 데몬을 업그레이드한 후 Prometheus 및
node-exporter를 포함한 모니터링 스택 데몬이 새로 고쳐집니다. 제한 매개변수로 인해 Ceph Manager 업그레이드를 완료하는 데 시간이 오래 걸립니다. 모니터링 스택 데몬의 버전은 Ceph 릴리스 간에 변경되지 않을 수 있습니다(이 경우 재배포됨).참고제한 매개변수가 있는 업그레이드 명령은 업그레이드를 시작하기 전에 옵션을 검증합니다. 이 옵션은 새 컨테이너 이미지를 가져와야 할 수 있습니다. 결과적으로 제한 매개변수를 제공할 때
upgrade start명령을 실행하는 데 시간이 걸릴 수 있습니다.
업그레이드해야 하는 데몬을 확인하려면
ceph orch upgrade check또는ceph versions명령을 실행합니다.예제
[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:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 스taggered 업그레이드를 완료하려면 나머지 모든 서비스의 업그레이드를 확인하십시오.
구문
ceph orch upgrade start --image IMAGE_NAME
ceph orch upgrade start --image IMAGE_NAMECopy 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:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 업그레이드가 완료되면
noout,noscrub,nodeep-scrub플래그를 설정 해제합니다.예제
[ceph: root@host01 /]# ceph osd unset noout [ceph: root@host01 /]# ceph osd unset noscrub [ceph: root@host01 /]# ceph osd unset nodeep-scrub
[ceph: root@host01 /]# ceph osd unset noout [ceph: root@host01 /]# ceph osd unset noscrub [ceph: root@host01 /]# ceph osd unset nodeep-scrubCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
Ceph 클러스터의 새로운 IMAGE_ID 및 VERSION 을 확인합니다.
예제
[ceph: root@host01 /]# ceph versions [ceph: root@host01 /]# ceph orch ps
[ceph: root@host01 /]# ceph versions [ceph: root@host01 /]# ceph orch psCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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 쉘에 로그인합니다.
예제
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow 활성 상태의 Ceph Manager 및 대기 시간 확인:
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 각 standby Ceph Manager 데몬을 수동으로 업그레이드합니다.
구문
ceph orch daemon redeploy mgr.ceph-HOST.MANAGER_ID --image IMAGE_ID
ceph orch daemon redeploy mgr.ceph-HOST.MANAGER_ID --image IMAGE_IDCopy 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:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 업그레이드된 Wait Ceph Manager로 장애 조치(fail over)합니다.
예제
[ceph: root@host01 /]# ceph mgr fail
[ceph: root@host01 /]# ceph mgr failCopy to Clipboard Copied! Toggle word wrap Toggle overflow Waiting Ceph Manager가 활성 상태인지 확인합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 활성 Ceph Manager가 새 버전으로 업그레이드되었는지 확인합니다.
구문
ceph tell mgr.ceph-HOST.MANAGER_ID version
ceph tell mgr.ceph-HOST.MANAGER_ID versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 2단계를 반복하여 나머지 Ceph Manager를 새 버전으로 업그레이드합니다.
모든 Ceph Manager가 새 버전으로 업그레이드되었는지 확인합니다.
예제
[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 }Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 모든 Ceph Manager를 업그레이드하면 제한 매개변수를 지정하고 나머지 staggered 업그레이드를 완료할 수 있습니다.
3.4. 스토리지 클러스터 업그레이드 모니터링 및 관리 링크 복사링크가 클립보드에 복사되었습니다!
ceph orch upgrade start 명령을 실행하여 Red Hat Ceph Storage 클러스터를 업그레이드한 후 상태 점검, 일시 중지, 재개 또는 업그레이드 프로세스를 중지할 수 있습니다. 클러스터 상태가 업그레이드 중 HEALTH_WARNING 으로 변경됩니다. 클러스터 호스트가 오프라인 상태이면 업그레이드가 일시 중지됩니다.
데몬 유형을 한 번 업그레이드한 후 다른 데몬 유형을 업그레이드해야 합니다. 데몬을 업그레이드할 수 없는 경우 업그레이드가 일시 중지됩니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터 5.
- 모든 노드에 대한 루트 수준 액세스입니다.
- 스토리지 클러스터에 2개 이상의 Ceph Manager 노드(하나의 활성 및 대기 시간)입니다.
- 시작된 스토리지 클러스터 업그레이드
절차
업그레이드가 진행 중인지와 클러스터가 업그레이드 중인 버전을 확인합니다.
예제
[ceph: root@node0 /]# ceph orch upgrade status
[ceph: root@node0 /]# ceph orch upgrade statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고업그레이드가 완료되면 메시지가 표시되지 않습니다.
ceph 버전및ceph orch ps명령을 실행하여 새 이미지 ID와 스토리지 클러스터 버전을 확인합니다.선택 사항: 업그레이드 프로세스를 일시 중지합니다.
예제
[ceph: root@node0 /]# ceph orch upgrade pause
[ceph: root@node0 /]# ceph orch upgrade pauseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 일시 중지된 업그레이드 프로세스를 다시 시작합니다.
예제
[ceph: root@node0 /]# ceph orch upgrade resume
[ceph: root@node0 /]# ceph orch upgrade resumeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 업그레이드 프로세스를 중지합니다.
예제
[ceph: root@node0 /]# ceph orch upgrade stop
[ceph: root@node0 /]# ceph orch upgrade stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.5. 업그레이드 오류 메시지 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
다음 표는 일부 cephadm 업그레이드 오류 메시지를 보여줍니다. 어떤 이유로든 cephadm 업그레이드가 실패하면 스토리지 클러스터 상태에 오류 메시지가 표시됩니다.
| 오류 메시지 | 설명 |
|---|---|
| UPGRADE_NO_STANDBY_MGR | Ceph에는 활성 및 대기 시간 관리자 데몬을 모두 실행해야 하지만 현재 대기 상태가 없습니다. |
| UPGRADE_FAILED_PULL | Ceph에서 대상 버전의 컨테이너 이미지를 가져올 수 없었습니다. 이러한 문제는 존재하지 않는 버전 또는 컨테이너 이미지를 지정하거나(예: 1.2.3) 클러스터의 하나 이상의 호스트에서 컨테이너 레지스트리에 연결할 수 없는 경우 발생할 수 있습니다. |