오늘날 미션 크리티컬 스토리지 환경은 높은 비즈니스 요구에 부응하기 위해 더 높은 일관성, 예측 가능성, 성능을 필요로 합니다.
데이터 센터는 방대한 양의 데이터, App, 워크로드를 수용하기 위해 더 많은 I/O 용량을 필요로 합니다.
이러한 데이터의 급증과 더불어 가용성에 대한 총체적인 기대치도 계속 높아지고 있습니다.
이제 사용자들은 언제 어디서나 모든 디바이스에서 애플리케이션을 사용할 수 있고 액세스할 수 있기를 기대합니다.
이처럼 역동적이고 증가하는 비즈니스 수요를 충족하기 위해 조직은 애플리케이션을 신속하게 배포하고 확장해야 합니다.
그 결과, 많은 기업들은 새로운 애플리케이션을 신속하게 배포하고, 수천 명의 사용자를 지원할 수 있도록 애플리케이션을 확장하기 위해 더 많은 가상 머신(VM)의 환경으로 전환하고 플래시 스토리지를 구축하는 추세입니다.
기존의 IEEE 802.3 이더넷 기술은 안정적인 데이터 전송을 위해 Initiator와 Target간 네트워크를 통해 전송되는 데이터가 손실될 수 있으며, 이로 인해 데이터 손실에 민감한 애플리케이션의 성능에 불이익이 발생할 수 있습니다.
스토리지 성능은 패킷 손실에 특히 민감합니다.
이 때문에 TCP는 데이터 세그먼트를 시퀀싱하고 손실이 발생하면 재전송을 수행하여 전송 계층에서 데이터 전송을 보장하게 됩니다.
하지만, 스토리지 영역에 대해 TCP 재전송을 수행해야 하면 해당 스토리지에 의존하는 애플리케이션의 성능이 크게 저하됩니다.
최근에는 차세대 서버의 개발, 서버 가상화의 증가, 플래시 기반 스토리지의 도입, NVMe와 같은 새로운 스토리지 기술의 도입으로 FC(Fiber Channel)과 같은 기존 스토리지 네트워킹 프로토콜의 성능을 뛰어넘는 읽기/쓰기 스토리지가 가능해졌습니다. 이제 SAN의 성능 병목 현상이 스토리지 미디어에서 네트워크로 이동했습니다.
민첩성을 높이고 비용을 절감하며 플래시 기반 아키텍처의 이점을 최대한 활용하려면 오늘날의 서버 및 스토리지 환경에 필요한 성능을 제공할 수 있는 네트워크가 필요합니다.
RoCE (RDMA over Converged Ethernet)란?
RoCE는 이더넷 네트워크를 통해 RDMA를 허용하는 네트워크 프로토콜입니다. RDMA를 사용하면 CPU의 개입이 거의 없이 서버 간에 데이터를 이동할 수 있습니다.
RoCE는 이더넷과 DCB(Data Center Bridging)의 이점을 RDMA 기술과 통합하여 CPU 오버헤드를 낮추고 엔터프라이즈 데이터센터 애플리케이션 성능을 향상시킵니다.
AI, 머신러닝, 고성능 컴퓨팅(HPC)의 애플리케이션이 증가함에 따라 RoCE는 점점 더 데이터 집약적인 애플리케이션을 지원하도록 설계되어 더 높은 성능과 더 낮은 지연 시간을 보장합니다.
RoCE는 컴퓨팅, 네트워크, 스토리지를 단일 패브릭에 통합하여 고급 데이터센터 아키텍처 내에서 뛰어난 성능을 발휘하도록 설계되었습니다. RoCE와 같은 컨버지드 솔루션은 무손실 트래픽과 손실 트래픽을 모두 처리하므로 최신 데이터 센터에서 인기를 얻고 있습니다.
Server Message Block Direct와 같은 솔루션으로 인해 하이퍼 컨버전스, IP 스토리지 및 RoCE 기반 솔루션이 성장하고 있습니다.
RDMA (Remote Direct Memory Access)
RDMA는 직접 메모리 액세스를 제공하는 기술입니다.
RDMA는 두 시스템의 CPU에 부담을 주지 않고 두 시스템의 작업 메모리 간에 데이터 전송을 용이하게 합니다.
RDMA가 없다면, 애플리케이션은 가상 버퍼 공간에서 스택과 유선을 통해 데이터를 이동하기 OS에 의존해야 합니다.
수신자의 OS는 데이터를 검색하여 애플리케이션 가상 버퍼 공간에 직접 배치해야 합니다. CPU는 일반적으로 읽기 또는 쓰기 작업의 전체 기간 동안 사용되며, 다른 작업을 수행할 수 없습니다.
반면에 애플리케이션에서 RDMA를 사용하면 데이터 이동이 RDMA 지원 NIC에서 처리되므로 이러한 작업에 대한 CPU 오버헤드가 줄어듭니다. 따라서 I/O 성능의 저하 없이 서버 CPU 리소스를 다른 활동에 활용할 수 있습니다.
또한, RDMA는 지연 시간 단축, 리소스 활용도 향상, 유연한 리소스 할당, 패브릭 통합 및 확장성을 보장하고, 서버 생산성을 높여 추가 서버의 필요성을 줄이고 총 소유비용을 낮춥니다.
RDMA는 오늘날 애플리케이션의 데이터 속도를 충족하기 위해 안정적인 저지연 네트워크 인프라가 필요합니다.
RDMA의 요구 사항을 충족하는 방법에는 여러 가지가 있으며, InfiniBand는 그 중 대표적인 솔루션입니다.
RoCE 토폴로지
RoCE는 RDMA의 기능을 활용하여 서버 및 스토리지 어레이에서 실행되는 애플리케이션 간의 통신을 신속하고 빠르게 처리합니다.
RDMA는 인피니밴드(IB) 패브릭에서 처음 사용되었습니다. RoCE는 주로 IB 링크 계층을 이더넷 링크 계층으로 대체하여 데이터를 전송함으로써 구축됩니다. 이제 데이터 센터는 TCP/IP를 지원하는 컨버지드 고성능 인프라를 사용하여 RDMA의 이점을 누릴 수 있습니다.
RoCE는 두 가지 버전으로 나뉘게 됩니다.
- RoCEv1: 동일한 이더넷 브로드캐스트 도메인에 있는 두 호스트가 통신할 수 있는 이더넷 링크 레이어 프로토콜
- RoCEv2: IB 네트워크 계층을 표준 IP 및 UDP 헤더로 대체하여 트래픽을 라우팅할 수 있도록 함.
패킷 캡슐화에 IP 및 UDP 헤더가 포함되므로 RoCE v2는 L2/L3 네트워크 모두에서 사용하여 확장성을 높임
무손실 네트워크
무손실 네트워크는 네트워크 패브릭을 구성하는 디바이스가 DCB 프로토콜을 사용하여 패킷 손실을 방지하도록 구성된 네트워크입니다.
RoCE를 통합하는 네트워크 솔루션 설계의 주요 목표 중 하나는 무손실 패브릭을 배포하는 것입니다.
RoCE 표준에서 무손실 네트워크를 요구하지는 않지만, 무손실 네트워크가 제공되지 않으면 RoCE 성능이 저하될 수 있습니다.
이를 전제로, 무손실 패브릭을 RoCE 구현의 요구 사항으로 고려하는 것이 좋습니다.
무손실 패브릭은 DCB 프로토콜을 활용하여 이더넷 패브릭에 구축할 수 있습니다.
DCB (Data Center Bridging) 프로토콜
이더넷 패브릭에 무손실 패브릭을 구축하기 위해 다음 DCB 프로토콜이 활용됩니다.
- PFC(Priority-based Flow Control)
- ETS(Enhanced Transmission Selection)
- DCBx(Data Center Bridging Exchange)
- QCN(Quantized Congestion Notification)
- IP ECN(Explict Congestion Notification)
Priority-based Flow Control
IEEE 표준 802.1Qbb는 링크 수준의 흐름 제어(Flow Control) 메커니즘입니다.
이 흐름 제어 메커니즘은 IEEE 802.3x 이더넷 PAUSE에서 사용하는 것과 유사하지만, 개별 우선순위에 따라 작동합니다.
PFC를 사용하면 링크의 모든 트래픽을 일시 중지하는 대신 트래픽의 등급에 따라 선택적으로 트래픽을 일시 중지할 수 있습니다.
Enhanced Transmission Selection
ETS는 모든 대기열에 대해 구성 가능한 대역폭 보장을 제공합니다.
PFC 대기열의 경우 링크 대역폭의 일정 비율을 보장하여 다른 대기열의 흐름으로 인해 무손실 흐름의 대역폭이 고갈되지 않도록 합니다.
이 구성을 통해 각 트래픽 대기열은 최소한의 대역폭을 확보합니다.
Data Center Bridging Exchange
DCBx 프로토콜은 데이터 센터 브리징 네트워크 전체에서 일관된 구성을 보장하기 위해 피어 간에 구성 및 기능을 통신하기 위한 검색 및 교환 프로토콜로, 스위치와 엔드포인트 간에 이더넷 매개 변수 및 검색 기능을 자동으로 교환할 수 있게 해 줍니다.
이를 통해 네트워크 전체에서 일관된 구성을 보장하도록 도와줍니다.
Quantized Congestion Notification
QCN 프로토콜은 스위치가 네트워크에 혼잡이 있음을 소스에 알릴 수 있는 수단을 제공합니다. 그러면 소스는 트래픽의 흐름을 줄입니다.
이렇게 하면 중요한 트래픽의 흐름을 유지하면서 일시 중지할 필요성을 줄일 수 있습니다.
이 기능은 순수 L2 환경에서만 지원되며, RoCE v2가 주요 RoCE 솔루션으로 자리 잡은 지금은 거의 찾아보기 어렵습니다.
DCB 기반 솔루션이 탑재된 HPE Aruba Networking CX 스위치는 QCN을 지원하지 않습니다.
IP Explicit Congestion Notification
IP ECN은 공식적으로 DCB 프로토콜 제품군의 일부가 아니지만, RoCEv2는 ECN을 지원하며 해당 엔드포인트에서 발생하는 트래픽에서 IP ECN 비트를 통해 혼잡이 신호되면 혼잡 알림 패킷(CNP)을 엔드포인트에 전송합니다.
ECN이 제대로 작동하려면 양쪽 엔드포인트와 엔드포인트 사이의 모든 중간 장치에서 ECN을 사용하도록 설정해야 합니다.
패킷 손실과 지연을 줄이기 위해 ECN은 정체가 해소될 때까지 전송 속도를 낮추도록 엔드 노드와 연결된 장치에 정체에 대해 알립니다.
ECN을 PFC와 함께 사용하면 엔드포인트가 PFC 일시 중지가 필요하기 전에 전송 속도를 조정하여 성능을 개선할 수 있습니다.
DCB와 RoCE 네트워크 요구사항
PFC는 RoCEv1과 RoCEv2 모두 필수입니다. 그리고 RoCEv2를 위해서는 IP ECN이 필수입니다.
각 프로토콜 관련해서는 아래 표로 요약할 수 있습니다.
Feature | RoCEv1 | RoCEv2 | Note |
---|---|---|---|
PFC | Yes | Yes | 항상 반드시 사용 사용하지 않을 경우, 혼잡(Congestion)시 RDMA 이점이 사라짐 |
ETS | Yes | Yes | 컨버지드 환경에서 반드시 사용 무손실 트래픽 클래스를 사용하지 않으면 대역폭이 부족해질 수 있음 |
DCBx | Yes | Yes | 필수는 아니지만, 권장사항 |
QCN | Yes | No | 필수는 아니지만, multi-hop L2 RoCEv1에 권장 CN은 Pause Unfairness 및 Victim Flow 문제를 해결하는 데 도움 |
IP ECN | No | Yes | L3 RoCEv2에서 적극 권장 ECN은 PAUSE 불공정성 및 피해자 흐름 문제를 해결하는 데 도움이 됩니다. |
PFC는 마이크로 버스트를 해결하기 위해 빠르게 작동하는 메커니즘 으로 작동하는 반면,
CN은 트래픽 흐름을 원활하게 하여 정상 부하에서 일시 중지 폭풍을 줄이는 데 도움을 줍니다
AOS-CX 스위치별 스토리지 네트워크 프로토콜 지원 현황
AOS-CX 스위치의 데이터센터 제품군은 아래 표와 같이 DCB 프로토콜을 모두 지원합니다.
각 제품별로 포트별 무손실 Pool의 개수는 다르지만, AOS-CX 10.12 버전 이후의 스위치에서는 RoCEv1과 v2 등 스토리지 네트워크 프로토콜을 모두 지원하는 것을 확인할 수 있습니다.
이번 포스팅에서는 RoCE를 구성하기에 앞서 RoCE란 무엇인가에 대해 이론적인 부분을 살펴보았습니다.
다음에는 실제 AOS-CX 스위치에서 RoCE를 구성하는 방법에 대해 알아보겠습니다.