
TLDR: NVMe over TCP와 iSCSI를 직접 비교한 결과, NVMe over TCP는 모든 카테고리에서 iSCSI를 능가하며, IOPS는 최대 50%(이상) 개선되고, 지연 시간은 최대 34% 향상됩니다.
데이터가 증가함에 따라 저장소도 증가해야 합니다. 바로 이때 원격으로 연결된 SAN(스토리지 영역 네트워크) 시스템이 필요합니다. 그동안 이러한 시스템들은 일반적으로 세 가지 프로토콜 중 하나로 연결되었습니다: 파이버 채널(Fibre Channel), 인피니밴드(Infiniband), 또는 iSCSI. 그러나 iSCSI는 “저급” 프로토콜로, 작동을 위해 특별한 하드웨어가 필요하지 않습니다. NVMe over Fabrics(NVMe-oF), 특히 iSCSI의 후계자인 NVMe over TCP (NVMe/TCP)는 이러한 구식 프로토콜을 대체하고 지연 시간, 처리량 및 IOPS에서 즉각적인 개선을 제공합니다.

iSCSI: 간단한 역사 개요

iSCSI는 원격 스토리지 솔루션(일반적으로 하드웨어 스토리지 장치)을 스토리지 클라이언트에 연결하는 프로토콜입니다. 후자는 일반적으로 로컬 스토리지가 없거나 최소한인 서버와 가상 머신들입니다. 최근에는 iSCSI가 컨테이너 스토리지의 백엔드로 사용되는 경우도 있습니다.
iSCSI는 인터넷 소형 컴퓨터 스토리지 인터페이스(Internet Small Computer Storage Interface)의 약자로, 표준 SCSI 명령을 TCP/IP 패킷 내에 캡슐화합니다. 즉, iSCSI는 상용 이더넷 네트워크에서 작동하여 네트워크 카드(NIC)나 스위치와 같은 특수 하드웨어의 필요성을 제거합니다.
iSCSI 표준은 2000년 초에 처음 출시되었습니다. 오늘날과 매우 다른 세상이었죠. 2000년에 휴대폰이 어땠는지 기억하시나요?
당시 최초의 플래시 기반 시스템을 사용할 수 있었지만 가격은 여전히 비쌌고, 스토리지 시스템은 회전하는 디스크를 염두에 두고 설계되었습니다. 그 점을 기억하세요. 나중에 다시 돌아올 겁니다.
SCSI란?
SCSI, 즉 소형 컴퓨터 스토리지 인터페이스(Small Computer Storage Interface)는 컴퓨터와 주변 장치 간의 데이터를 연결하고 전송하는 표준 집합입니다. 1980년대에 처음 개발된 SCSI는 데이터 스토리지 인터페이스의 기초 기술로, 하드 드라이브, 광학 드라이브, 스캐너와 같은 다양한 장치 유형을 지원해왔습니다.
SCSI는 지속적으로 개선되고 NVMe와 같은 기술을 위한 새로운 명령어를 추가했지만, 그 기초는 여전히 1980년대 초기에 뿌리를 두고 있습니다. 그러나 많은 표준은 여전히 SCSI 명령 세트를 사용합니다. 예를 들어, SATA(홈 컴퓨터), SAS(서버), 그리고 iSCSI가 있습니다.
NVMe란?
비휘발성 메모리 익스프레스(Non-Volatile Memory Express, NVMe)는 최신 PCI Express 기반(PCI-e) 스토리지 인터페이스입니다. 원래 사양은 2011년으로 거슬러 올라가며, NVMe는 PCIe 버스를 통해 연결된 솔리드 스테이트 드라이브(SSD)를 위해 특별히 설계되었습니다. 따라서 NVMe 장치는 CPU와 다른 장치들에 직접 연결되어 처리량과 지연 시간을 증가시킵니다. NVMe는 전통적인 스토리지 인터페이스에 비해 지연 시간을 획기적으로 줄이고, 초당 입출력 작업 수(IOPS)를 크게 증가시킵니다.
NVMe 표준의 일환으로, NVMe 명령이 어떻게 전송되는지 정의하는 전송 사양(예: PCI Express 버스를 통해, 또는 TCP/IP와 같은 네트워킹 프로토콜)을 포함한 추가 사양이 개발되었습니다.
회전식 디스크와 NVMe의 근본적인 차이점
전통적인 회전식 하드 디스크 드라이브(HDD)는 물리적으로 회전하는 플래터와 이동 가능한 읽기/쓰기 헤드를 사용하여 데이터를 기록하거나 액세스합니다. 데이터가 요청되면 기계적인 부품이 플래터 스택의 올바른 위치에 물리적으로 배치되어야 하므로 10-14 밀리초에 달하는 상당한 액세스 지연 시간이 발생합니다.
플래시 스토리지, 특히 NVMe 장치는 기계적인 부품을 없애고 대신 NAND 플래시 칩을 사용합니다. NAND는 데이터를 전자적으로 저장하며 액세스 지연 시간을 20마이크로초(고급 장비에서는 그보다 더 낮음)까지 낮출 수 있습니다. 이는 HDD보다 100배 빠릅니다.
오랫동안 플래시 스토리지는 제한된 저장 용량이라는 큰 단점을 가졌습니다. 그러나 이 단점은 점차 해결되고 있으며, 기업들이 더 높은 용량의 장치를 도입하고 있습니다. 예를 들어, Toshiba는 180TB의 플래시 스토리지 장치를 최근 발표했습니다.
두 번째 중요한 단점인 비용 또한 개발 및 생산 개선으로 계속해서 하락하고 있습니다. QLC NAND와 같은 기술은 놀라운 저장 밀도를 저렴한 가격으로 제공합니다.
그렇다면 왜 기계적 저장 방식과 전자적 저장 방식의 원리를 언급하는 걸까요? 이유는 간단합니다: 바로 접근 지연 시간입니다. SCSI와 iSCSI는 슈퍼 저지연 장치를 위해 설계되지 않았습니다. 그 당시에는 그런 장치들이 존재하지 않았기 때문입니다. 수년간 프로토콜에 일부 조정이 있었지만, 그들의 근본적인 설계는 구식이며, 하위 호환성을 위해 더 이상 변경할 수 없습니다.
NVMe over Fabrics: 네트워크상의 플래시 스토리지
NVMe over Fabrics(또는 NVMe-oF)는 NVMe 기본 사양의 확장입니다. 이는 NVMe 스토리지를 네트워크 패브릭을 통해 액세스할 수 있게 하여, 로컬 NVMe 장치의 저지연, 고성능 특성을 유지합니다.
NVMe over Fabrics는 여러 개의 하위 사양을 모은 집합으로, 다양한 전송 계층 프로토콜을 정의합니다.
- NVMe over TCP: NVMe/TCP는 일반적인 인터넷 표준 프로토콜인 TCP/IP를 사용합니다. 이는 저렴한 이더넷 네트워크에서 배포할 수 있으며 기존 네트워크 트래픽과 병행하여 실행될 수 있습니다. NVMe over TCP는 iSCSI의 후속으로, iSCSI가 미쳤던 한계를 넘어서면서 현대적인 솔루션이 됩니다. 따라서 NVMe over TCP는 일반적으로 TCP/IP 네트워크만 제공하는 퍼블릭 클라우드 기반 스토리지 솔루션에 적합한 솔루션입니다.
- NVMe over Fibre Channel: NVMe/FC는 기존의 파이버 채널 네트워크 패브릭을 기반으로 구축됩니다. 이는 NVMe 명령을 파이버 채널 패킷으로 터널링하여 기존의 파이버 채널 하드웨어를 재사용할 수 있게 합니다. 그러나 파이버 채널 장비의 높은 초기 비용 때문에 신규 배포에는 추천하지 않습니다.
- NVMe over Infiniband: NVMe/IB는 NVMe over Fibre Channel과 마찬가지로 기존 Infiniband 네트워크를 활용하여 NVMe 프로토콜을 터널링합니다. 만약 기존의 Infiniband 장비를 가지고 있다면, NVMe over Infiniband가 적합할 수 있습니다. 그러나 새로운 배포에는 초기 비용이 너무 높습니다.
- NVMe over RoCE: NVMe over Converged Ethernet은 원격 직접 메모리 액세스(RDMA)를 위한 이더넷 패브릭을 사용하는 전송 계층입니다. NVMe over RoCE를 사용하려면 RDMA를 지원하는 NIC가 필요합니다. RoCE는 두 가지 버전이 있습니다: RoCEv1은 레벨-2 프로토콜로 라우팅할 수 없으며, RoCEv2는 UDP/IP를 사용하여 복잡한 네트워크를 통해 라우팅할 수 있습니다. NVMe over RoCE는 NVMe over TCP보다 확장성은 떨어지지만, 더 낮은 지연 시간을 제공합니다.
NVMe over TCP vs iSCSI: 비교
NVMe over TCP와 iSCSI를 비교할 때, 세 가지 주요 메트릭인 지연 시간, 처리량, 그리고 IOPS에서 상당한 개선을 볼 수 있습니다.

