홈페이지 Enterprise Windows용 StarWind NVMe-oF 이니시에이터 실습

Windows용 StarWind NVMe-oF 이니시에이터 실습

by 브라이언 빌러

Windows는 많은 일에 적합하며 세계 최고의 운영 체제인 이유가 있습니다. 즉, 특히 새로운 스토리지 표준을 수용하는 경우에는 완벽하지 않습니다. 따라서 진취적인 기업이 Windows 상점을 위한 솔루션을 개발할 수 있는 엄청난 기회가 있습니다. NVMe SSD가 계속해서 기업을 지배하고 SSD 서버 스토리지의 표준이 됨에 따라 해당 스토리지를 공유할 수 있는 요구가 증가하고 있습니다. 슬프게도 Windows에서는 최근까지도 문제가 되었습니다. 올해 초 StarWind는 Windows용 NVMe-oF Initiator를 상용화했습니다.

Windows는 많은 일에 적합하며 세계 최고의 운영 체제인 이유가 있습니다. 즉, 특히 새로운 스토리지 표준을 수용하는 경우에는 완벽하지 않습니다. 따라서 진취적인 기업이 Windows 상점을 위한 솔루션을 개발할 수 있는 엄청난 기회가 있습니다. NVMe SSD가 계속해서 기업을 지배하고 SSD 서버 스토리지의 표준이 됨에 따라 해당 스토리지를 공유할 수 있는 요구가 증가하고 있습니다. 슬프게도 Windows에서는 최근까지도 문제가 되었습니다. 올해 초 StarWind는 Windows용 NVMe-oF Initiator를 상용화했습니다.

Windows 인텔 서버용 NVMe-oF 이니시에이터

상용화까지 StarWind는 Windows용 NVMe-oF Initiator를 개발 및 PoC 사용 사례를 위한 무료 도구로 제공했습니다. 그들은 여전히 무료 버전 제공 플레이하고 싶은 분들을 위해 GA 배송 버전이 오늘 우리가 보고 있는 것입니다. 실제로 Windows용 NVMe-oF Initiator를 보고 있다면 아마도 StarWind IP를 사용하고 있을 것입니다. 그들은 제품을 구축해야 하는 다양한 파트너에게 솔루션을 OEM으로 제공합니다.

Windows 구성용 NVMe-oF 이니시에이터

Windows용 StarWind NVMe-oF Initiator는 모든 Windows 호스트에 간단하게 설치할 수 있습니다. 특수 하드웨어나 추가 Windows 구성 요소가 필요하지 않습니다. 이 소프트웨어는 Windows 인증(Server 2019 및 Windows 10)이며 주요 NVMe-oF 스토리지 공급업체와의 호환성 테스트를 거쳤습니다. 이 시나리오에서는 하나의 스토리지 호스트와 XNUMX개의 클라이언트로 구성된 매우 간단한 구성이 있습니다.

장치 관리자의 Windows용 starwind NVMe-oF 초기자

XNUMX개의 클라이언트는 각각 Dell PowerEdge R740 서버. 각각 6130GB DRAM과 함께 2.1GHz에서 256개의 Intel Xeon Gold 5 CPU를 실행하고 있습니다. 연결을 위해 NVIDIA ConnectX-100 EN 516GbE NIC(MCX2019A-CCAT)를 사용하고 있습니다. 서버는 Windows 버전 1.9.0.455용 StarWind NVMe-oF Initiator를 활용하여 Windows Server 8.4.2105 Standard Edition과 함께 설치됩니다. Linux 테스트를 위해 nvme-cli 4.18.0와 함께 CentOS 305.10.2(커널 – 1.12-XNUMX)를 사용했습니다. 서버는 스토리지 호스트에 직접 연결됩니다.

Windows 아키텍처용 StarWind NVMe-oF 이니시에이터

스토리지 호스트는 50GB DRAM과 함께 2GHz에서 2개의 Intel Xeon 8380 CPU가 장착된 Intel OEM 서버(M2.3CYP512SB5U)입니다. NVIDIA ConnectX-100 EN 516GbE NIC(MCX8.4.2105A-CDAT)를 다시 사용했는데 이번에는 호스트에 5.13.7개가 있었습니다. 이 경우 CentOS 1(커널 – 8-21.07.elXNUMX.elrepo) 및 SPDK vXNUMX을 사용하고 있습니다.

Windows P5510용 NVMe-oF 이니시에이터

호스트 내에서 우리는 XNUMX개를 사용하고 있습니다. 인텔 P5510 Gen4 NVMe SSD. SSD는 CPU와의 NUMA 정렬을 위해 0개씩 XNUMX개의 배치로 나뉩니다. 최대 성능을 위해 RAIDXNUMX으로 구성됩니다.

Windows 성능을 위한 NVMe-oF 이니시에이터

이 테스트를 위해 Linux 및 Windows 이니시에이터를 모두 활용하는 FIO를 통해 다음 벤치마크를 실행했습니다.

  • 임의 읽기 4K – 16 스레드, 32 대기열 깊이
  • 임의 쓰기 4K – 8 스레드, 4 대기열 깊이
  • 임의 읽기 64K – 4 스레드, 32 대기열 깊이
  • 임의 쓰기 64K – 4 스레드, 1 대기열 깊이
  • 순차 읽기 1M – 2 스레드, 8 큐 깊이
  • 순차 쓰기 1M – 1 스레드, 8 큐 깊이

단일 테스트 기간은 3600초(1시간)입니다. 쓰기 작업을 벤치마킹하기 전에 스토리지가 먼저 3600초(1시간) 동안 워밍업되었습니다. 모든 테스트는 XNUMX회 실시하였으며 평균값을 최종 결과로 사용하였다.

