NVMe over TCP가 무엇이고 NVMe over TCP가 어떻게 작동하는지 쉬운 언어로 알아보세요.
TCP를 통한 NVMe 설명
클라우드 컴퓨팅에 대한 수요가 증가함에 따라 효율적이고 저렴한 스토리지 시스템이 필요합니다. 기존의 하드 디스크 드라이브(HDD)는 매우 저렴하지만 클라우드에서 성능 중심 소프트웨어 또는 컴퓨팅 프로세스를 호스팅할 수 없습니다.
따라서 컴퓨터 장치용 대용량 저장 장치에서 이 문제를 해결하기 위해 NVM Express Inc. PCIe 또는 Peripheral Component Interconnect Express 버스를 통한 컴퓨터용 초고속 내부 저장 장치인 NVMe SSD용 아키텍처를 발표했습니다.
그러나 PCIe는 RAM과 NVMe SSD 간의 직접 데이터 통신에만 사용됩니다. 호스트 컴퓨터와 클라이언트 컴퓨터가 원격지에 있는 클라우드 컴퓨팅 환경에서 어떻게 동일하게 구현합니까? 이러한 장치는 인터넷 또는 인트라넷을 통해서만 통신할 수 있습니다.
이 문제를 해결하기 위해 NVMe over Fabric 또는 NVMe-oF 프로토콜은 NVMe 네트워크 스토리지 솔루션 개발을 허용하도록 설계되었습니다. NVMe 논리 장치 사양 인터페이스를 사용하여 호스트 컴퓨터 또는 서버와 SAN(Storage Area Network) 또는 DAS(Direct Attached Storage) 간에 데이터를 전송합니다.
그러나 NVMe-oF 구축은 대기업에게도 매우 비쌉니다. 또한 NVMe-oF는 주로 A지점에서 B지점으로 데이터를 전송하는 매체로 광섬유 케이블을 필요로 하기 때문에 NVMe-oF를 퍼블릭 클라우드에 배치하는 것은 실현 가능하지 않습니다.
이 문제를 해결하기 위해 NVM Express Inc. NVMe over TCP 또는 NVMe/TCP 프로토콜이 등장했습니다.
NVMe Over TCP(NVMe/TCP)란?
NVMe/TCP는 NVMe 기반 스토리지 I/O 명령 사양의 확장판입니다. NVMe-oF의 고급 버전이며 NVMe 데이터 전송 프로토콜의 기능을 메시지 기반 통신 프로토콜인 TCP로 정의합니다.
다음을 설명하는 NVMe/TCP 전송 사양이 있습니다.
- 표준 규칙 집합에 따라 NVMe 대기열을 매핑하는 방법
- NVMe over Fabric용 캡슐을 만드는 방법
- 익숙한 방식을 사용하여 NVMe-oF 캡슐을 파이버, InfiniBand 및 비 파이버 네트워크 전송 시스템에 전달하는 방법 전송 제어 프로토콜 또는 TCP
간단히 말해서 NVMe와 TCP의 조합인 NVMe/TCP는 NVMe-oF 호스트와 NVMe-oF 컨트롤러 장치 간에 데이터와 명령을 더 빠르고 오류 없는 방식으로 전송합니다.
이러한 장치는 이더넷 기반 TCP/IP 네트워크를 사용하여 인터넷 및 인트라넷을 통해 연결할 수 있습니다. 연결 매체는 광섬유 케이블 또는 기존 Cat 5 및 Cat 6 케이블일 수 있습니다.
TCP를 통한 NVMe가 필요한 이유
원래 NVMe 전송 시스템은 주로 마더보드에서 PC 시스템으로 직접 연결되는 SSD용이었습니다. 전송 프로토콜은 내부적으로 서버 또는 워크스테이션에 연결하는 NVM PCIe SSD에 대해 처음에 최적화되었습니다.
나중에 클라우드에서 매우 빠르고 방대한 데이터 스토리지 요구 사항을 위해 NVMe 전송 프로토콜은 전송 바인딩과 핫와이어링됩니다. Fibre Channel, RoCE(RDMA over Converged Ethernet), iWARP(Internet Wide Area RDMA Protocol), 그리고 인피니밴드.
위의 NVMe 수정은 잘 작동하지만 클라이언트 측에서 특수 하드웨어 장비가 필요하기 때문에 퍼블릭 클라우드에는 적합하지 않습니다. 따라서 전 세계적으로 쉽게 사용할 수 있고 장거리 네트워크에서 신뢰할 수 있는 TCP 전송 바인딩 시스템이 통합되었습니다.
NVMe Over TCP의 핵심 구성 요소
NVMe-oF용 NVMe/TCP 전송 사양에는 다음 네트워크 구성 요소가 포함됩니다.
- NVMe 프로토콜을 사용하는 원격 데이터 액세스 시스템은 컴퓨터 네트워크 시스템용 OSI(Open Systems Interconnection) 모델을 따릅니다.
- NVMe/TCP는 OSI 물리적 및 OSI 데이터 링크 계층에서 작동하는 이더넷 네트워킹 기술을 활용합니다.
- 통신 프로토콜 및 패킷 데이터 교환 정책을 위해 NVMe/TCP는 TCP/IP 프로토콜에 의존합니다.
- NVMe 명령 세트는 모든 사용자 실행 명령 및 애플리케이션 I/O를 관리자, I/O, 패브릭 등과 같은 특정 NVMe 명령 테이블로 변환합니다.
- 메시지 기반 패브릭에서 NVMe 명령의 원격 전송은 캡슐을 사용하여 이루어집니다. 이러한 캡슐은 응답 또는 명령 캡슐일 수 있습니다. NVMe 명령 캡슐은 NVMe 데이터 교환 단위를 나타냅니다.
- 하위 시스템과 호스트 컨트롤러는 NVMe/TCP 프로토콜 데이터 단위 또는 NVMe/TCP PDU를 교환하여 서로 통신합니다.
- 컨트롤러 하위 시스템과 호스트 사이에는 3단계 연결 프로세스가 있습니다. 이러한 단계는 NVMe-oF 연결, NVMe/TCP 연결 및 패브릭 연결입니다.
- NVMe/TCP 전송 바인딩 시스템에서 하위 시스템이 호스트 NVMe-OF와 성공적으로 연결되면 동적 I/O 컨트롤러가 자동으로 생성되어 호스트 컴퓨터에 할당됩니다.
TCP를 통한 NVMe의 이점
- TCP는 가장 널리 사용되는 인터넷 또는 인트라넷 데이터 전송 프로토콜이며 모든 데이터 센터 및 클라우드 컴퓨팅 리소스의 클라이언트에서 사용할 수 있습니다.
- 데이터 센터와 해당 클라이언트는 라우터, 스위치 및 NIC와 같은 기존 네트워크 하드웨어를 교체할 필요가 없습니다.
- TCP는 광섬유 케이블과 Cat 5 또는 Cat 6 케이블을 모두 사용할 수 있으므로 유지 관리가 매우 쉽습니다.
- NVMe-oF를 위한 TCP 전송 바인딩은 고성능과 짧은 대기 시간을 제공합니다. 따라서 호스트 컴퓨터의 미션 크리티컬하고 CPU 집약적인 프로세스에 완벽하게 적합하며 읽기/쓰기 충돌 없이 여러 원격 클라이언트가 쉽게 액세스할 수 있습니다.
- TCP는 동적 라우팅을 제공합니다. 따라서 RDMA(원격 직접 메모리 액세스)와 비교할 때 TCP는 대규모 데이터 센터 및 장거리 클라우드 운영에서 가장 뛰어난 성능을 발휘합니다.
- TCP는 다른 NVMe 전송 사양보다 더 큰 개발 커뮤니티를 가지고 있습니다.
TCP를 통한 NVMe의 과제
- TCP 스택을 사용하는 경우 CPU가 체크섬 계산과 같은 대부분의 TCP 작업을 해결하도록 허용해야 합니다. 따라서 더 큰 규모에서 여러 클라이언트 워크스테이션이 호스트 PC를 통해 네트워크로 연결된 저장 장치에서 데이터 쓰기 및 읽기를 요청하면 호스트 CPU의 부하가 증가합니다.
- 하이퍼컨버지드 인프라는 단순해야 합니다. 그러나 NVMe/TCP를 사용하면 복잡해집니다.
- 또한 NVMe over TCP에는 해커가 클라우드 작업에 침투하고 데이터를 훔치고 기밀 데이터를 다크 웹 엄격한 사이버 보안을 배포하지 않는 한 바이러스 백신 솔루션.
TCP를 통한 NVMe: 최종 단어
TCP는 공용 또는 사설 네트워크 데이터 센터 전반에 걸친 주요 프로토콜입니다. 따라서 NVMe/TCP는 인터넷, 인트라넷 및 클라우드 인프라를 통해 저렴한 스토리지 솔루션을 제공하기 위한 첫 번째 선택입니다.
이 프로토콜은 장거리 네트워크 연결에서도 확장 가능하고 안정적입니다. 클라우드 스토리지 읽기/쓰기 대기 시간은 대부분의 파이버 채널 프로토콜과 동일하므로 NVMe over TCP는 선호되는 클라우드 스토리지 전송 솔루션입니다.
다음, 클라우드 스토리지에 대한 3가지 대안