최근 추가된 VMware 패브릭을 통한 NVMe(NVMe-oF) vSphere 7.0의 스토리지 네트워크 프로토콜 옵션으로. 세계에서 가장 인기 있는 가상화 소프트웨어에서 가장 빠른 공유 스토리지 솔루션을 사용할 수 있다는 사실은 가상화된 데이터 센터에 대한 완전히 새로운 사용 사례를 여는 게임 체인저입니다. 이는 또한 이제 vSphere의 NVMe-oF 지원 VM(가상 머신)에서 실행할 수 있는 베어메탈 애플리케이션이 있음을 의미합니다. 여기에는 인공 지능(AI), 기계 학습(ML), 인메모리 데이터베이스, 고성능 컴퓨팅(HPC), 고주파 거래(HFT), 온라인 트랜잭션 처리(OLTP) 및 대기 시간이 매우 짧고 대용량 스토리지입니다.
최근 추가된 VMware 패브릭을 통한 NVMe(NVMe-oF) vSphere 7.0의 스토리지 네트워크 프로토콜 옵션으로. 세계에서 가장 인기 있는 가상화 소프트웨어에서 가장 빠른 공유 스토리지 솔루션을 사용할 수 있다는 사실은 가상화된 데이터 센터에 대한 완전히 새로운 사용 사례를 여는 게임 체인저입니다. 이는 또한 이제 vSphere의 NVMe-oF 지원 VM(가상 머신)에서 실행할 수 있는 베어메탈 애플리케이션이 있음을 의미합니다. 여기에는 인공 지능(AI), 기계 학습(ML), 인메모리 데이터베이스, 고성능 컴퓨팅(HPC), 고주파 거래(HFT), 온라인 트랜잭션 처리(OLTP) 및 대기 시간이 매우 짧고 대용량 스토리지입니다.
StorageReview.com에서는 항상 최신 기술을 테스트하여 실제로 어떻게 작동하는지 확인하는 데 관심이 있습니다. NVMe-oF에 대한 이전 경험을 고려할 때 vSphere의 애플리케이션 성능이 크게 향상될 것으로 기대합니다. NVMe-oF가 성능에 어떤 영향을 미치는지 실제로 알아보기 위해 vSphere 데이터 센터의 블록 스토리지에 대한 현재 표준 베어러인 iSCSI와 비교할 것입니다. 그러나 고도로 전문화된 틈새 기술을 사용하지 않을 것이기 때문에 우리의 테스트에는 독특한 반전이 있을 것입니다. 대신 오늘날 데이터 센터에서 흔히 볼 수 있는 제품을 사용할 것입니다. 테스트는 720GbE에서 실행되는 NVIDIA의 ConnectX-5 듀얼 포트 어댑터로 연결된 Dell R25XD 서버에서 퓨어스토리지 플래시어레이//X NVMe-oF를 지원합니다.
테스트 결과에 도달하기 전에 먼저 VMware가 NVMe-oF 방식으로 지원하는 것에 대한 개요를 제공한 다음 NVMe 및 NVMe-oF에 대한 약간의 배경 정보를 제공하고 NVMe 및 NVMe-oF가 NVMe-oF보다 성능이 뛰어난 이유를 설명합니다. iSCSI. vSphere에서 NVMe를 설정하기 위해 수행한 몇 가지 단계도 다룰 것입니다.
NVMe-oF 표준은 2020년에 출시되었지만 VMware는 최근 NVMe-oF 지원(2016년 2018월)을 활성화했습니다. Linux는 2020년부터 이를 사용할 수 있었고 스토리지 어레이의 NVMe-oF 지원도 몇 년 동안 사용할 수 있었습니다. . NVMe-oF는 신흥 기술이지만 안정적인 기술로 간주됩니다. 7.0년 XNUMX월 VMware는 vSphere XNUMX을 출시했으며 이 릴리스에는 NVMe-oF에 대한 지원이 포함되어 있어 NVMe/FC(NVMe over Fibre Channel) 또는 NVMe over RDMA 컨버지드 이더넷(NVMe-RoCE)을 통해 NVMe 어레이에 연결할 수 있습니다. NVMe/RDMA).
NVMe 및 NVMe-oF 개요
최근까지 SSD는 사실상 연결된 스토리지용 표준 미디어. 그러나 그들은 또한 중요한 병목 현상을 가지고 있습니다. SSD는 HDD와 함께 사용하도록 설계된 SATA 또는 SAS 커넥터를 사용하며 이는 SSD의 성능을 심각하게 제한합니다. 이 문제를 해결하기 위해 90개 이상의 회사로 구성된 컨소시엄이 2011년에 연합하여 SATA 병목 현상이 없는 컴퓨터에 SSD를 연결하는 새로운 사양을 발표했습니다. 이 솔루션은 결국 NVMe로 알려지게 되었습니다.
NVMe 장치는 빠릅니다. SATA/SAS SSD가 지난 4년 동안 스토리지 산업을 근본적으로 변화시킨 반면, NVMe는 이번 세기에 스토리지 산업을 근본적으로 변화시키고 있습니다. 예를 들어, 500K 읽기 워크로드를 사용한 최근 테스트에서 SATA 드라이브(Kingston DC80,000M)는 1000 IOPS 미만을 제공할 수 있지만 NVMe 드라이브(Kingston DC580,000M)는 7.25 IOPS를 제공할 수 있어 무려 XNUMX배 차이가 났습니다. NVMe가 SATA 드라이브보다 훨씬 뛰어난 성능을 발휘하는 데는 기술적인 이유가 많이 있지만 가장 중요한 이유 중 하나는 데이터 경로가 더 짧다는 것입니다. 아래 다이어그램은 SAS와 같은 최신 스토리지와 비교했을 때 NVMe의 데이터 경로가 얼마나 짧은지를 간략하게 보여줍니다.
가격의 급격한 하락과 함께 성능 향상으로 인해 NVMe는 최신 데이터 센터의 사랑을 받았습니다.
NVMe 드라이브가 데이터 센터에서 널리 사용된 직후 사람들은 장치가 잠재력을 최대한 활용하지 못하고 있다는 사실을 깨달았고 직접 연결 스토리지의 한계가 더욱 분명해졌습니다. NVMe 장치를 서버에서 분리해야 했기 때문에 다른 회사 그룹이 모여 네트워크를 통해 NVMe를 제공하는 방법에 대한 사양을 개발했습니다. NVMe 스토리지에 대한 전송 메커니즘을 사용할 수 있게 되면 스토리지 시스템의 NVMe 장치를 ESXi 호스트를 비롯한 여러 시스템에 통합, 추상화 및 공유할 수 있습니다. NVMe-oF는 타겟/이니시에이터 용어를 사용합니다.
RoCE는 이더넷 네트워크를 통한 원격 직접 메모리 액세스(RDMA)를 허용합니다. RoCE에는 RoCE v1과 RoCE v2의 두 가지 버전이 있습니다. RoCE v1은 동일한 이더넷 브로드캐스트 도메인(계층 2)에 있는 두 호스트 간의 통신을 허용하지만 RoCE v2는 TCP(계층 3) 위에서 실행되므로 라우팅이 가능하므로 이더넷 브로드캐스트 도메인 외부의 호스트에 연결할 수 있습니다. 데이터 센터의 고유한 이점과 인기로 인해 VMware는 v2만 지원합니다. 이 문서에서는 RoCE v2를 단순히 RoCE라고 합니다.
RoCE에는 표준 NIC 대신 RDMA 네트워크 인터페이스 컨트롤러(rNIC)가 필요합니다. RoCE 네트워크는 일반적으로 우선순위 흐름 제어를 구성해야 하지만 Spectrum 스위치는 제로 구성을 허용하는 ConnectX 어댑터와 함께 사용할 때 혼잡 제어에 최적화되어 있습니다. RoCE는 매우 유명하며 rNIC와 NVMe-oF 하위 시스템을 모두 공급하는 번창하는 에코시스템을 보유하고 있습니다. 현재 세계 최대 규모의 일부 하이퍼스케일 데이터 센터에서 사용되고 있으며, 이로 인해 rNIC가 처음 도입되었을 때보다 가격이 상당히 낮아졌습니다.
RDMA를 사용하면 표준 TCP/IP(전송 제어 프로토콜/인터넷 프로토콜) 스택을 사용하는 경우와 같이 메모리 버퍼에 복사할 필요 없이 데이터를 NVMe-oF 장치에서 호스트로 직접 전송할 수 있습니다. RDMA는 버퍼를 우회하여 호스트의 CPU 사용량을 줄이고 원격 NVMe 장치의 데이터에 액세스하기 위한 대기 시간을 줄입니다. NVMe-oF가 최신 네트워크 스토리지 기술보다 성능이 뛰어난 데는 여러 기술적인 이유가 있습니다. 주목할 점은 NVMe-oF가 지원하는 막대한 수 또는 대기열(64K)이지만 아마도 가장 중요한 것은 NVMe-oF 데이터 경로일 것입니다. 아래 다이어그램은 iSCSI 스토리지와 비교할 때 NVMe-oF의 데이터 경로가 얼마나 짧은지를 간략하게 보여줍니다.
RoCE는 UDP를 사용하는데, 이는 UDP가 더 적은 오버헤드를 필요로 하므로 성능에 영향을 미칩니다. 그러나 RoCE는 완전한 무손실 연결을 제공하기 위해 종단 간 호환성에 의존합니다. 최신 네트워크 스위치는 무손실 연결을 지원하지만 무손실 연결을 지원하지 않는 이전 스위치가 NVMe-oF의 네트워크 경로에 있지 않도록 주의해야 합니다.
이 모든 것의 결론은 NVMe-oF가 네트워크의 NVMe 드라이브가 액세스 서버에 로컬인 것처럼 액세스할 수 있다는 것입니다. 초기 보고서에 따르면 풀링된 스토리지의 대기 시간은 iSCSI 올플래시 스토리지 어레이의 100μs 이상과 달리 약 500μs입니다.
vSphere를 갖춘 NVMe-oF
vSphere를 사용하는 NVMe-oF에 대한 요구 사항은 간단합니다.
- RDMA(RoCE) 전송을 지원하는 NVMe 어레이
- 호환되는 ESXi 호스트
- 무손실 네트워크를 지원하는 이더넷 스위치
- RoCE를 지원하는 네트워크 어댑터
- 소프트웨어 NVMe over RDMA 어댑터
- NVMe 컨트롤러
- 레이어 2 및 레이어 3 모두에서 무손실 네트워크 또는 NVIDIA의 ZTR(Zero Touch RoCE) 솔루션을 사용한 손실 네트워크
- NVMe 대상에 대한 전용 링크, VMkernel 및 RDMA 어댑터
- 전용 레이어 3 VLAN 또는 레이어 2 연결
NVMe-oF는 VMware의 새로운 기능이므로 모든 vSphere 기능을 사용할 수 있는 것은 아닙니다. 누락된 몇 가지 기능은 공유 VMDK, RDM(Raw Device Maps), vVol 및 NVMe-oF에서 부팅하는 기능에 대한 지원입니다.
NVMe-oF 구현
우리는 데이터 센터에서 가장 일반적인 카드 중 하나인 NVIDIA의 ConnectX-5 rNIC를 사용했습니다. 이러한 카드는 RDMA 지원 단일 또는 이중 포트 네트워크 어댑터입니다. PCIe Gen 3.0 및 Gen 4.0 서버에서 사용할 수 있으며 1, 10, 25, 40, 50 및 100Gb를 지원합니다. 대기 시간은 750ns이며 초당 최대 200억 개의 메시지를 전달할 수 있습니다. 스토리지 워크로드와 함께 사용할 경우 광범위한 가속화 기술을 지원합니다.
테스트를 위해 한 쌍의 NVIDIA Spectrum SN3.0 스위치를 통해 Pure Storage 플래시 어레이에 연결된 네트워크를 통해 한 쌍의 Dell R5 서버에서 25GbE의 PCIe Gen 720 ConnectX-2010 카드를 실행했습니다.
먼저 esxcfg를 입력하여 nmlx5_core 드라이버를 실행하고 있음을 확인했습니다.-nics -l |grep -E '이름|NVIDIA'.
nmlx4_core 드라이버를 실행 중인 경우 ESXi CLI에서 RoCE를 활성화할 수 있습니다.
NVMe-oF를 활성화하는 프로세스(iSCSI 설정 및 활성화와 유사)에는 ESXi 호스트에서 vSwitch, 포트 그룹 및 vmkernel 포트를 구성하는 작업이 포함되었습니다. 주요 차이점은 각 ESXi 호스트에 최소 XNUMX개의 소프트웨어 NVMe over RDMA 어댑터를 추가해야 한다는 것입니다.
완료해야 할 마지막 단계는 다음을 입력하여 ESXi 호스트의 NQN(NVMe Qualified Name)을 식별하는 것이었습니다. esxcli nvme 정보 가져오기.
퓨어스토리지 어레이에서는 한 가지 큰 예외를 제외하고는 iSCSI 어레이를 설정하는 것과 유사했습니다. 선택해야 했습니다. NQN 구성.
NVMe-oF with vSphere의 테스트 결과
이 테스트를 위해 패브릭을 제외한 모든 것을 일정하게 유지했습니다. 우리가 평가하고자 하는 것은 보다 전통적인 iSCSI에서 RoCE로 전환할 때의 영향입니다. 분명히 말하지만 이것은 스토리지 벤치마킹 연습이 아닙니다. 이것은 거의 변경이 필요하지 않은 VMware 환경에서 NVMe-oF의 이점을 살펴보기 위한 검사입니다. Dell EMC PowerEdge 서버 2대와 스토리지 백엔드용 Pure FlashArray//X RXNUMX를 사용했습니다.
테스트 계획에는 8개의 VM(각 ESXi 호스트에 4개)의 집계 성능 측정과 vdBench를 사용하여 기존의 네 모서리 및 혼합 워크로드 측정이 포함되었습니다. 각 VM은 64GB의 스토리지를 사용했으며, 프로토콜 변경에 따른 성능 변화를 비교하기 위해 워크로드당 총 512GB의 공간을 사용할 수 있습니다.
이러한 결과를 해석하려면 처리량의 경우 개선이 더 좋고 대기 시간의 경우 감소가 더 낫다는 점에 유의하십시오.
4% 부하에서 80K 임의 읽기 성능을 측정한 첫 번째 워크로드에서 처리량이 14.6% 증가하고 읽기 대기 시간이 21.4% 감소한 것으로 측정되었습니다.
다음으로, 64K 순차 읽기 워크로드에서 읽기 대역폭을 살펴보면 처리량이 무려 81.3% 증가하고 대기 시간이 36.8% 감소했으며 다시 80% 부하에서 나타났습니다.
측정된 가장 큰 이득은 읽기 워크로드에 있었지만 몇 가지 일반적인 혼합 워크로드도 살펴보았습니다. 그 중 첫 번째는 SQL 90/10이었습니다. 이 워크로드에서 우리는 대기 시간이 78.2% 로드에서 최대 100% 감소하고 43.4% 로드에서 대기 시간이 80% 감소하는 것을 측정했습니다.
마지막으로 Oracle 90/10 워크로드에서 13.2% 로드 시 대기 시간이 100% 감소하고 35.7% 로드 시 대기 시간이 80% 감소했습니다.
이 테스트에서 RoCE는 기업에서 일반적으로 사용되는 광범위한 워크로드에서 확실히 크게 개선되었습니다.
결론
우리의 테스트는 실제 세계의 NVMe-oF가 단순한 개념 이상이라는 것을 입증했습니다. NVMe-oF는 Gen 3.0 PCI 슬롯이 있는 서버, NVIDIA의 ConnectX-5 NIC 및 Pure Storage FlashArray//X R2와 같은 데이터 센터의 현재 하드웨어를 사용하여 뛰어난 성능을 제공할 수 있습니다. 성능 향상).
테스트에서 작은 블록 및 큰 블록 읽기 워크로드에서 상당한 이득을 보았습니다. 실제 영향을 살펴보기 위해 대부분의 워크로드가 기본 스토리지 플랫폼을 완전히 포화시키지 않기 때문에 100% 미만의 워크로드 포화에 중점을 두었습니다. 4K 임의 읽기 성능을 측정한 테스트에서 대기 시간은 21.4% 워크로드에서 80% 감소했습니다. 64K 워크로드의 순차 읽기 성능은 81.3% 로드에서 처리량이 80% 크게 증가했습니다. 또한 43.4% 로드에서 SQL 35.7/90 및 Oracle 10/90 워크로드에서 대기 시간이 각각 10% 및 80% 감소했습니다. 이러한 수치는 까다로운 베어메탈 워크로드를 VMware로 전환할 수 있는 추가 기회가 있음을 나타냅니다.
우리는 NVMe-oF가 스토리지 기술의 차세대 거물이 될 것이라고 확신하며 데이터 센터에서 NVMe-oF의 인기가 빠르게 확산될 것으로 기대합니다. 우리는 향후 몇 년 동안 이 범주가 발전함에 따라 최전선에 서게 될 것이며, 다른 인접 NVMe 기술이 출시되면 조사할 수 있기를 기대합니다.
추가 정보 :
이 보고서는 NVIDIA의 후원을 받았습니다. 이 보고서에 표현된 모든 견해와 의견은 고려 중인 제품에 대한 우리의 공정한 견해를 기반으로 합니다.