최근 몇 년 동안 우리는 데이터 센터의 병목 현상이 된 오래된 스토리지 프로토콜에 도전해 온 스토리지 성능이 얼마나 빨라지는지 계속해서 경험하고 있습니다. 100GbE의 최신 패브릭 속도와 InfiniBand와 같은 새로운 네트워킹 표준을 사용함에도 불구하고 이러한 느린 네트워크 프로토콜 기술은 플래시 장치의 성능을 제한하고 장치 자체 내부에 유지하며 상자에 격리시킵니다. 이 기사에서는 NVMe(Non-Volatile Memory Express)에 대해 간단히 살펴봅니다. 또한 최신 스토리지 네트워크의 병목 현상을 해결하기 위해 개발된 새로운 프로토콜 사양인 NVMe over Fabrics(NVMe-oF) 및 NVMe over RDMA over Converged Ethernet(NVMe over RoCE)에 대해 살펴봅니다.
최근 몇 년 동안 우리는 데이터 센터의 병목 현상이 된 오래된 스토리지 프로토콜에 도전해 온 스토리지 성능이 얼마나 빨라지는지 계속해서 경험하고 있습니다. 100GbE의 최신 패브릭 속도와 InfiniBand와 같은 새로운 네트워킹 표준을 사용함에도 불구하고 이러한 느린 네트워크 프로토콜 기술은 플래시 장치의 성능을 제한하고 장치 자체 내부에 유지하며 상자에 격리시킵니다. 이 기사에서는 NVMe(Non-Volatile Memory Express)에 대해 간단히 살펴봅니다. 또한 최신 스토리지 네트워크의 병목 현상을 해결하기 위해 개발된 새로운 프로토콜 사양인 NVMe over Fabrics(NVMe-oF) 및 NVMe over RDMA over Converged Ethernet(NVMe over RoCE)에 대해 살펴봅니다.
클라우드 및 데이터 센터에서 낮은 지연 시간과 높은 처리량에 대한 항상 요구되는 사항으로 인해 NVMe over Fabrics에 대해 많은 논의가 이루어지고 있습니다. NVMe 사양은 존재한 지 XNUMX년이 채 되지 않았으며 NVMe-oF도 비교적 새로운 것이기 때문에 그 실행과 비즈니스에 미치는 이점에 대해 여전히 많은 오해가 있습니다. 이 기술은 IT 산업에서 지속적으로 발전하고 광범위하게 채택되었습니다. 엔터프라이즈 시장에 NVMe-oF 관련 제품을 제공하는 여러 네트워크 공급업체를 보기 시작했습니다. 따라서 첨단 데이터 센터 기술을 따라잡기 위해서는 NVMe-oF가 무엇인지, 기능 및 성능 특성을 이해하는 것이 필수적입니다. 또한 배포 방법과 이 기술을 다양하고 새로운 솔루션에 결합하는 방법입니다.
NVMe 및 NVMe-oF
올플래시 어레이(AFA)는 레거시 스토리지보다 훨씬 빠르고 시장에서 항상 약속된 1백만 IOPS에 손쉽게 도달할 수 있기 때문에 고성능에 대한 요구에 부응하기 위해 데이터 센터에 등장했습니다. 그러나 이러한 어레이 중 다수는 거의 레거시 스토리지 기술인 SATA SSD를 계속 사용했습니다. 이 유형의 스토리지는 AHCI(Advanced Host Controller Interface) 명령 프로토콜을 기반으로 하며 IDE를 지원합니다. AHCI는 기본적으로 고급 플래시 기반 드라이브가 아닌 회전 디스크용으로 제작되었습니다. 이 SCSI 기반 기술은 AHCI가 있는 SATA III 버스가 최대 600MB/s의 데이터 전송 속도만 허용하므로 오늘날의 SSD 및 스토리지 어레이 컨트롤러에 병목 현상을 일으킵니다.
표 1: 일반버스 속도
SSD의 모든 기능을 활용하려면 플래시를 더 빠른 속도로 언로드할 수 있는 새로운 기술이 필요했습니다. NVMe는 플래시 스토리지(또는 SSD)가 플래시 성능을 실제로 활용할 수 있게 해주는 사양입니다. 이 기술은 애플리케이션 응답 시간을 개선하기 위해 2014년에 처음 도입되어 새롭고 더 나은 기능을 제공합니다. NVMe 솔리드 스테이트 드라이브의 많은 폼 팩터가 있으며 가장 잘 알려진 것은 AIC(애드인 카드), U.2, U.3 및 M.2입니다. NVMe SSD는 컴퓨터 또는 서버에 직접 연결하여 PCIe(Peripheral Component Interconnector Express) 고속 버스를 활용합니다. 실질적으로 NVMe는 CPU 오버헤드를 줄이고 대기 시간을 낮추는 작업을 간소화하고 IOPS(초당 입출력 작업) 및 처리량을 늘립니다. 예를 들어 NVMe SSD는 3,000MB/s 이상의 쓰기 속도를 제공합니다. SATA SSD와 비교하면 회전 디스크보다 5배 또는 30배 빠릅니다.
NVMe를 사용하면 IOPS가 병렬로 수행되어 동시에 많은 계산이 가능합니다. 큰 작업은 여러 개의 작은 작업으로 나누어 독립적으로 처리할 수 있습니다. 다중 스레드로 작업하는 멀티 코어 CPU와 유사합니다. 각 CPU 코어는 서로 독립적으로 작동하여 특정 작업을 수행할 수 있습니다.
QD(Queue Depths)는 AHCI에 비해 NVMe의 또 다른 이점입니다. ACHI 및 SATA는 대기열 깊이 32개(대기열 1개 및 명령 32개)를 처리할 수 있는 반면 NVMe는 최대 65K의 대기열 깊이를 처리할 수 있습니다. 각 대기열은 대기열당 최대 65K 명령을 보유할 수 있는 65K 대기열입니다. 대기 시간 감소와 함께 동시 요청을 처리하는 바쁜 서버의 성능을 가속화합니다.
표 2: 대기열 비교
그러나 데이터 센터의 문제는 스토리지 네트워크 프로토콜에 남아 있습니다. NVMe의 부상에도 불구하고 그 이득은 각 개별 어플라이언스로 제한됩니다. 사실 플래시 스토리지 및 AFA와 같은 기타 엔터프라이즈급(고가) 어플라이언스는 섀시 내부의 놀라운 성능을 분리하기 위한 것이 아닙니다. 대신 대규모 병렬 컴퓨터 클러스터에서 사용되어 다른 서버 및 스토리지와 같은 추가 및 다중 어플라이언스와 연결됩니다. 이러한 장치의 상호 연결은 우리가 스위치, 라우터, 프로토콜 브리지, 게이트웨이 장치 및 케이블을 포함하는 스토리지 네트워크인 패브릭이라고 부르는 것입니다.
2016년에 NVMe-oF 산업 표준이 출시되었습니다. 프로토콜 사양은 이더넷, 파이버 채널, RoCE 또는 InfiniBand를 사용하여 스토리지 어레이 컨트롤러에서 패브릭으로 NVMe의 놀라운 성능을 확장합니다. NVMe-oF는 NVMe에서 사용하는 PCIe 버스 대신 대체 데이터 전송 프로토콜(패브릭을 통해)을 전송 매핑으로 사용합니다. 패브릭은 엔드포인트 간에 공유 메모리 없이 메시지를 보내고 받는 개념을 기반으로 구축됩니다. NVMe 패브릭 메시지는 캡슐화된 NVMe 명령 및 응답을 하나 이상의 NVMe 명령 또는 응답을 포함하는 메시지 기반 시스템으로 전송합니다.
NVMe-oF에서 대상은 SCSI LUN과 동일한 네임스페이스로 표시됩니다. NVMe-oF를 사용하면 호스트가 마이크로초(μs) 수준의 대기 시간을 매우 낮게 유지하면서 훨씬 더 먼 거리에서 이러한 스토리지 대상과 통신할 수 있습니다. 간단히 말해 패브릭 대기 시간을 크게 추가하지 않고도 시스템과 플래시 스토리지 간에 더 나은 성능을 얻을 수 있습니다. 이 짧은 대기 시간은 부분적으로 앞서 언급한 NVMe 대기열 깊이에서 가능합니다. NVMe-oF는 NVMe, 65K와 동일한 대기열을 처리할 수 있습니다.. 이 놀라운 숫자 덕분에 NVMe-oF는 호스트와 드라이브 간에 고도의 병렬 아키텍처를 설계할 수 있으며 이러한 각 장치에 대해 별도의 대기열을 사용합니다.
NVMe 패브릭 전송
NVMe에서 지원하고 사용하는 세 가지 유형의 패브릭 전송은 RDMA를 사용하는 NVMe-oF, 파이버 채널을 사용하는 NVMe-oF, TCP를 사용하는 NVMe-oF입니다.
RDMA를 통한 NVMe-oF
이 사양은 RDMA(원격 직접 메모리 액세스)를 사용하며 네트워크를 통해 컴퓨터와 저장 장치 간에 데이터와 메모리를 전송할 수 있습니다. RDMA는 두 컴퓨터의 프로세서, 캐시 또는 OS를 포함하지 않고 네트워크에서 두 컴퓨터의 주 메모리 간에 정보를 교환하는 방법입니다. RDMA는 OS를 피하기 때문에 일반적으로 네트워크를 통해 데이터를 전송하기 위한 가장 빠르고 가장 낮은 오버헤드 메커니즘입니다.
RDMA를 통한 NVMe-oF는 TCP 전송 프로토콜을 사용하여 IP 네트워크를 통해 데이터를 전달합니다. 일반적인 RDMA 구현에는 Virtual Interface Architecture, RoCE(RDMA over Converged Ethernet), InfiniBand, Omni-Path 및 iWARP가 포함됩니다. RoCE, InfiniBand 및 iWARP가 현재 가장 많이 사용됩니다.
파이버 채널을 통한 NVMe
파이버 채널(FC)을 통해 NVMe를 사용하는 조합은 종종 FC-NVMe, FC를 통한 NVMe 또는 NVMe/FC라고도 합니다. 파이버 채널은 스토리지 어레이와 서버 간에 데이터를 전송하기 위한 강력한 프로토콜이며 대부분의 엔터프라이즈 SAN 시스템에서 사용합니다. FC-NVMe에서 명령은 FC 프레임 내부에 캡슐화됩니다. 표준 FC 규칙을 기반으로 하며 공유 NVMe 플래시에 대한 액세스를 지원하는 표준 FC 프로토콜과 일치합니다. SCSI 명령은 FC 프레임에 캡슐화됩니다. 그러나 이를 해석하고 NVMe 명령으로 변환하려면 성능 패널티가 부과됩니다.
TCP/IP를 통한 NVMe
이 전송 유형은 NVMe-oF의 최신 개발 중 하나입니다. NVMe over TCP(전송 제어 프로토콜)는 NVMe-oF 및 TCP 전송 프로토콜을 사용하여 IP(이더넷) 네트워크를 통해 데이터를 전송합니다. NVMe는 물리적 전송으로 이더넷을 통해 TCP 데이터그램 내에서 전송됩니다. RDMA 및 파이버 채널이 있음에도 불구하고 TCP는 더 저렴하고 유연한 대안을 제공합니다. 또한 이더넷을 사용하는 RoCE와 비교할 때 NVMe/TCP는 I/O에 메시징 의미 체계를 사용하기 때문에 FC-NVMe에 더 가깝습니다.
RDMA, 파이버 채널 또는 TCP와 함께 NVMe-oF를 사용하면 완전한 엔드 투 엔드 NVMe 스토리지 솔루션이 됩니다. 이러한 솔루션은 NVMe를 통해 사용할 수 있는 매우 낮은 대기 시간을 유지하면서 현저하게 높은 성능을 제공합니다.
RoCE(Converged Ethernet)를 통한 NVMe over RDMA
RDMA 프로토콜 중에서 RoCE가 두드러집니다. 우리는 RDMA와 NVMe-oF가 무엇인지 알고 있으며 이제 이더넷 네트워크를 통해 RDMA를 지원하는 CE(Converged Ethernet)가 있습니다. CE는 데이터 센터 브리징 및 데이터 센터 이더넷으로도 알려진 향상된 이더넷 버전과 같습니다. 이더넷을 통한 InfiniBand 전송 패킷을 캡슐화합니다. 이 솔루션은 네트워크가 포화된 경우에도 무손실을 보장하는 링크 수준 흐름 제어 메커니즘을 제공합니다. RoCE 프로토콜은 이전 버전인 iWARP 프로토콜보다 낮은 대기 시간을 허용합니다.
RoCE v1과 RoCE v2의 두 가지 RoCE 버전이 있습니다. RoCE v1은 동일한 이더넷 브로드캐스트 도메인에 있는 두 호스트 간의 통신을 허용하는 이더넷 계층 2(링크) 프로토콜입니다. 따라서 서브넷 간에 라우팅할 수 없습니다. 새로운 옵션은 UDP/IPv2 또는 UDP/IPv4 프로토콜 위에 있는 프로토콜인 RoCE v6입니다. RoCE v2는 이더넷 계층 3(인터넷) 프로토콜이므로 패킷을 라우팅할 수 있습니다. RoCE v2에 대한 소프트웨어 지원은 계속 등장하고 있습니다. Mellanox OFED 2.3 이상에는 RoCE v2 지원 및 Linux Kernel v4.5도 있습니다.
NVMe over RoCE는 새로운 유형의 SAN입니다. 이 프로토콜은 SAN 하드웨어 및 소프트웨어와 동일한 엔터프라이즈 데이터 서비스 성능 및 유연성을 제공합니다. RoCE 프로토콜은 컨버지드 이더넷 네트워크의 특성을 활용하지만 기존 또는 비컨버지드 이더넷 네트워크에서도 프로토콜을 사용할 수 있습니다. NVMe over RoCE 스토리지 패브릭을 구성하려면 NIC, 스위치 및 AFA가 컨버지드 이더넷을 지원해야 합니다. NIC(R-NIC라고 함) 및 전체 플래시 어레이는 RoCE에 대한 지원을 제공해야 합니다. NVMe over RoCE 인터페이스가 있는 R-NIC 및 AFA가 있는 서버는 설치된 CE 스위치로 플러그 앤 플레이합니다.
VMware에 대한 RoCE 지원을 통한 NVMe-oF
VMware는 NVMe-oF를 사용하여 공유 NVMe 스토리지에 대한 지원을 추가했습니다. 외부 연결의 경우 파이버 채널을 통한 NVMe 및 RDMA를 통한 NVMe가 vSphere 7.0에서 지원됩니다. ESXi 호스트는 RoCE v2(Converged Ethernet v2)를 통한 RDMA를 사용할 수 있습니다. RDMA를 사용하여 NVMe 스토리지를 활성화하고 액세스하기 위해 ESXi 호스트는 호스트의 R-NIC 어댑터와 SW NVMe over RDMA 스토리지 어댑터를 사용합니다. NVMe 스토리지 검색에 어댑터를 사용하려면 두 어댑터에서 구성을 구성해야 합니다.
대상은 NVMe-oF를 사용할 때 활성/활성 또는 ALUA(비대칭 액세스 모드)에서 호스트에 네임스페이스로 표시됩니다. 이렇게 하면 ESXi 호스트가 제시된 네임스페이스를 검색하고 사용할 수 있습니다. ESXi는 NVMe-oF 대상을 내부적으로 SCSI 대상으로 에뮬레이션하고 활성/활성 SCSI 대상 또는 암시적 SCSI ALUA 대상으로 표시합니다.
NVMe over RDMA 요구 사항:
- RDMA(RoCE v2) 전송을 지원하는 NVMe 어레이
- 호환되는 ESXi 호스트
- 무손실 네트워크를 지원하는 이더넷 스위치.
- RoCE v2를 지원하는 네트워크 어댑터
- SW NVMe over RDMA 어댑터
- NVMe 컨트롤러
- RoCE는 현재 ZTR(Zero Touch RoCE)을 지원하는 손실 패브릭에서 실행되거나 레이어 2 단독 또는 레이어 2와 레이어 3 모두(PFC 사용)에서 정보의 무손실 트래픽을 위해 구성된 네트워크가 필요합니다.
ESXi 호스트에서 NVMe-oF를 설정할 때 따라야 할 몇 가지 사례가 있습니다.
- 동일한 네임스페이스에 액세스하기 위해 전송 유형을 혼합하지 마십시오.
- 모든 활성 경로가 호스트에 제공되는지 확인하십시오.
- NMP는 사용/지원되지 않습니다. 대신 HPP(High-Performance Plugin)가 NVMe 대상에 사용됩니다.
- NVMe 대상에 대한 전용 링크, VMkernel 및 RDMA 어댑터가 있어야 합니다.
- 전용 레이어 3 VLAN 또는 레이어 2 연결
- 제한:
-
- 네임스페이스-32
- 경로=128(호스트의 최대 4개 경로/네임스페이스)
결론
점점 더 많은 사람들이 클라우드 서비스의 데이터에 의존함에 따라 데이터 센터에서 더 빠른 백엔드 스토리지에 대한 수요가 증가하고 있습니다. NVMe는 플래시 장치와 인터페이스하는 새로운 방법이며 NVMe-oF와 함께 이 기술은 외부 연결 옵션을 발전시켜 왔습니다. NVMe-oF와 다양한 유형의 전송이 데이터 스토리지의 미래로 인식되기 시작했습니다. 이러한 스토리지 장치 및 어플라이언스는 상호 연결된 패브릭 내에서 매 밀리초가 중요하므로 데이터 센터의 핵심으로 간주됩니다. NVMe 기술은 메모리 매핑된 입력/출력 명령을 줄이고 운영 체제 장치 드라이버를 수용하여 성능을 높이고 대기 시간을 줄입니다.
NVMe는 낮은 대기 시간과 높은 처리량의 멀티태스킹 속도로 인해 점점 더 인기를 얻고 있습니다. NVMe는 비디오 편집, 게임 및 기타 솔루션을 개선하기 위해 개인용 컴퓨터에서도 사용되고 있지만 NVMe-oF를 통해 기업에서 실질적인 이점을 볼 수 있습니다. IT, 인공 지능, 기계 학습과 같은 산업은 계속해서 발전하고 있으며 향상된 성능에 대한 요구는 계속해서 증가하고 있습니다. 이제 VMware 및 Mellanox와 같은 소프트웨어 및 네트워크 공급업체가 엔터프라이즈 시장에 더 많은 NVMe-oF 관련 제품 및 솔루션을 제공하는 것을 볼 수 있습니다. 최신 대규모 병렬 컴퓨터 클러스터를 사용하면 데이터를 더 빨리 처리하고 액세스할 수 있을수록 비즈니스에 더 가치가 있습니다.
제품 자료
StorageReview에 참여
뉴스레터 | 유튜브 | 팟캐스트 iTunes/스포티 파이 | 인스타그램 | 트위터 | 페이스북 | RSS 피드