ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • FC (Fiber Channel)와 iSCSI 오버헤드 비교
    스토리지 지식 2021. 2. 20. 23:38

    파이버 채널과 iSCSI SAN의 비교

     

    iSCSI 표준은 IP 네트워크를 통해 SCSI 데이터 스트림을 전송하는 기능을 제시하고 있다. 이 표준의 설계 목표는 기존의 IP 네트워크 아키텍처를 이용하여 FC 기반 SAN에 대한 대안을 제시하는 것이며, 이 표준에 따르면 iSCSI는 IP 네트워크를 통해 SCSI를 실행시킨다.

    보다 정확하게 말하면 FC 네트워크 위에 SCSI를 프로토콜 형태로 실행하는 것과 기존 이더넷 네트워크 위에 SCSI 프로토콜을 실행하는 것의 차이라고 할 수 있다. 이것이 현재의 IT 조직들을 위해 보다 유익한 비교가 될 것이며, iSCSI 표준에 따르면 FC 네트워크 아키텍처 위에 IP를 두고 그 위에 다시 SCSI를 실행한다고 보는 것이 타당하다.

    이더넷과 FC를 직접 비교하고자 할 경우에는 FC로 인해 얻을 수 있는 네트워크 진보와 이더넷 아키텍처가 이를 따라잡기 위해 어떠한 노력을 기울이고 있는지를 이해할 필요가 있다. 이 두 네트워크 아키텍처 사이의 주된 차이점은 다음과 같다.

     

    데이터 전송

    FC에서 극소의 데이터 전송 유닛이 프레임인데, 그 크기는 2,112 바이트 정도이다. 하지만 표준에서는 하드웨어 설정을 통해 최대 65,536개의 프레임을 단일 시퀀스로 결합시킬 수 있다. 한 개 시퀀스 당 한 개의 CPU 인터럽트가 생성된다는 사실로 인해 이 시퀀스는 네트워크 내에서 하나의 패킷에 해당하게 된다. 즉, 효율적인 FC 패킷 크기는 128Mbyte이며, 최대 1,518바이트 크기의 패킷을 가지고 있는 이더넷은 각각 하나의 CPU 인터럽트를 생성한다. 따라서 대용량 데이터 이동 시 수많은 패킷을 전송할 때 이에 따라 프로세서의 오버헤드도 높아진다. 이더넷 프레임 크기를 8K로 높인다 해도 FC의 효율성에는 미치지 못한다.

     

    에러 감지와 복구

    FC에서 에러 감지와 복구 절차는 펌웨어나 하드웨어에서 하위 레벨 프로토콜의 기능이다. 이를 통해 에러 감지에 대한 응답과 재전송 절차를 빠르게 하여 전송 오버헤드를 최소한으로 유지할 수 있다. 링크 레벨 에러 감지와 복구를 통해 수신된 송신 신호의 품질을 보장할 수 있으며, 시퀀스 레벨 에러 감지와 복구를 통해 송수신된 각각의 데이터 블록의 무결성을 확보할 수 있다. 하나의 시퀀스 내에 있는 각각의 프레임을 통해 하드웨어 지원 하에 추적 및 확인이 가능하며, 시퀀스 재전송 지원을 통해 프레임 에러를 신속하게 복구할 수 있다. 이더넷에서는 에러 감지와 복구가 TCP 같은 소프트웨어 기반의 상위 프로토콜에 의존하기 때문에 오버헤드 증가와 응답 지연을 통해 효율을 크게 저하시킨다.

     

    플로우 제어

    FC는 링크 레벨과 엔드-투-엔드 레벨 등 2개 레벨의 신용 기반 플로우 제어 메커니즘을 가지고 있다. 이 두 레벨은 모두 소스 포트 신용 관리를 기준으로 한 신용 시스템을 사용하고, 정보 흐름은 로그인 과정에서 송신자가 신용 한계를 감지할 것을 요청한다. 이 자체 조절 절차를 통해 수신자 버퍼 초과를 예방하고 더 나아가 폭주로 인해 패브릭 내에서 프레임이 유실되는 것을 방지할 수 있다. 이더넷에서는 정지 기반의 플로우 제어 메커니즘을 사용하는데, 이는 X-ON/X-OFF 형태의 플로우 제어와 유사하다. 이와 같은 형태의 플로우 제어는 저속 네트워크에 적합하지만, 에러가 발생한 뒤에 감지가 가능하기 때문에 스토리지와 SAN 애플리케이션에는 적합하지 않다. 이더넷 플로우 제어는 재전송을 요구하는 폭주와 데이터 손실이 발생한 뒤에 비로소 시작된다.

     

    요청·응답 결합

    양방향 교환 개념에 입각하여 FC에서는 I/O 트랜잭션의 요청과 응답들을 긴밀하게 결합하고 하드웨어 내에서 이들을 추적할 수 있게 한다. 이 결합 기능은 SCSI 기반의 스토리지 애플리케이션에서 오버헤드를 낮게 유지함은 물론 요청을 순서대로 전송하며 다수의 요청들을 체인으로 연결하여 데이터 효율을 높이기 위해 매우 중요하다. 이더넷에서는 교환 개념이나 전송 순서가 없기 때문에 요청-응답 결합, 추적 등은 TCP 같은 상위 레벨 프로토콜에서 소프트웨어적으로 수행해야만 한다. 이로 인해 데이터 전송 효율이 저하되고 호스트 프로세서 사이클이 추가로 필요하게 되는 것이다.

     

    분할과 재조립(SAR)

    FC는 대형 데이터 블록을 하드웨어 지원 하에 분할, 재조립하는 기능을 제공한다. 이를 통해 수신된 데이터를 가능한 한 빠르게 착신지 사용자 버퍼에 직접 저장할 수 있다. 시퀀스 내에 있는 프레임들은 애플리케이션별로 다양한 길이를 가질 수 있고, 스토리지와 SAN 애플리케이션 내에서 이러한 기능을 통해 다수의 내부 복사를 방지할 수 있어 오버헤드를 줄이고 효율성을 크게 높일 수 있다. 이더넷은 분할과 재조립 프로세스를 위해 상위 레이어 프로토콜을 사용하는데, 이 과정에서 여러 개의 내부 데이터 복사와 이로 인한 프로세서 오버헤드 증가를 초래한다.

     


    여기서 기억해 두어야 할 중요한 사항은 FC는 대규모 블록, 고속, 저지연 스토리지 트래픽을 엔드 투 엔드로 전송하기 위한 새로운 개념의 네트워크 통신을 지원할 목적으로 개발되었다는 것이다. FC 네트워크 내 각각의 구성요소는 이를 달성하기 위해서 책임과 부하를 분배하고, FC 네트워크는 스토리지 형태의 통신 지원을 위해 적절한 균형을 유지하고 있다.


    iSCSI/이더넷의 경우를 살펴보면, 새로운 네트워크 서버 및 스토리지와 새로운 네트워크 스위칭 인프라를 필요로 하지 않는 아키텍처를 구축할 경우 새로 구축되는 iSCSI 네트워크에서는 FC와 유사한 수준의 균형 잡힌 아키텍처를 확보하지 못할 경우가 발생한다.


    앞서 설명한 것처럼 iSCSI의 주된 개발 목표는 기존의 IP 네트워크를 통해 스토리지와 서버 간 통신을 도입하기 위한 것으로, 이더넷 표준에는 존재하지 않는 iSCSI 소프트웨어 프로토콜 드라이버가 필요한 기능을 제공할 목적으로 개발된 것이다. 그러나 노드 장치들이 감당해야 하는 소프트웨어 처리 오버헤드 증가로 인해 지금까지는 성능이 저조한 상태이다.


    업계에서는 이더넷이 스토리지 통신 요구를 수용할 수 있도록 하기 위해 개발 작업을 진행하고 있다. 이로 인해 이룩한 성과 가운데 하나는 새로운 이더넷 네트워크 인터페이스 카드가 개발되었으며, iSCSI HBA (Host Bus Adapter)라 불리는 이 카드는 중요한 구성요소인 TOE (TCP Offload Engine)을 추가시켰다. 이 TOE는 일반적으로 칩 또는 보드 형태로, 호스트 CPU 자원을 이용하지 않고 TCP 프로토콜 스택을 처리한다. TOE 기술을 통해 iSCSI 성능이 개선되었으나 새로운 네트워크 아키텍처 구축 문제를 남겨두고 있다.


    이러한 이유로 인해서 대다수의 업계 분석가들은 iSCSI/이더넷 기반 SAN들이 FC SAN과 같은 수준의 성능 패리티에 도달하지 못할 것이라고 믿고 있다. 반면에 일부 iSCSI/이더넷 추종자들은 10Gbps 이더넷이 iSCSI/이더넷 기반의 쓸만한 데이터센터 급 스토리지 네트워크 속도를 확보할 때까지 기다리는 것이 좋다고 제안하기도 한다.


    하지만 대부분의 기업 목표와 관련하여 이것은 중요한 문제가 아니다. 실제로 문제가 되는 것은 과연 언제 iSCSI/이더넷 스토리지 네트워크가 엔드 유저에게 FC SAN과 비교할만한 성능이냐는 것이다. 이를 이해하기 위해서 두 아키텍처의 물리적인 네트워크와 관리 레벨에서 비용 비교 이외에 다른 요소들을 비교해보는 것이 바람직할 수도 있다.

     

     

    * 출처 : 한국데이터산업진흥원

     

    댓글

Designed by Tistory.