Blockbridge의 연구팀은 두 기술을 비교한 광범위한 분석을 수행했으며, 그 결과 NVMe over TCP가 iSCSI를 능가하는 성능을 보였다고 합니다. 이 비교는 어떤 벤치마크에서든 NVMe over TCP가 더 우수한 성과를 낸다고 합니다.
여기서는 가장 중요한 벤치마크 결과만 제공하겠지만, 이 블로그 포스트를 끝내고 나서 전체 벤치마크 기사를 읽어보는 것을 추천합니다.
자, 이제 NVMe over TCP와 iSCSI 벤치마크에 대해 좀 더 깊이 들어가 보겠습니다.
편집자 주: 우리 개발자 전도사인 Chris Engelbert는 최근 더블린에서 열린 SREcon에서 NVMe over TCP와 iSCSI의 성능을 비교하는 발표를 했으며, 이를 바탕으로 이 블로그 포스트가 작성되었습니다. 전체 발표 자료 NVMe/TCP makes iSCSI look like Fortran를 확인하세요.
네트워크 스토리지 벤치마킹
스토리지 성능을 평가하는 것은 네 가지 주요 성능 지표를 비교하는 것입니다.
- IOPS: 초당 처리되는 입출력 작업의 수
- 지연 시간(Latency): 단일 입출력 작업을 완료하는 데 걸리는 시간
- 처리량(Throughput): 시간 단위로 전송되는 전체 데이터량
- 프로토콜 오버헤드: 통신 프로토콜에 의해 요구되는 추가 처리
편집자 주: 지연 시간, 처리량, 그리고 IOPS에 대해서는 그 필요성, 관계, 그리고 계산 방법에 대해 더 깊이 다룬 블로그 포스트가 있습니다.
종합적인 성능 테스트는 실제 시나리오를 반영한 시뮬레이션된 작업 부하를 포함합니다. 이 과정을 단순화하기 위해 벤치마크에서는 FIO(유연한 I/O 테스터)와 같은 도구를 사용하여 서로 다른 스토리지 구성 및 시스템에서 일관되고 재현 가능한 테스트 데이터와 결과를 생성합니다.
NVMe over TCP와 iSCSI의 IOPS 개선
IOPS 집약적인 애플리케이션을 실행할 때, 스토리지 시스템에서 사용 가능한 IOPS 수는 매우 중요합니다. IOPS 집약적인 애플리케이션은 데이터베이스, 분석 플랫폼, 자산 서버 등과 같은 시스템을 의미합니다.
스토리지 네트워크 프로토콜을 교체하여 IOPS를 개선하는 것은 데이터베이스 및 우리에게 즉각적인 이점이 됩니다.
iSCSI 대신 NVMe over TCP를 사용하면 IOPS가 급격히 증가하는 것을 확인할 수 있으며, 특히 작은 블록 크기에서 두드러집니다. 512바이트 블록 크기에서 Blockbridge는 IOPS가 평균 35.4% 증가한 것을 발견했습니다. 더 일반적인 4KiB 블록 크기에서는 평균 34.8% 증가했습니다.
즉, 동일한 하드웨어를 사용해도 NVMe over TCP를 적용하면 iSCSI보다 3분의 1 이상 더 많은 IOPS를 제공할 수 있으며, 추가 비용은 들지 않습니다.

