OpenShift 가상화를 위한 고성능 스토리지: Lightbits Labs 리뷰

Red Hat Blog를 보다가 관심 가는 글이 보여서 AI번역+약간 교정해 보았습니다.
출처: https://www.redhat.com/en/blog/high-performance-storage-openshift-virtualization-review-lightbits-labs

모두가 2024년을 생성형 AI (Gen AI) 의 해로 선언했습니다 . 하지만 그 이면에는 또 다른 변화가 펼쳐지고 있었습니다. 향후 수년간 IT 인프라를 재편할 수 있는 변화 였습니다. 비용과 위험 증가로 인해 가상화는 경영진과 인프라 팀 모두에게 중요한 관심사이자 필수적인 주제가 되었습니다.  

기업들은 가상 머신 (VM)을 더욱 현대적인 가상화 플랫폼으로 마이그레이션하는 방안을 모색하기 시작했습니다 . 새로운 플랫폼으로 마이그레이션함으로써 기업은 애플리케이션 제공 속도를 높이고, 운영 비용을 절감하며, 특정 공급업체에 종속되는 것과 같은 위험을 최소화할 수 있습니다. 가상화에 대한 논의는 대부분 컴퓨팅을 중심으로 이루어졌지만, 스토리지는 성공적인 마이그레이션의 핵심 요소로, 성능, 확장성, 안정성에 직접적인 영향을 미치는 경우가 많습니다. 

Red Hat OpenShift Virtualization은  Red Hat OpenShift 의 기능을 확장하여  가상화된 워크로드와 컨테이너화된 워크로드를 모두 관리하는 오픈소스 접근 방식을 제공합니다 . 이 블로그 게시물에서는 OpenShift Virtualization이 스토리지를 처리하는 방식과 주요 고려 사항을 살펴보겠습니다. 그런 다음 Red Hat과 파트너사인 Lightbits Lab이 기업이 워크로드에 적합한 전략을 정의하도록 지원하는 방법을 시연합니다. 

모든 고객의 여정은 각기 다르지만, 조직의 차세대 가상화 인프라를 계획하고 설계할 때 고려해야 할 핵심적인 사항들이 있습니다. 이러한 고려 사항은 일반적으로 가상화 기술 자체의 성능, 용량 및 규모, ISV(독립 소프트웨어 공급업체) 생태계, 네트워킹 기능 및 스토리지 통합을 중심으로 구성됩니다. 

VM용 스토리지 유형

기존 가상화에서는 스토리지가 일반적으로 파이버 채널(FC), iSCSI(Internet Small Computer Systems Interface) 또는 네트워크 파일 시스템(NFS)을 통한 SAN(Storage Area Network)을 통해 연결됩니다. 이러한 스토리지 기술은 뛰어난 안정성과 성능으로 인해 많은 가상화 구축의 핵심이 되어 왔습니다. 그러나 기업이 현대화됨에 따라, 유연성, 확장성 및 비용 효율성 향상에 대한 새로운 요구를 충족하기 위해 스토리지 고려 사항도 변화해야 합니다.

OpenShift Virtualization으로 전환할 때 조직은 다양한 스토리지 유형(파일 시스템 스토리지와 블록 스토리지)이 워크로드 요구 사항에 어떻게 부합하는지 평가해야 합니다. 두 스토리지 유형 모두 VM의 백엔드 스토리지 역할을 하지만, 성능, 액세스 패턴 및 사용 사례는 서로 다릅니다. 

OpenShift Virtualization은 가상 머신(VM)을 위한 두 가지 주요 스토리지 유형, 즉 파일 시스템 스토리지와 블록 스토리지를 지원합니다.

  • 파일 시스템 스토리지 (예: NFS)는 미리 포맷되어 여러 노드에서 공유됩니다. 동시 쓰기 액세스를 허용하며 공유 데이터 워크로드에 이상적입니다.
  • 블록 스토리지는 파일 시스템이 필요한 원시 스토리지 볼륨을 제공합니다. 파일 스토리지와 달리 블록 스토리지는 일반적으로 단일 워크로드에 전용되며 데이터베이스, 지연 시간이 짧은 애플리케이션 및 높은 IOPS 시나리오에 적합합니다.

