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패키지를 제거해야 합니다.