NVMe over TCP와 iSCSI의 지연 시간 개선
IOPS가 중요한 애플리케이션, 예를 들어 데이터베이스의 압축 이벤트(Cassandra)에서는 IOPS의 급격한 증가로 혜택을 보지만, 지연 시간이 민감한 애플리케이션은 낮은 접근 지연 시간을 선호합니다. 지연 시간은 사람들이 원격 연결 스토리지보다 로컬 NVMe 스토리지를 선택하게 만드는 주요 요인 중 하나입니다. 많은 사람들은 그럼에도 불구하고 여러 단점을 알고 있음에도 불구하고 이를 선택합니다.
지연 시간 민감한 애플리케이션은 고빈도 거래 시스템, 밀리초 단위로 계산되는 거래 시스템, 시스템 동기화에 문제가 발생할 수 있는 통신 시스템, 그리고 가능한 한 빠르게 반응해야 하는 사이버 보안 및 위협 탐지 솔루션 등을 포함합니다.
따라서 지연 시간을 줄이는 것은 많은 산업 및 솔루션에 큰 이점이 됩니다. 그 외에도 낮은 접근 지연 시간은 시스템이 반드시 지연 시간 민감하지 않더라도 데이터 접근 속도를 항상 개선시킵니다. 차이를 느낄 수 있을 것입니다.
Blockbridge는 128의 큐 깊이를 가진 16KiB 블록 크기에서 가장 큰 접근 지연 시간 감소를 발견했습니다(이는 I/O 요구가 큰 솔루션에서 쉽게 달성 가능합니다). iSCSI의 평균 지연 시간은 5,871μs였고, NVMe over TCP는 5,089μs였습니다. 즉, 접근 지연 시간이 782μs(~25%) 감소한 것입니다—단지 스토리지 프로토콜을 교체한 것만으로.