기본적으로 블록 장치는 다중 쓰기를 지원하지 않습니다. 이 기능은 클러스터 파일 시스템(또는 OpenShift Virtualization의 경우 CSI(컨테이너 스토리지 인터페이스) 드라이버를 통해 제공되어야 합니다. 각 CSI 드라이버는 특정 스토리지 프로토콜 또는 공급업체 솔루션과 연동되도록 설계되어 OpenShift Virtualization이 외부 스토리지 플랫폼과 효율적으로 통합될 수 있도록 합니다. 기존 환경에서는 NFS, iSCSI, 파이버 채널이 주류를 이루었지만, NVMe over TCP와 같은 최신 솔루션이 비용 효율성과 고성능을 바탕으로 점차 주목을 받고 있습니다. 이러한 변화는 소프트웨어 정의 스토리지의 발전과 유연하고 확장 가능한 스토리지 아키텍처의 필요성에 의해 주도되고 있습니다. 파일 시스템과 블록 스토리지 중 어떤 것을 선택할지는 여전히 워크로드 요구 사항에 따라 결정됩니다. 블록 스토리지는 데이터베이스 및 고성능 애플리케이션에 이상적인 시스템이며, 파일 시스템 스토리지는 공유형 저비용 스토리지 요구 사항에 적합합니다.

앞서 언급했듯이, 고객과 가장 일반적으로 접하는 블록 스토리지 프로토콜은 파이버 채널을 통해 연결된 SAN 스토리지입니다. 이는 기존 네트워킹 장비의 대역폭 제한과 파이버 채널을 통해 SAN에 연결된 스토리지 어레이의 성능 및 견고성 때문입니다. 파이버 채널 어레이는 기존에 훨씬 더 뛰어난 안정성, 견고성, iOPS, 지연 시간 및 고급 기능을 제공해 왔지만, 네트워킹 및 소프트웨어 정의 스토리지의 발전은 차세대 가상화를 위한 스토리지 네트워크 설계 방식을 변화시키고 있습니다. 소프트웨어 정의 스토리지 네트워크 설계의 또 다른 이점은 비용입니다. 이더넷 기반 스토리지 기술은 이전 세대의 SAN 기반 스토리지보다 훨씬 비용 효율적입니다. 또한 확장도 훨씬 쉽습니다. 블록 볼륨을 제공하는 네트워크 기반 소프트웨어 정의 스토리지의 예로는 Ceph, iSCSI, NVMe over TCP가 있습니다. 새롭게 부상하는 스토리지 분야 중 하나는 NVMe over TCP의 성장입니다. 기존 이더넷 인프라를 활용하면서도 비슷한 성능의 다른 스토리지 기술보다 훨씬 낮은 비용으로 높은 성능을 제공할 수 있는 능력 덕분에, NVMe over TCP는 블록 장치가 필요한 유사한 작업 부하에 대한 기존 SAN 기반 스토리지에 대한 실행 가능한 대안으로 부상하고 있습니다. 

OpenShift Virtualization은 블록 장치 또는 포맷된 파일 시스템으로 표현된 스토리지를 VM에 디스크로 연결된 스토리지로 활용할 수 있습니다. 이러한 디스크는 OS/부팅 볼륨 또는 데이터 볼륨으로 사용될 수 있으며, 두 가지 중 어떤 것을 선택할지는 주로 사용 사례에 따라 결정됩니다. 

OpenShift 가상화 환경에 스토리지 통합 

OpenShift 가상화 환경에 스토리지를 통합하는 방법을 보여주기 위해 Red Hat 파트너인 Lightbits Labs를 활용하겠습니다. NVMe over TCP를 사용하는 소프트웨어 정의 스토리지에 대한 Lightbits Labs의 접근 방식은 특히 기존에 SAN 기반 패브릭을 필요로 했던 지속적이고 지속적인 고성능 워크로드에 매우 흥미롭습니다. 

조직은 스토리지를 OpenShift Virtualization과 효과적으로 통합하기 위해 적절한 CSI 드라이버를 설치해야 합니다. Lightbits Labs의 경우, 스토리지가 연결되고 네트워크 액세스가 구성되면 다음 단계는 CSI 드라이버를 설치하는 것입니다. 이 작업은 수동으로 수행하거나,  OpenShift에 내장된 마켓플레이스인 OperatorHub를 통해 더욱 효율적으로 수행할 수 있습니다. OperatorHub는 인증된 운영자의 배포를 간소화합니다.

OpenShift Virtualization의 운영자는 소프트웨어 구성 요소의 설치, 구성 및 수명 주기 관리를 자동화하여 수동 개입을 줄이고 중단 없는 통합을 보장합니다.  Lightbits Labs CSI 드라이버는 오퍼레이터로 제공되어 관리자가 OpenShift를 통해 호환성 및 수명 주기 관리를 보장하면서 몇 번의 클릭만으로 배포할 수 있습니다. 이러한 접근 방식은 OpenShift Virtualization 환경에서 운영 효율성을 향상시키고 스토리지 프로비저닝을 가속화합니다.

CSI 드라이버가 설치되면 CSI 컨트롤러와 CSI 노드가 표시되고 실행됩니다. 다음 단계는 암호와 스토리지 클래스를 구성하는 것입니다. 암호는 보호된 스토리지에 대한 암호화된 권한 부여 자격 증명을 제공합니다. OpenShift의 StorageClass는 스토리지 위치, 스토리지 유형, 성능 특성 및 동작(예: 씬 프로비저닝 또는 씩 프로비저닝)을 포함하여 스토리지 프로비저닝 방식을 정의하는 데이터 저장소 정책과 같습니다. StorageClass는 기존 가상화 환경에서 스토리지 프로필이 LUN(논리 단위 번호) 또는 데이터 저장소 구성을 추상화하는 방식과 유사하게 스토리지 볼륨을 동적으로 생성하고 관리하기 위한 청사진 역할을 합니다. OpenShift 가상화 환경에는 여러 스토리지 클래스가 있을 수 있지만, 효율성을 향상시키는 한 가지 방법은 운영 체제(OS) 디스크의 백업으로 사용될 기본 스토리지 클래스를 지정하는 것입니다. 

OpenShift Virtualization은 기존 ClickOps 방식이나 현대화된 GitOps 파이프라인을 사용하여 가상 머신 수명 주기를 관리하는 등 VM 생성에 유연한 접근 방식을 제공합니다. OpenShift와 Kubernetes는 VM을 컨테이너와 함께 운영할 수 있도록 하여 인프라 간소화 및 운영 비용 절감과 같은 고유한 이점을 제공합니다. 컨테이너 관리 및 수명 주기와 VM 관리 및 수명 주기 사이에는 몇 가지 차이점이 있지만, 이 논의에서 중요한 것은 라이브 마이그레이션입니다. 가상 머신은 호스트 간 이동 시 상태, 처리량 및 연결을 유지해야 합니다. 반면, 컨테이너는 일반적으로 새 호스트에서 인스턴스화되며, 실행되면 연결이 자동으로 전환됩니다. 다시 말해, NVMe over TCP를 사용하면 VM이 일반 작업뿐만 아니라 라이브 마이그레이션 중에도 높은 IO 처리량을 유지할 수 있으며, 이는 Lightbits Labs의 강점 중 하나입니다.

Red Hat OpenShift Virtualization을 통한 Lightbits Labs의 이점

가상화의 가장 큰 과제 중 하나는 라이브 마이그레이션을 지원하는 동시에 고성능 스토리지를 유지하는 것입니다. 전통적으로 파이버 채널 기반 SAN은 라이브 마이그레이션에 필요한 안정성과 처리량을 제공해 왔지만, 최신 소프트웨어 정의 스토리지 솔루션은 기업의 스토리지 인프라 설계 방식을 변화시키고 있습니다.

Lightbits Labs의 NVMe/TCP 아키텍처를 사용하면 얻을 수 있는 이점 중 하나는 NVMe/TCP가 표준 이더넷을 통해 고성능 스토리지 전송을 제공함으로써, 독점적인 SAN 패브릭의 필요성을 없애면서도 중요한 워크로드에 필요한 낮은 지연 시간과 높은 IOPS를 제공한다는 것입니다. NVMe/TCP 개발자들이 개발한 Lightbits Labs의 아키텍처는 여러 개의 IO 스트림을 효율적으로 처리할 수 있는 전용 IO 큐를 통해 처리량을 극대화하도록 설계되었습니다.

각 Lightbits Labs 스토리지 대상(Lightbits 클러스터 내 서버)은 400만 IOPS 이상의 성능을 제공할 수 있습니다. 즉, 최소 3개의 노드로 구성된 클러스터에서도  1,200만 IOPS를 초과할 수 있습니다 . 이러한 고성능 기능은  OpenShift Virtualization에서 데이터 집약적인 워크로드에서도 VM의 라이브 마이그레이션을 효과적으로 보장합니다. 라이브 마이그레이션 중 병목 현상이 발생할 수 있는 기존 SAN과 달리, Lightbits Labs의 NVMe/TCP 솔루션은 마이그레이션 중에도 높은 처리량과 낮은 지연 시간을 지속적으로 유지하여 애플리케이션 성능과 데이터 무결성을 유지하는 데 도움을 줍니다.

Lightbits Labs 팀은 최근 Lightbits Labs 스토리지 기반 VM이 마이그레이션 중에도 일관된 IO를 유지하는 방법을 시연했습니다. 운영 체제(vda)용 1개와 애플리케이션용 2개(vdc 및 vdd)로 구성된 3개의 영구 볼륨 클레임(PVC)으로 지원되는 VM을 사용했습니다. 

VM의 디스크 레이아웃:

디스크 레이아웃

이 데모는 VM에서 실행되는 Flexible I/O Tester(FIO) 스크립트가 두 개의 데이터 디스크(vdc 및 vdd)에 대해 IO(70r/30w)를 생성하는 방법을 보여줍니다. FIO는 Linux에서 사용되는 강력한 디스크 벤치마킹 및 성능 테스트 도구입니다. 

스크립트를 실행하는 VM은 아래의 worker-3.alsorna.com에 있습니다.

VM 스크립트

OpenShift Virtualization 내에서 라이브 마이그레이션을 활성화하는 방법은 여러 가지가 있습니다. 

  1. ClickOps 접근 방식을 활용한 웹 콘솔
  2. virtctl migrate <vm-name>을 사용하는 명령줄
  3. YAML은   라이브 마이그레이션을 시작할 VirtualMachineInstanceMigration 객체를 생성합니다.

이 데모에 대한 마이그레이션을 시작하는 데 사용되는 VirtualMachineInstanceMigration YAML은 다음과 같습니다  .

가상 머신 인스턴스 마이그레이션

라이브 마이그레이션이 완료되면 VM의 새 호스트가 클러스터의 새 워커 노드에 있는지 확인하기 위해 검증됩니다. 출력 결과, 이제 worker-2.alsorna.com에 있는 것으로 표시됩니다.

VM을 라이브 마이그레이션으로

그런 다음 데모에서는 VM이 ​​라이브 마이그레이션하는 데 걸리는 시간을 확인합니다.

# oc get VirtualMachineInstanceMigration demo-livemigration -o json | jq -rc '.status.phaseTransitionTimestamps[] | [.phase, .phaseTransitionTimestamp]' | tr -d '[]"' | awk -F, '{print $1": "$2}' | column -t

가상 머신 인스턴스 마이그레이션

출력에 따르면 VM을 “예약” 상태에서 “실행 중” 상태로 마이그레이션하는 데 약 4초가 걸렸고 “성공” 상태로 마이그레이션하는 데 16초가 걸렸습니다.

이제 FIO 숫자를 살펴보고 70% 읽기 / 30% 쓰기 임의 IO를 사용하여 120초 동안 동일한 실행을 비교해 보겠습니다.

 IOPS 읽기읽기 지연 시간(us)IOPS 쓰기쓰기 지연 시간(미국)
vdc 마이그레이션 없음4946.28575.142121.61509.79
vdd 마이그레이션 없음5146.51551.232203.45491.39
마이그레이션 중 VDC4902.99584.932104.91515.28
마이그레이션 중 vdd5097.07562.252189.2499.34

FIO 스크립트의 결과는 (예상대로) 일반적인 FIO 실행(VM이 마이그레이션되지 않음)과 라이브 마이그레이션 중에 Lightbits 스토리지에 IO를 지속적으로 보내는 실행 사이에서 IOPS가 약간 감소하고 대기 시간이 약간 증가하는 것을 보여줍니다. 

다음 단계

이 데모는 실행 방식이 비교적 간단하지만, 매우 강력하고 확장성이 뛰어나 더욱 복잡하고 데이터 집약적인 워크로드를 테스트할 수 있습니다. 네트워크 대역폭이 발전하고 이더넷 기술 혁신이 지속됨에 따라, 기업들은 기존 파이버 채널 SAN의 제약적인 한계에서 벗어나 더욱 유연하고 확장 가능한 네트워크 기반 스토리지로 전환할 것이며, NVMe/TCP가 유력한 선두 주자입니다. 제가 예시로 제시한 Lightbits Labs 팀은 자사 스토리지가 라이브 마이그레이션의 영향을 최소화하고 백엔드 스토리지에 대한 지속적이고 안정적인 액세스를 제공하여 Red Hat OpenShift Virtualization에서 VM을 중단 없이 실행할 수 있도록 하는 방법을 보여주었습니다.  지금 바로 OpenShift Virtualization 클러스터를 위한 에코시스템 카탈로그 에서 Lightbits Labs를 확인해 보세요.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You May Also Like