4개의 클라이언트에서 Linux NVMeoF 이니시에이터 성능을 살펴보는 첫 번째 그룹에서 5.54K 임의 읽기에서 21.6ms 대기 시간에서 0.369GB/s의 대역폭에서 4M IOPS를 측정했습니다. 4K 임의 쓰기 성능은 1.58GB/s의 대역폭에서 6.2ms의 대기 시간으로 0.08M IOPS를 측정했습니다.

대규모 블록 전송으로 이동하면서 64K 랜덤 전송과 마지막으로 패브릭 전체의 대역폭에 초점을 맞춘 1M 순차 테스트를 모두 측정했습니다. 64K 랜덤 읽기에서 우리는 46.6ms 대기 시간에서 0.69GB/s, 쓰기 대기 시간 7.2ms에서 0.14GB/s를 측정했습니다. 1M 순차는 42.9ms 대기 시간에서 1.48GB/s 읽기, 쓰기 대기 시간 25.4ms에서 1.26GB/s로 나타났습니다.

다음으로 Windows로 전환하여 동일한 4.17개의 클라이언트에서 StarWind NVMeoF 초기자를 활용했습니다. 여기서 우리는 4K 임의 읽기에서 16.3만 IOPS 또는 0.35ms 대기 시간에서 4GB/s를 측정했습니다. 1.54K 랜덤 쓰기는 6ms의 대기 시간에서 0.07M IOPS 또는 XNUMXGB/s로 나타났습니다.

그런 다음 동일한 임의 액세스 프로필을 사용하여 더 큰 64K 전송 크기로 이동했습니다. 여기서 우리는 46.6ms 대기 시간에서 0.68GB/s 읽기 및 7.2ms 대기 시간에서 0.13GB/s 쓰기를 측정했습니다. 순차 액세스 패턴이 있는 1M 전송 크기의 마지막 워크로드 프로필로 전환하여 42.9ms 대기 시간에서 1.38GB/s 읽기 및 25.2ms 대기 시간에서 1.14GB/s 쓰기를 측정했습니다.

수치를 정면으로 비교하면 Windows와 Linux 성능 모두 4K 랜덤 읽기를 제외하고는 서로 매우 비슷했습니다. 다른 모든 테스트에서 성능 차이는 3% 미만이었습니다. 주요 차이점은 실제로 Windows 스토리지 스택을 통과할 때 추가되는 CPU 오버헤드에 있습니다. 이는 I/O 증가 자체가 CPU 사용량에 가장 많이 추가되는 2.7배에서 3.7배의 차이로 작동합니다.

Linux의 16% CPU 사용률에서 Windows의 44%로 이동하는 것은 상당히 큰 도약이지만 3.5%에서 9%로 이동하는 것은 같은 정도로 느껴지지 않습니다. Windows에서 실행해야 하는 응용 프로그램이나 일반적으로 Windows에 더 중점을 둔 IT 상점의 경우 StarWind의 주요 목표는 분명히 달성할 수 있는 NVMeoF 기능과 성능을 제공하는 것이었습니다.

결론

이 분석의 목표는 자체 NVMe-oF 솔루션을 실행하는 가장 좋은 방법이나 가장 빠른 방법을 결정하는 것이 아닙니다. 대부분의 스토리지 배포는 스토리지를 따르는 애플리케이션과 달리 애플리케이션을 따릅니다. 즉, 조직에서 Windows를 사용하려는 이유는 여러 가지가 있습니다. Windows를 선호하는 플랫폼으로 만드는 특정 응용 프로그램, 기존 인프라, 비용 이유 또는 기타 여러 가지 문제가 있을 수 있습니다. 적어도 지금은 Windows용 StarWind의 NVMe-oF 이니시에이터를 통해 NVMe SSD를 공유하고 애플리케이션 시스템에 최대한 가깝게 만드는 옵션이 있습니다.

Windows 전면 섀시용 NVMe-oF 이니시에이터

잠시 동안 클라이언트 OS를 무시하면 테스트의 주요 제한 사항은 실제로 시스템 간의 네트워크 링크로 귀결됩니다. 우리의 경우 100Gb NIC를 활용하여 네트워크를 포화시켰고 Linux 및 Windows 환경 모두에서 46.6GB/s를 기록했습니다. Windows의 피크 4K 임의 읽기 테스트에서도 16.3GB/s를 밀어냈는데, 이는 임의 I/O에 대해 25개 이상의 XNUMXGbE 링크로 작동합니다. 어떤 식으로든 NVMe 성능이 많은 트래픽을 흡수할 수 있기 때문에 네트워킹은 결국 NVMe-oF에서 더 중요한 역할을 합니다.

그러나 결국 우리의 목표는 StarWind 초기자가 얼마나 잘 작동하는지 평가하는 것이었습니다. 정말 잘 작동합니다. 대안을 고려하면 "당신을 위한 NVMe-oF가 없습니다!" Windows에서는 모든 옵션이 제공되어 기쁩니다. 예, 권한에 대한 CPU 적중이 있지만 Linux에서 Windows로의 백분율 델타가 무섭긴 하지만 4K 임의 읽기 외에는 인지된 영향이 미미합니다. 이것이 적합한지 확실하지 않은 경우 StarWind에서 무료로 사용해 볼 수 있습니다. 설치가 매우 간단하여 NVMe-oF가 Windows의 애플리케이션에서 얼마나 잘 작동하는지 한 번 살펴보고 확인해야 할 모든 이유가 있습니다.

StarWind 제품 페이지

StarWind 데모 요청 양식

StorageReview에 참여

뉴스레터 | 유튜브 | 팟캐스트 iTunes/스포티 파이 | 인스타그램 | 트위터 | 페이스북 | RSS 피드