NVMe over TCP와 iSCSI의 처리량 개선
스토리지 성능의 세 번째 주요 지표인 처리량은 디스크에서 작업 부하로 실제로 얼마나 많은 데이터가 전송되는지를 설명합니다.
처리량은 비디오 인코딩, 스트리밍 플랫폼, 대규모 분석 시스템, 거대한 세계를 메모리로 스트리밍하는 게임 서버와 같은 애플리케이션에서 주요한 요소입니다. 또한, 시계열 스토리지, 데이터 레이크, 역사적 데이터베이스 등도 있습니다.
처리량이 중요한 시스템은 더 높은 처리량을 통해 “작업을 더 빨리 완료”할 수 있습니다. 그러나 처리량을 증가시키는 것이 항상 쉬운 것은 아닙니다. 디스크가 제공하는 처리량이나 네트워크 연결 시스템의 경우, 네트워크 대역폭에 제한을 받기 때문입니다. 높은 처리량과 용량을 달성하기 위해서는 원격 네트워크 스토리지가 고속 대역폭 네트워크나 파이버 채널(Fibre Channel), 인피니밴드(Infiniband)와 같은 특수 네트워크 시스템을 사용합니다.
Blockbridge는 듀얼 포트 100Gbit/s 네트워크 카드를 사용해 테스트를 진행했으며, PCI Express x16 Gen3 버스에 의해 최대 처리량은 약 126Gbit/s로 제한되었습니다. 최신 PCIe 표준은 훨씬 더 높은 처리량을 달성할 수 있습니다. 따라서 NVMe 장치와 NIC는 이제 더 이상 PCIe 버스의 “제한” 요소에 의존하지 않습니다.
16KiB 블록 크기와 32의 큐 깊이에서 그들의 벤치마크는 NVMe over TCP가 iSCSI보다 성능이 2.3GB/s 증가한 것을 보여주었습니다. 처리량은 iSCSI에서 10.387GBit/s에서 12.665GBit/s로 증가했으며, 이는 20%의 증가로 동일한 하드웨어를 사용하여 이루어진 결과입니다. 이렇게 비용을 절감할 수 있습니다.

