5.7. CSI 자동 마이그레이션
일반적으로 OpenShift Container Platform과 함께 제공되는 인트리 스토리지 드라이버는 더 이상 사용되지 않으며 동등한 CSI(Container Storage Interface) 드라이버로 교체됩니다. OpenShift Container Platform은 동등한 CSI 드라이버로 in-tree 볼륨 플러그인에 대한 자동 마이그레이션을 제공합니다.
5.7.1. 개요
이 기능은 in-tree 스토리지 플러그인을 사용하여 프로비저닝된 볼륨을 CSI(Container Storage Interface) 드라이버로 자동으로 마이그레이션합니다.
이 프로세스는 데이터 마이그레이션을 수행하지 않습니다. OpenShift Container Platform은 메모리에서 영구 볼륨 오브젝트만 변환합니다. 결과적으로 변환된 영구 볼륨 오브젝트는 디스크에 저장되지 않으며 내용이 변경되지 않습니다. CSI 자동 마이그레이션이 원활해야 합니다. 이 기능은 기존 API 오브젝트(예: PersistentVolumes,PersistentVolumeClaims, StorageClasses )를 사용하는 방법은 변경되지 않습니다.
다음 in-tree to CSI 드라이버는 자동으로 마이그레이션됩니다.
- Azure Disk
- OpenStack Cinder
- AWS(Amazon Web Services) EBS(Elastic Block Storage)
- GCP PD(Google Compute Engine Persistent Disk)
- Azure File
- VMware vSphere ( vSphere의 특정 마이그레이션 동작에 대한 자세한 내용은 아래 정보 참조)
이러한 볼륨 유형에 대한 CSI 마이그레이션은 일반적으로 사용 가능한 것으로 간주되며 수동 개입이 필요하지 않습니다.
in-tree 영구 볼륨(PV) 또는 PVC(영구 볼륨 클레임)의 CSI 자동 마이그레이션은 원래 in-tree 스토리지 플러그인이 지원하지 않는 경우 스냅샷 또는 확장과 같은 새로운 CSI 드라이버 기능을 활성화하지 않습니다.
5.7.2. 스토리지 클래스에 미치는 영향
새로운 OpenShift Container Platform 4.13 이상의 경우 기본 스토리지 클래스는 CSI 스토리지 클래스입니다. 이 스토리지 클래스를 사용하여 프로비저닝된 모든 볼륨은 CSI PV(영구 볼륨)입니다.
4.12 이상에서 4.13 이상으로 업그레이드된 클러스터의 경우 CSI 스토리지 클래스가 생성되고 업그레이드 전에 기본 스토리지 클래스가 설정되지 않은 경우 기본값으로 설정됩니다. 이름이 동일한 스토리지 클래스가있는 경우 기존 스토리지 클래스는 변경되지 않은 상태로 유지됩니다. 기존 in-tree 스토리지 클래스는 남아 있으며 기존 in-tree PV에 대해 볼륨 확장이 작동하는 등 특정 기능에 필요할 수 있습니다. in-tree 스토리지 플러그인에 대한 스토리지 클래스가 계속 작동하지만 기본 스토리지 클래스를 CSI 스토리지 클래스로 전환하는 것이 좋습니다.
기본 스토리지 클래스 를 변경하려면 기본 스토리지 클래스 변경을 참조하십시오.
5.7.3. vSphere 자동 마이그레이션
5.7.3.1. OpenShift Container Platform의 새로운 설치
OpenShift Container Platform 4.13 이상을 새로 설치하는 경우 자동 마이그레이션이 기본적으로 활성화됩니다.
5.7.3.2. OpenShift Container Platform 업그레이드
OpenShift Container Platform 4.12 이하에서 4.13 이상으로 업그레이드하는 경우 vSphere를 위한 자동 CSI 마이그레이션이 수행됩니다.
마이그레이션을 선택하기 전에 다음 결과를 주의 깊게 검토합니다.
- 마이그레이션을 실패하게 할 수 있는 알려진 문제가 있습니다.
- 마이그레이션 활성화는 취소할 수 없습니다.
- 마이그레이션은 클러스터에 있는 노드 수에 따라 완료하는 데 시간이 걸릴 수 있습니다.
- 마이그레이션은 중단되는 프로세스입니다. MCO(Machine Config Operator)는 kubelet을 업데이트해야 합니다. 즉, 새 MachineConfig를 각 머신에 롤아웃할 때 각 노드를 성능 저하시킵니다.
5.7.3.2.1. 웹 콘솔을 사용하여 자동 CSI 마이그레이션 선택
5.7.3.2.1.1. 사전 요구 사항
- OpenShift Container Platform 웹 콘솔에 액세스합니다.
- cluster-admin 권한을 사용하여 클러스터에 액세스합니다.
5.7.3.2.1.1.1. 절차
vSphere에 대한 자동 CSI 마이그레이션을 선택하려면 다음을 수행합니다.
- 웹 콘솔에 로그인합니다.
- Administration → CustomResourceDefinitions 를 클릭합니다.
-
CustomResourceDefinitions 페이지에서 "
Storage"를 입력하여 스토리지 사용자 정의 리소스(CR)를 찾습니다. - 스토리지 CR을 클릭합니다.
- storages.operator.openshift.io 페이지에서 Instances 탭을 클릭합니다.
- 원하는 인스턴스의 이름을 클릭한 다음 YAML 탭을 클릭합니다.
다음 예와 같이
spec.vsphereStorageDriver매개변수를CSIWithMigrationDriver로 설정합니다..... spec: logLevel: Normal managementState: Managed operatorLogLevel: Normal vsphereStorageDriver: CSIWithMigrationDriver 1 ...- 1
spec.vsphereStorageDriver매개변수를CSIWithMigrationDriver로 설정
- 저장을 클릭합니다.
5.7.3.2.2. CLI를 사용하여 자동 CSI 마이그레이션 선택
5.7.3.2.2.1. 사전 요구 사항
- cluster-admin 권한을 사용하여 클러스터에 액세스합니다.
5.7.3.2.2.2. 절차
vSphere에 대한 자동 CSI 마이그레이션을 선택하려면 다음 명령을 실행합니다.
oc patch storage cluster --type=merge -p '{"spec":{"vsphereStorageDriver":"CSIWithMigrationDriver"}}'
스토리지 오브젝트에서 VSphereMigrationControllerAvailable 조건이 "true"로 설정되어 있는지 확인하여 마이그레이션이 완료된 시기를 확인할 수 있습니다.