4.2. 컨테이너에서 실행되는 Red Hat Ceph Storage 클러스터 업그레이드
이 섹션에서는 Red Hat Ceph Storage 컨테이너 이미지의 최신 마이너 버전 또는 주요 버전으로 업그레이드하는 방법을 설명합니다.
- 스토리지 클러스터를 업그레이드하려면 4.3절. “스토리지 클러스터 업그레이드” 을 참조하십시오.
- Red Hat Ceph Storage 대시보드를 업그레이드하려면 4.4절. “Red Hat Ceph Storage 대시보드 업그레이드” 를 참조하십시오.
관리 노드의 /usr/share/ceph-ansible/infrastructure-playbooks/
디렉터리에 있는 Ansible rolling_update.yml
플레이북을 사용하여 Red Hat Ceph Storage의 두 가지 주요 버전 또는 마이너 버전 간에 업그레이드하거나 비동기 업데이트를 적용합니다.
Ansible은 다음과 같은 순서로 Ceph 노드를 업그레이드합니다.
- 노드 모니터링
- MGR 노드
- OSD 노드
- MDS 노드
- Ceph Object Gateway 노드
- 기타 모든 Ceph 클라이언트 노드
Red Hat Ceph Storage 3에서는 /usr/share/ceph-ansible/group_vars/
디렉터리에 있는 Ansible 구성 파일에 몇 가지 변경 사항이 추가되었습니다. 특정 매개변수의 이름이 변경되거나 제거되었습니다. 따라서 버전 3으로 업그레이드한 후 all.yml
.sample 및 osds.yml
. sample 파일에서 새 복사본을 생성하기 전에 all.yml
및 osds.yml.yml
파일의 백업 사본을 만듭니다. 변경 사항에 대한 자세한 내용은 부록 A. 버전 2와 3의 Ansible 변수 변경 을 참조하십시오.
Red Hat Ceph Storage 3.1 이상에서는 Object Gateway 및 고속 NVMe 기반 SSD(및 SATA SSD)를 사용할 때 성능을 위해 스토리지를 최적화하는 새로운 Ansible 플레이북을 도입합니다. 플레이북은 SSD에 저널 및 버킷 인덱스를 함께 배치하여 이를 수행하므로 하나의 장치에 모든 저널이 있는 것보다 성능이 향상될 수 있습니다. 이러한 플레이북은 Ceph를 설치할 때 사용하도록 설계되었습니다. 기존 OSD는 계속 작동하고 업그레이드하는 동안 추가 단계가 필요하지 않습니다. 이러한 방식으로 스토리지를 최적화하도록 OSD를 동시에 재구성하는 동안 Ceph 클러스터를 업그레이드할 수 없습니다. 저널 또는 버킷 인덱스에 다른 장치를 사용하려면 OSD를 재프로비저닝해야 합니다. 자세한 내용은 프로덕션을 위해 Ceph Object Gateway 에서 LVM으로 NVMe를 최적으로 사용하여 을 참조하십시오.
rolling_update.yml
플레이북에는 동시에 업데이트할 노드 수를 조정하는 serial
변수가 포함되어 있습니다. Red Hat은 기본값1
( 1)을 사용하는 것이 좋습니다. 그러면 Ansible에서 클러스터 노드를 하나씩 업그레이드합니다.
rolling_update.yml
플레이북을 사용하여 Red Hat Ceph Storage 3.x 버전으로 업그레이드하는 경우 Ceph File System(CephFS)을 사용하는 사용자는 Metadata Server(MDS) 클러스터를 수동으로 업데이트해야 합니다. 이는 알려진 문제로 인해 발생합니다.
ceph-ansible
rolling_update.yml
을 사용하여 전체 클러스터를 업그레이드하기 전에 /etc/ansible/hosts
에서 MDS 호스트를 주석 처리한 다음 MDS를 수동으로 업그레이드합니다. /etc/ansible/hosts
파일에서 다음을 수행합니다.
#[mdss] #host-abc
MDS 클러스터 업데이트 방법을 비롯한 알려진 문제에 대한 자세한 내용은 Red Hat Ceph Storage 3.0 릴리스 노트 를 참조하십시오.
Red Hat Ceph Storage 클러스터를 이전 버전에서 3.2로 업그레이드할 때 Ceph Ansible 구성은 기본적으로 오브젝트 저장소 유형을 BlueStore로 설정합니다. 여전히 FileStore를 OSD 오브젝트 저장소로 사용하려는 경우 Ceph Ansible 구성을 FileStore로 명시적으로 설정합니다. 이렇게 하면 새로 배포되고 교체된 OSD가 FileStore를 사용합니다.
rolling_update.yml
플레이북을 사용하여 Red Hat Ceph Storage 3.x 버전으로 업그레이드할 때 다중 사이트 Ceph Object Gateway 구성을 사용하는 경우 다중 사이트 구성을 지정하기 위해 all.yml
파일을 수동으로 업데이트할 필요가 없습니다.
사전 요구 사항
-
스토리지 클러스터의 모든 노드에
root
사용자로 로그인합니다. 스토리지 클러스터의 모든 노드에서
rhel-7-server-extras-rpms
리포지토리를 활성화합니다.# subscription-manager repos --enable=rhel-7-server-extras-rpms
Ansible 관리 노드 및 RBD 미러링 노드에서 Red Hat Ceph Storage 2.x에서 3.x로 업그레이드하는 경우 Red Hat Ceph Storage 3 툴 리포지토리를 활성화합니다.
# subscription-manager repos --enable=rhel-7-server-rhceph-3-tools-els-rpms
Ansible 관리 노드에서 Ansible 리포지토리를 활성화합니다.
[root@admin ~]# subscription-manager repos --enable=rhel-7-server-ansible-2.6-rpms
Ansible 관리 노드에서 최신 버전의
ansible
및ceph-ansible
패키지가 설치되어 있는지 확인합니다.[root@admin ~]# yum update ansible ceph-ansible