NVMe over TCP의 강력한 사례
우리는 NVMe over TCP가 iSCSI에 비해 세 가지 주요 스토리지 성능 지표에서 모두 중요한 성능 이점을 가지고 있음을 확인했습니다. 그럼에도 불구하고, NVMe over TCP는 iSCSI와 비교하여 더 많은 장점이 있습니다.
- 표준 Ethernet: NVMe over TCP의 가장 큰 장점은 표준 Ethernet 네트워크에서 작동할 수 있다는 것입니다. Infiniband나 Fibre Channel과 같은 특수 네트워크 기술과 달리, NVMe/TCP는 추가 하드웨어 투자나 복잡한 구성 없이도 작동할 수 있어 모든 규모의 조직에 매우 접근성이 높습니다.
- 성능 특성: NVMe over TCP는 프로토콜 오버헤드를 최소화하고 NVMe 설계의 효율성을 활용하여 뛰어난 성능을 제공합니다. 이는 로컬 스토리지에 필적하는 지연 시간을 달성하면서도 네트워크 연결 자원의 유연성을 제공합니다. 최신 구현에서는 전통적인 스토리지 프로토콜을 크게 초과하는 처리량을 지속할 수 있습니다.
- 배포 용이성: NVMe over TCP는 필요한 드라이버가 이미 커널에 포함되어 있어 Linux 및 Windows (2025 Server 이후 버전)와 원활하게 통합됩니다. 이를 통해 NVMe/TCP는 구현과 관리가 매우 간단해집니다. 원활한 호환성은 일반적으로 새로운 스토리지 기술과 관련된 학습 곡선과 통합 문제를 줄여줍니다.
NVMe over TCP와 iSCSI 선택하기
두 기술 사이를 선택하는 것은 항상 쉬운 일이 아닙니다. 하지만 NVMe over TCP와 iSCSI의 경우 그렇게 어렵지 않습니다. 새로운 iSCSI 배치의 사용 사례는 매우 드뭅니다. 제 관점에서, 유효한 사용 사례는 아직 NVMe over TCP를 지원하지 않는 기존 레거시 시스템의 통합뿐입니다.
그래서 Simplyblock은 NVMe over TCP를 우선 지원하는 솔루션으로, 정말 필요한 경우에는 iSCSI도 제공합니다. 우리는 마이그레이션이 하루아침에 이루어지지 않기 때문에 이를 제공합니다. 여전히 가능하다면 NVMe over TCP와 같은 최신 기술의 이점을 활용하고 싶을 것입니다. Simplyblock을 사용하면 논리 볼륨을 쉽게 NVMe over TCP 또는 iSCSI 장치로 프로비저닝할 수 있습니다. 나중에 iSCSI에서 NVMe over TCP로 전환하는 것도 가능합니다.
어쨌든, 다음과 같은 경우에는 NVMe over TCP를 선택해야 합니다:
- 고성능 컴퓨팅 환경을 운영할 때
- 광대역 대역폭을 갖춘 현대적인 데이터 센터를 운영할 때
- 저지연, 높은 IOPS 또는 처리량 스토리지 액세스가 필요한 워크로드를 배포할 때
- 확장 가능하고 유연한 스토리지 솔루션이 필요한 시나리오에 처했을 때
- 원격 연결된 스토리지가 필요한 다른 상황에 처했을 때
다음과 같은 경우에는 iSCSI를 유지하거나 (느리게) 마이그레이션해야 합니다:
- 업그레이드 경로가 제한된 레거시 인프라를 보유한 경우
보시다시피, 그리 많은 이유가 없습니다. 그렇다면 이제 새로운 스토리지 솔루션을 선택하는 문제입니다. 개인적으로는 요즘 Simplyblock과 같은 소프트웨어 정의 스토리지(SDS) 솔루션을 항상 추천하지만, 제가 편향적이긴 합니다. 어쨌든, SDS는 두 가지 세계의 장점을 모두 제공합니다: 상용 스토리지 하드웨어 (96베이 스토리지 서버로 전환할 수 있는 옵션 포함)와 성능.
Simplyblock: 다재다능성 수용
Simplyblock은 NVMe over TCP와 iSCSI를 모두 지원하여 고객에게 가능한 최고의 성능을 제공하고, 기존 레거시 클라이언트의 경우 천천히 마이그레이션할 수 있는 기회를 제공합니다.
또한, Simplyblock은 전통적인 SAN 스토리지 시스템이나 ZFS와 같은 “파일 시스템”에서 알려진 기능을 제공합니다. 여기에는 즉시 스냅샷 및 클론을 지원하는 전체 복사-쓰기 백엔드가 포함됩니다. 또한, 스토리지 클러스터 간의 동기화 및 비동기화 복제를 지원합니다. 마지막으로, Simplyblock은 현대적인 스토리지 솔루션으로, 전용 호스트, 가상 머신, 컨테이너에 스토리지를 제공합니다. 클라이언트에 관계없이, Simplyblock은 기존 환경과 향후 환경에 가장 원활하게 통합됩니다.
NVMe over TCP의 미래
엔터프라이즈 및 클라우드 컴퓨팅이 계속 발전함에 따라, NVMe over TCP는 원격 연결 스토리지의 선택 기술로 자리잡고 있습니다. 첫째, 그것은 단순성, 성능 및 광범위한 호환성을 결합합니다. 둘째, 상용 네트워크 장비를 활용하여 비용 효율적이고 확장 가능한 솔루션을 제공합니다.
프로토콜의 지속적인 개발(마지막 사양 업데이트 2024년 5월)과 채택의 증가로 효율성 향상, 지연 시간 감소 및 확장성 강화가 계속 이루어지고 있음을 보여줍니다.
NVMe over TCP는 스토리지 네트워킹 기술에서 중요한 진전을 나타냅니다. 또한 NVMe의 성능과 Ethernet 네트워킹의 보편성을 결합함으로써 현대적인 컴퓨팅 환경에 적합한 솔루션을 제공합니다. iSCSI는 특정 사용 사례와 마이그레이션 단계에서 여전히 중요하지만, NVMe over TCP는 미래를 대표하며 가능한 한 빨리 채택해야 합니다.
Simplyblock은 스토리지 역사에서 중요한 이 단계에 참여하게 되어 기쁩니다.
질문과 답변
네, NVMe over TCP는 거의 모든 면에서 iSCSI보다 우수합니다. NVMe over TCP는 프로토콜 오버헤드가 낮고, 더 나은 처리량, 낮은 지연 시간, 더 높은 IOPS를 제공합니다. 새로운 인프라에서는 iSCSI를 사용하지 않는 것이 좋으며, 기존 인프라는 가능한 한 마이그레이션해야 합니다.
NVMe over TCP는 모든 주요 저장소 지표에서 우수합니다. 즉, IOPS, 지연 시간, 처리량을 의미합니다. NVMe over TCP는 동일한 네트워크 패브릭과 스토리지를 사용했을 때 최대 35% 높은 IOPS, 25% 더 낮은 지연 시간, 20% 더 높은 처리량을 보입니다.
NVMe/TCP는 TCP/IP를 전송 계층으로 사용하는 스토리지 네트워킹 프로토콜입니다. 이는 표준 이더넷 패브릭을 통해 배포되며 기존 네트워크 트래픽과 병렬로 실행될 수 있습니다. VLAN 또는 물리적으로 분리된 네트워크를 통해 분리가 권장됩니다. NVMe over TCP는 iSCSI 프로토콜의 후속 프로토콜로 간주됩니다.
iSCSI는 TCP/IP를 전송 계층으로 사용하는 스토리지 네트워킹 프로토콜입니다. 이는 원격 저장소 솔루션(주로 하드웨어 저장 장치)을 표준 이더넷 패브릭을 통해 스토리지 클라이언트에 연결합니다. iSCSI는 2000년에 표준화되었습니다. 많은 기업들이 iSCSI를 더 우수한 NVMe over TCP 프로토콜로 교체하고 있습니다.
SCSI(Small Computer Storage Interface)는 컴퓨터와 주변 장치를 연결하고 데이터를 전송하는 명령 세트입니다. 1980년대에 처음 개발된 SCSI는 하드 드라이브, 광학 드라이브, 스캐너 등 다양한 장치 유형을 지원하는 데이터 저장 인터페이스의 기초 기술이었습니다.
NVMe(Non-Volatile Memory Express)는 저장 장치와 컴퓨터 간의 데이터 전송 및 연결을 정의하는 사양입니다. 초기 사양은 2011년에 발표되었습니다. NVMe는 PCIe 버스를 통해 연결된 솔리드 스테이트 드라이브(SSD)에 특별히 설계되었습니다. NVMe 장치는 SCSI, SATA, SAS와 같은 이전 표준에 비해 더 나은 지연 시간과 성능을 제공합니다.