NetApp과 Red Hat 양쪽에 모두 관계되는 글이 하나 보여 AI 번역(+약간 수정)의 힘을 빌려 읽어봤습니다. 스토리지 수준에서 변환이 이루어지는 Shift Toolkit도 흥미롭습니다.
출처: https://community.netapp.com/t5/Tech-ONTAP-Blogs/Move-Your-VMs-to-OpenShift-Virtualization-The-Shift-Toolkit-Way/ba-p/462579
총소유비용(TCO)을 최적화하면서 가상화 라이선스 변경에 적응해야 하는 조직을 위해, NetApp ONTAP과 결합된 OpenShift Virtualization은 강력하고 미래 지향적인 솔루션을 제공합니다. 이는 가상화를 위한 매력적인 대안을 제시합니다. 오픈소스 기술인 KubeVirt를 기반으로 구축된 이 솔루션은 통합된 쿠버네티스 환경 내에서 컨테이너와 함께 가상 머신(VM)을 원활하게 관리할 수 있도록 지원합니다. 이러한 통합을 통해 IT 팀은 단일 플랫폼에서 워크로드를 통합하여 운영을 간소화하고 클라우드 네이티브 전환을 가속화할 수 있습니다. NetApp ONTAP은 온프레미스 또는 클라우드 환경에서 가상화를 위한 가장 다재다능한 데이터 플랫폼으로 자리매김했습니다. 온프레미스 환경의 모든 주요 하이퍼바이저를 지원하고 주요 퍼블릭 클라우드에서 네이티브 데이터 서비스를 제공합니다. ONTAP 통합을 통해 조직은 다음과 같은 이점을 누릴 수 있습니다.
- 라이선스 변경에 원활하게 적응
- 각 작업 부하에 맞는 최적의 배포 모델을 선택하세요
- 하이브리드 및 멀티 클라우드 환경에서 일관된 데이터 관리를 유지합니다.
이러한 유연성 덕분에 ONTAP은 변화하는 가상화 환경을 헤쳐나가는 조직을 위한 전략적 지원 도구로 자리매김할 수 있습니다.
OpenShift Virtualization란 무엇입니까?
주요 역량
- KVM 기반 VM은 Pod로 관리되는 컨테이너에서 실행됩니다.
- Kubernetes에서 완벽하게 예약, 배포 및 관리
- OpenShift 웹 콘솔을 통한 직관적인 VM 수명 주기 관리
- Kubernetes 기반 영구 스토리지 및 오케스트레이션과 통합
NetApp Trident를 통한 스토리지 및 데이터 보호
- Trident CSI: NFS, FC, iSCSI, NVMe/TCP를 통한 동적 스토리지 프로비저닝
- 세분화된 VM 수준 작업: 스냅샷, 복제, 볼륨 확장
Trident Protect:
- S3 호환 스토리지에 대한 충돌 일관성 VM 백업
- 복제, 장애 조치 및 장애 복구를 통한 재해 복구
스냅샷, 복제, 효율성과 같은 강력한 스토리지 기능 외에도 NetApp ONTAP은 OpenShift Virtualization으로의 VM 마이그레이션을 간소화하는 데 중요한 역할을 합니다. VM 디스크 수와 크기에 따라 사용 가능한 마이그레이션 옵션에 시간이 걸릴 수 있습니다. 바로 이 부분에서 ONTAP과 Shift 툴킷을 통한 복제 기능을 통해 마이그레이션이 원활하게 진행됩니다. 이를 가상 머신을 스토리지로 마이그레이션하는 오프로드 도구라고 부를 수 있습니다.
Shift 툴킷을 선택해야 하는 이유
Shift 툴킷은 고성능 포맷 변환과 네이티브 스토리지 복제 및 효율성을 결합하여 VMDK를 RAW로 변환하고, 이를 대규모 및 신속하게 처리합니다. FlexClone은 메타데이터만 사용하므로 변환을 몇 초에서 몇 분 안에 완료할 수 있습니다(예: 2TB는 몇 초 만에). 따라서 고객은 최소한의 스토리지 오버헤드와 거의 제로에 가까운 다운타임으로 VM 변환을 실행할 수 있습니다. 특히, 데이터 복사가 없으므로 변환이 즉시 이루어집니다. 이를 통해 시간과 컴퓨팅 리소스를 절약할 수 있습니다. 따라서 ONTAP은 수만 대의 VM을 사용하는 대규모 마이그레이션을 위한 전략적 지원 도구로, 중단 없이 효율성을 제공합니다.
VMKFStools 복제를 통한 복제는 지원되는 방법이지만, 프로세스가 스토리지 계층으로 오프로드되더라도 볼륨 간 데이터 이동이 여전히 필요합니다. 반면 Shift Toolkit은 XCOPY 오프로드보다 훨씬 뛰어난 성능을 제공합니다. Shift Toolkit은 VM 마이그레이션 오프로드 역할을 하여 실제 데이터 복사가 필요 없습니다. Shift Toolkit API는 소스와 대상이 동일한 볼륨 내에 있는 볼륨 내 복제를 지원합니다. NetApp의 독점 중복 제거 기술을 활용하면 대상 파일은 일반적으로 메타데이터에 몇 킬로바이트만 차지하므로 복제 작업이 거의 즉시 완료됩니다.
중요한 점은 이 접근 방식이 VMware 생태계 내에서 더 이상 지원되지 않는 프로토콜에 의존하지 않는다는 것입니다. 대신, 지원되는 기존 데이터 저장소를 사용하여 빠르고 원활한 VM 마이그레이션을 지원합니다.
이 블로그에서는 NetApp Shift Toolkit이 Hyper-V와 같은 하이퍼바이저에서와 마찬가지로 Red Hat OpenShift Virtualization에도 원활한 마이그레이션 환경을 제공하는 방법을 설명하고, Shift Toolkit의 변환 API를 사용하여 OpenShift Virtualization으로 전환하는 단계별 가이드를 제공합니다. 향후 출시될 툴킷에서는 향상된 기능과 더욱 긴밀한 통합을 통해 마이그레이션 과정을 더욱 간소화할 것입니다.
필수 조건
- OpenShift Virtualization 운영자와 NetApp Trident CSI 드라이버가 설치된 OpenShift 클러스터입니다.
- Shift Toolkit v2.2 설치됨
- 추가 구성이 필요하지 않습니다. 이 경우 Shift 툴킷 API만 사용되므로 Shift 툴킷 리소스 그룹이나 블루프린트를 구성할 필요가 없습니다.
- OpenShift 클러스터의 관리자 수준 권한
- tridentctl 및 OC 명령줄 도구가 설치된 Linux 인스턴스(기존 관리 인스턴스일 수도 있음).
- 클러스터에 연결하려면 kubeconfig를 내보내거나 OC 로그인을 실행해야 합니다.
- Shift 툴킷 스크립트 블록에서 Shift VM to OpenShift라는 이름의 스크립트를 다운로드하고 zip 파일을 이 Linux 인스턴스에 복사합니다.
- unzip <파일 이름>을 사용하여 zip 파일의 압축을 풉니다( unzip ‘shift-vm-to-openshift.zip’ )
- Python3가 설치되어 있는지 확인하세요 ( dnf install python3 )
- openjdk 8 이상 버전 을 설치하세요 ( yum install java-1.8.0-openjdk )
- pip install -r requirements.txt를 실행합니다 (인터넷 필요)
VM 요구 사항:
- VM의 VMDK가 개별 볼륨에 배치되었는지 확인하세요. 예를 들어, 디스크가 3개인 VM을 생각해 보세요. 각 디스크는 개별 볼륨에 배치되어야 합니다(데이터 저장소를 PVC 구조에 매핑). 이 작업은 Storage vmotion을 사용하여 수동으로 수행해야 합니다.
- 스크립트는 RHEL 8 및 9, SLES 12 및 Windows 2019/2022에서 실행됩니다.
참고: 스크립트는 현재 네트워크를 할당하지 않습니다. 수동으로 할당해야 합니다. 이는 추후 업데이트에서 다룰 예정입니다.
PrepareVM 요구 사항(Virtio 드라이버 주입용):
- PrepareVM 스크립트는 zip 파일에 포함되어 있습니다. PowerShell을 사용하여 Shift 툴킷 VM에서 스크립트를 실행하세요.
- vmware.powercli 모듈이 설치되어 있는지 확인하세요(install-module VMware.PowerCLI -scope AllUsers -force -SkipPublisherCheck -AllowClobber)
- Windows VM의 경우, virtio iso 파일을 VM에 마운트하세요. virtio 드라이버는 여기 에서 다운로드할 수 있습니다 .
VM 준비
Shift 툴킷은 VirtIO 드라이버, qemu-agent 설치 및 fstab 업데이트 스크립트를 실행합니다 . 이를 위해 Shift 툴킷은 powercli를 사용하여 게스트 VM(Linux 또는 Windows)에 연결하고 VirtIO 드라이버를 업데이트하여 OpenShift 측에서 VM이 부팅될 때 필요한 드라이버를 사용할 수 있도록 합니다.
Linux 및 Windows용 스크립트는 zip 파일에서 찾을 수 있습니다. 사용 구문은 다음과 같습니다.
.\prepare-vm.ps1 -vCenter "IP or FQDN" -vCenterUser "administrator@domain.com" -vCenterPass "password" -vmName "vm name" -guestUser "user" -guestPass "password" -osFlavor "linux" -localWindowsScriptPath "prepare-vm-win.ps1" -localLinuxScriptPath "prepare-vm-linux.sh"
참고: 스크립트는 Linux나 Windows 배포판에서 동일하게 유지되며, 올바른 매개변수가 전달되었는지 확인하기만 하면 됩니다.
vCenter에서 VM 및 ONTAP 스토리지의 볼륨 검색
프로세스를 시작하려면 다음 세부 정보로 json 파일을 업데이트하세요.
- ONTAP 클러스터
- 이는 SVM, 관리 IP 및 vsadmin 자격 증명일 수 있습니다.
- 복제 볼륨을 분리할 필요가 없는 경우 Splitclone 매개변수를 “False”로 설정할 수 있습니다.
- vCenter
- vCenter에 액세스하여 VM 및 관련 VMDK 파일을 검색하기 위한 최소 RBAC 권한입니다.
- Shift 툴킷
- Shift 툴킷 VM IP와 해당 IP에 액세스하기 위한 자격 증명입니다. 기본 자격 증명을 사용하는 경우 admin/admin이 사용됩니다.
- Trident 스토리지 클래스
- NFS 백엔드가 되어야 하며 올바른 버전이 업데이트되었는지 확인해야 합니다.
- OpenShift
- 프로젝트 이름을 지정하세요(기본값을 예시로 사용)
참고: 나머지 값은 기본값으로 유지하세요.
높은 수준의 워크플로:
사전 요구 사항을 충족하면 python3 main.py를 실행하여 오케스트레이션을 수행합니다.
아래 섹션에서는 Shift 툴킷 API가 VMDK를 변환하고 OpenShift 측에서 VM을 생성하기 위해 어떤 단계를 트리거하는지 설명합니다.
VMDK 변환
JSON 파일이 업데이트되면 스크립트가 기본 부팅 디스크를 포함하여 각 VM과 연결된 VMDK를 자동으로 찾습니다. 다른 방식과 비교했을 때 변환은 몇 초 만에 완료됩니다.
참고: VMDK 파일이 여러 개 있는 경우 각 VMDK가 변환됩니다.
OpenShift Virtualization Cluster에 RAW 이미지 업로드
가상 머신 디스크 이미지가 RAW 포맷으로 변환되면 스크립트는 RAW 파일을 OpenShift 클러스터에 업로드하고 Trident를 사용하여 개별적으로 가져옵니다.
가상 머신 생성
스크립트는 OS에 따라 각 VM에 대한 “YAML”을 생성합니다.
처음으로 VM 부팅하기
가상 머신 OS에 따라 Shift 툴킷은 스토리지 컨트롤러 인터페이스와 함께 VM 부팅 옵션을 자동으로 할당합니다. Linux 배포판의 경우 VirtIO가 사용됩니다. Windows의 경우 Shift 툴킷은 SATA 인터페이스로 시작하여 VirtIO 드라이버를 자동 설치한 후 YAML 파일을 수정하여 인터페이스를 VirtIO로 변경합니다.
참고: VM이 부팅되면 이 반복 작업에서 네트워크를 수동으로 할당해야 합니다.
위의 모든 내용은 python3 main.py를 실행하면 처리됩니다.
ONTAP 및 Shift Toolkit을 사용한 빠르고 간단한 VM 마이그레이션
이 블로그 데모에서는 총 1.5TB 용량의 디스크 3개가 완전히 채워진 RHEL VM을 5분 이내에 OpenShift Virtualization으로 마이그레이션했습니다. ONTAP과 Shift Toolkit 덕분에 VMDK에서 RAW로의 변환은 몇 초 만에 완료되었습니다.
이는 ONTAP 스토리지를 사용하여 VM을 재배치하는 간소화되고 영향이 적은 접근 방식을 보여줍니다. 블록 프로토콜을 사용하는 경우 스토리지 클래스 마이그레이션이 최적의 솔루션입니다. 이는 시작에 불과하며, 앞으로 더욱 심층적인 프로토콜 수준 통합을 기대해 주시기 바랍니다.
OpenShift Virtualization으로 전환을 계획 중이신가요? Shift Toolkit이 도와드리겠습니다.
OpenShift 가상화로 마이그레이션을 계획 중이거나 이미 진행 중이라면 Shift 툴킷 스크립트를 사용해 보세요. 완전히 무료 입니다 . NetApp 팀에 문의하여 관심 등록을 하고 운영을 간소화하는 향후 통합 기능을 살펴보세요.