오늘 바로 엔터프라이즈 데이터 스토리지 공급업체와 상담해 보세요. 그러면 어떤 업체든지 NVMe가 가장 중요하다고 이야기할 것입니다.
여기에는 그럴 만한 이유가 있습니다. SAN 환경에서 NVMe(NVM Express)를 엔드 투 엔드 데이터 전송 프로토콜로 구현하면 처리량을 크게 늘리고 지연 시간을 줄여서 사용자들에게 훨씬 더 좋은 경험을 제공할 수 있습니다. 하지만 "엔드 투 엔드"라는 부분이 중요합니다. 안타깝게도 오늘날 시장에 출시된 많은 NVMe 데이터 스토리지 제품은 NVMe가 가진 잠재적인 성능 개선 가능성을 극히 일부만 제공합니다.
그 이유는 NVMe 데이터 전송 표준이 가진 다음의 두 가지 고유한 특성 때문입니다.
- 플래시 미디어와 스토리지 컨트롤러 간 "백 엔드" 프로토콜
- Data Fabric의 호스트와 스토리지 컨트롤러 간 "프런트 엔드" 프로토콜(즉, NVMe-oF(NVMe over Fabrics))
이 세부 사항에 주의를 기울여야 하는 이유는 대부분 NVMe가 지닌 잠재적인 속도 향상 가능성 중 20% 미만이 백 엔드 NVMe 미디어를 사용하는 데서 비롯되고, 80% 이상은 SCSI 기반의 프런트 엔드 데이터 전송 프로토콜을 대체하는 NVMe-oF를 사용하는 데서 비롯되기 때문입니다. 일부 데이터 센터 마케팅 블로그에서 하는 이야기는 순전히 헛소리에 가깝습니다. 따라서 해당 스토리지 시스템이 단순히 백 엔드 NVMe 플래시 미디어가 아닌 실제로 NVMe-oF를 실행하는지 항상 확인해야 합니다.
NVMe의 광범위한 병렬성을 Data Fabric에 통합하면 상당한 성능 향상을 약속할 수 있습니다. 따라서 IT 리더와 설계자는 성능, 안정성, 비용 측면에서 나타나는 큰 차이를 고려하여 적합한 패브릭을 선택해야 합니다.
2016년부터 시작된 NVMe-oF 표준은 최대한 다양한 패브릭 및 네트워크 전송을 통해 NVMe 명령 세트를 전송할 수 있도록 보장합니다.
세 가지 주요 패브릭 유형
오늘날 IT 업계의 주요 데이터 전송 프로토콜은 다음과 같습니다.
- 파이버 채널(FC). 대부분의 엔터프라이즈 SAN 시스템에서 스토리지 장치와 서버 간에 데이터를 전송하기 위해 주로 사용하는 프로토콜입니다.
- 원격 직접 메모리 액세스(RDMA). 운영 체제와 관계없이 두 컴퓨터 시스템의 메모리에 다양한 방식으로 직접 액세스하는 것입니다.
- 전송 제어 프로토콜/인터넷 프로토콜(TCP/IP). 인터넷과 마찬가지로 TCP 전송 프로토콜을 사용해서 IP 네트워크 간에 데이터를 전송합니다.
NVMe에서 지원되는 세 가지 패브릭 유형은 다음과 같습니다.
- NVMe/FC. FC 프레임 내에 캡슐화된 NVMe 명령 세트로, 조닝(zoning)과 같은 일반적인 FC 프로세스에 의존하고 SCSI 명령 세트가 FC 프레임에 캡슐화된 오늘날의 표준 FC 프로토콜과도 쉽게 공존합니다.
- NVMe over RoCE(NVMe/RoCE), InfiniBand 및 iWARP. 새로 떠오르는 대안은 물리적인 컨버지드 이더넷(데이터 센터 브리징 무손실 이더넷 네트워크)을 통한 RDMA를 사용하는 RoCE v2입니다.
- NVMe over TCP(NVMe/TCP). 이더넷을 물리적 전송 방식으로 사용하여 TCP 데이터그램 내로 전송하는 NVMe입니다. RoCE 및 NVMe/TCP 모두 이더넷을 사용하지만, 둘 다 I/O에 메시징 시맨틱을 사용하기 때문에 NVMe/TCP는 NVMe/FC와 더 유사하게 작동합니다.
Data Fabric에 NVMe를 구현하는 이 세 가지 방법의 기반이 되는 기술을 살펴보고 각 접근법의 장단점을 알아보겠습니다.
NVMe 속도가 빠른 이유
오늘날 SAN 시스템에서 사용하는 기본 데이터 전송 프로토콜은 FC 프로토콜, iSCSI, FCoE입니다. 이제부터는 이러한 용어를 무시해도 됩니다. 이들은 모두 1970년대 플로피 디스크와 하드 디스크 드라이브를 위해 설계된 인터페이스 표준인 SCSI를 기반으로 하기 때문입니다.
지난 10년 동안 개발된 NVMe 표준은 플래시 메모리, Solid State Drive(SSD), NVMe 연결 SSD는 물론, 심지어 아직 개발되지 않은 스토리지 기술까지도 최대한 활용할 수 있도록 특별히 설계되었습니다. SCSI의 단일 명령 대기열(최대 32개 명령)과 비교하여 NVMe는 대기열당 65,000개의 명령을 포함하는 65,000개의 대기열을 지원합니다. 즉, 훨씬 더 많은 명령을 동시에 실행할 수 있습니다.
NVMe의 첫 번째 버전은 호스트 컴퓨터와 고속 PCIe(Peripheral Component Interconnect Express) 버스를 통해 연결된 로컬 NVMe 미디어 간의 I/O를 최적화하는 데 중점을 두었습니다. NVMe-oF로 발전하는 과정에서 주요 설계 목표는 최대한 다양한 패브릭 및 네트워크 프로토콜을 지원하도록 하는 것이었습니다. 오늘날 이는 NVMe/FC, NVMe over RDMA(NVMe/RDMA), NVMe/TCP의 세 가지 주요 데이터 전송 프로토콜을 의미합니다.
NVMe/FC
대부분의 기업은 현재 일관되게 높은 속도, 효율성, 가용성을 지원하는 FC 기반 SAN 시스템을 통해 미션 크리티컬 워크로드를 수행하고 있습니다.
- NVMe/FC
- 장점:
- NVMe/FC는 성능 이점이 매우 크고 워크로드 지연 시간을 줄여 줍니다.
- FC 프로토콜은 안정성, 성숙도, 효율성, 속도가 매우 뛰어나며, 일관되게 높은 성능을 제공합니다.
- 현재 사용 가능한 NetApp® AFF A300, AFF A700s, AFF A800 스토리지 시스템은 HBA, 스위치 등의 동일한 패브릭 컴포넌트를 사용해서 NVMe/FC 및 FC 트래픽을 모두 동시에 호스팅하고 지원할 수 있습니다. 따라서 사용자는 FC에서 NVMe/FC로 쉽게 전환할 수 있습니다.
- NetApp NVMe 솔루션에서는 NVMe/FC 구현을 위해 애플리케이션 변경이 필요하지 않으므로, 대규모 업그레이드가 필요하지 않습니다.
- 이 표준은 NetApp이 개발하고 NVMe 사양에 기여한 NVMe ANA(Asymmetric Namespace Access) 기능을 갖춘 고가용성(HA) 스토리지를 제공합니다.
- NVMe/FC는 다른 NVMe-oF 옵션보다 성숙한 옵션이며, NVMe-oF 세계에서 가장 큰 에코시스템을 지원합니다.
- NVMe/FC 테스트 또는 배포를 시작하려는 조직은 NetApp ONTAP® 9.4 이상으로 업그레이드하고 NVMe/FC 라이선스를 추가하기만 하면 됩니다.
- 단점:
- 모든 NVMe 제품과 마찬가지로 NVMe/FC도 새로운 기술이기 때문에 지원되는 운영 체제, 호스트 버스 어댑터(HBA), 스위치 등의 에코시스템 규모가 상대적으로 작습니다.
- NVMe/FC는 RoCE v2보다 에코시스템이 크지만, 성숙한 FC 프로토콜에 비하면 여전히 규모가 매우 작습니다.
- NVMe/FC는 FC 패브릭을 기반으로 하기 때문에 FC 패브릭이 없거나 FC 패브릭을 벗어나려는 조직에는 적합하지 않을 수 있습니다.
RDMA
RDMA는 프로세서, 캐시 또는 컴퓨터 OS와 관계없이 네트워크에 있는 두 컴퓨터의 주 메모리 간에 데이터를 전송하는 방법입니다. RDMA는 OS를 우회하기 때문에 일반적으로 네트워크를 통한 데이터 통신을 위한 가장 빠르고 오버헤드가 가장 낮은 메커니즘입니다.
엔터프라이즈 컴퓨팅에는 InfiniBand 및 RoCE(RDMA over Converged Ethernet)의 두 가지 주요 RDMA 변형이 존재합니다.
NVMe Over InfiniBand(NVMe/IB)
InfiniBand는 RDMA의 초기 구현 모델 중 하나로, 속도 성능이 매우 빠른 것으로 유명합니다. NetApp은 2017년부터 100Gbps InfiniBand 및 빅 데이터 분석 워크로드를 위한 100마이크로초 미만의 지연 시간을 지원하는 E-Series 하이브리드와 All-Flash 어레이를 제공해 왔습니다. 이러한 장점이 있지만 InfiniBand는 비슷한 기술인 RoCE 또는 엔터프라이즈 표준 FC만큼 인기가 많지 않습니다.
- NVMe/IB
- 장점:
- 매우 빠른 프로토콜.
- 빅 데이터 분석(예: Hadoop 워크로드) 및 과학 컴퓨팅에 에 광범위하게 활용.
- 단점:
- 높은 비용, 다수 공급업체에서 지원하지 않음.
- 쉽지 않은 확장성.
- 대부분의 일반적인 엔터프라이즈 컴퓨팅 환경에서 찾아볼 수 없음.
RoCE v2
RDMA 프로토콜 중에서 유망한 경쟁 기술은 ROCE입니다. ROCE는 무손실 데이터 전송을 목표로 이더넷 프로토콜을 개선한 데이터 센터 브리징(DCB) 기술인 컨버지드 이더넷을 기반으로 합니다. RoCE v1은 OSI(Open Systems Interconnection) 모델의 데이터 링크 계층인 2계층에서 작동합니다. 따라서 서브넷 간 라우팅을 지원할 수 없으므로, 동일한 이더넷 네트워크에 있는 두 호스트 간의 통신만 지원합니다. RoCE v2는 UDP(User Datagram Protocol)를 사용하므로 NVMe/TCP와 마찬가지로 OSI 3계층에서 작동하며 라우팅할 수 있기 때문에 훨씬 더 가치가 있습니다.
- NVMe/RoCE v2
- 장점:
- NVMe/RoCE는 전송에 이더넷 네트워크를 사용하고 널리 사용되는 네트워킹 표준을 활용합니다.
- RoCE v2 제품은 여러 엔터프라이즈 스토리지 공급업체에서 개발되고 있습니다.
- 단점:
- RoCE v2는 현재 단일 버전의 Linux만 있는 매우 작은 에코시스템을 지원하며, 스토리지 고가용성 또는 다중 경로를 지원하지 않습니다.
- 이더넷은 근본적으로 손실이 많습니다. 신뢰할 수 없는 네트워크에 대응하도록 설계되어 있어서 오류 수정 및 재전송을 위한 많은 옵션이 있습니다. 하지만 NVMe I/O를 위한 컨버지드 이더넷(RoCE의 "CE")은 무손실을 지원해야 하므로, PFC(Priority Flow Control) 및 ECN(Explicit Congestion Notification)과 같은 메커니즘이 필요합니다. 따라서 컨버지드 이더넷은 확장하기 어렵게 만드는 엄격한 허용 오차를 갖습니다.
- RoCE v2 채택을 고려하는 대부분의 조직은 상대적으로 비용이 높은 특수 DCB 네트워크 스위치와 RNIC(RDMA Network Interface Card)를 구매해야 합니다. 예를 들어 조직이 네트워크에 스위치를 추가할 때 DCB 네트워크는 설정 및 확장이 어려울 수 있습니다.
NVMe Over TCP/IP
현재까지 일부 조직은 FC 또는 InfiniBand 네트워크의 비용으로 인해 NVMe-oF 시장에 진출하지 못했습니다. 이러한 시장 격차를 해결하기 위해 NetApp과 NVMe.org 컨소시엄의 다른 회원들은 TCP 데이터그램을 전송 방식으로 사용하는 이더넷 LAN을 지원하는 NVMe-oF 표준(NVMe/TCP)을 개발하고 발표했습니다.
실제로 2018년 11월 NVMe 표준 기구는 NVMe/TCP를 새로운 전송 메커니즘으로 공식 승인했습니다. 미래에는 TCP/IP가 NVMe의 중요한 데이터 센터 전송 방식으로 발전할 가능성이 높습니다.
- NVMe over TCP
- 장점:
- 이 표준은 TCP를 전송 방식으로 사용합니다. TCP는 매우 일반적이고, 잘 알려져 있으며, 확장성이 매우 높습니다.
- 연결에 이더넷을 사용하지만, NVMe/TCP는 NVMe/FC와 더 유사합니다. 메모리 시맨틱을 사용하는 RoCE와 같은 RDMA 기반 프로토콜과 달리 둘 다 핵심 통신을 위해 메시지를 사용하기 때문입니다.
- TCP 세계에는 방대한 공급업체 에코시스템이 존재하며, 성능 향상을 위한 중요한 투자가 이뤄지고 있습니다. 향후 몇 년 동안 속도가 크게 증가할 것으로 예상됩니다.
- 단점:
- 네트워크 설계가 NVMe/TCP 성능에 큰 영향을 줄 수 있습니다. 특히 버퍼를 "정확하게" 할당하는 것이 중요합니다. 버퍼링이 과도하면 지연 시간이 발생하고, 너무 적으면 데이터 삭제 및 재전송이 발생합니다.
- NVMe over TCP는 NVMe를 위한 최신 패브릭 기술이지만, 아직 상용화되지 않았습니다.
패브릭 선택
NVMe-oF를 지원하도록 인프라를 업그레이드하려는 엔터프라이즈 IT 설계자에게 가장 중요한 질문은 사용할 패브릭을 선택하는 것입니다. 당연하게도 그 해답은 현재 인프라의 구성과 미래의 계획 및 예산에 따라 달라집니다.
또 다른 핵심 요소는 타이밍입니다. NVMe/RoCE v2는 잠재력이 높지만, Tier 1 엔터프라이즈 워크로드를 안정적으로 처리할 수 있을 때까지는 몇 년이 더 필요할 수 있습니다. 또한 NVMe/TCP는 기술 성숙도가 높아졌을 때 뛰어난 가격 대비 성능을 제공할 것으로 보이지만, 그때까지는 역시 시간이 더 필요합니다.
현재 대부분의 IT 설계자들은 FC가 엔터프라이즈 미션 크리티컬 워크로드를 위한 가장 성숙한 데이터 전송 프로토콜을 제공하므로, NVMe/FC가 적합한 패브릭 옵션이라고 결론을 지었습니다. Demartek의 기술 분석가들이 작성한 2018년 보고서, NVMe over Fibre Channel의 성능 이점에서는 다음 그림에 표시된 것처럼 NVMe/FC 패브릭으로 인한 성능 이점의 규모를 확인할 수 있습니다. NetApp AFF 700 시스템에서 실행되는 일반적인 Oracle 워크로드의 경우 SCSI FC 프로토콜보다 NVMe/FC의 IOPS가 약 50% 더 높았습니다.[/caption] 이 실험 테스트는 단일 노드 AFF A700 시스템에서 수행되었으며, 64KB의 소규모 순차적 쓰기(일반적인 redo 로그)와 함께 8KB 블록 크기의 80/20 읽기/쓰기 혼합 작업을 포함하는 시뮬레이션 Oracle 워크로드가 사용되었습니다. 그 결과 NVMe/FC는 SCSI FC 프로토콜과 비교할 때 375μs 지연 시간으로 58% 더 높은 IOPS를 달성했습니다.
2018년 5월부터 제공되고 있는 AFF A800 SAN 스토리지 시스템을 사용한 실험에서도 유사한 결과를 확인할 수 있었습니다. 이러한 시스템은 완벽한 엔드 투 엔드 NVMe 연결을 지원하며, 스토리지 컨트롤러와 호스트 간의 패브릭 전반에서 NVMe 연결 플래시 미디어 및 NVMe/FC 연결을 모두 제공합니다. 테스트 결과에 따르면 AFF A800에서 Oracle 앱을 실행할 때 백 엔드의 NVMe 연결 미디어가 눈에 띄는 성능 향상을 제공하지만, 고도로 병렬화된 프런트 엔드인 NVMe-oF가 대부분의 기능 개선에 기여한다는 것을 확인할 수 있습니다.
이렇게 두 가지 기술의 장점을 모두 잡을 수 있습니다. 오늘날 가장 성숙한 스토리지 네트워킹 기술을 원활하게 구현하는 동시에 앞으로 다가올 모든 NVMe의 미래를 대비할 수 있습니다.
자세한 내용은 NVMe over Fibre Channel의 성능 이점 보고서를 참조하세요(등록 불필요).