-
스토리지 프로토콜 비교 (iSCSI, NFS, FC, FCoE)스토리지 지식 2021. 2. 15. 23:51
iSCSI, NFS, FC, FCoE의 차이점에 대해 알아본다.
여기에서는 VMware vSphere 관점에서 일반적인 스토리지 프로토콜을 살펴보며, vSphere 및 관련 기능과 상호 작용하는 방식, 그리고 장단점에 대한 정보를 제공한다.
iSCSI NFS Fibre Channel FCoE Description - iSCSI는 VMware® ESXi ™ 호스트에 블록 장치를 제공함
- 로컬 디스크에서 블록에 액세스하는 대신 블록 액세스 프로토콜을 사용하여 네트워크를 통해 I/O 오퍼레이션이 수행됨
- iSCSI의 경우, SCSI 명령과 데이터를 TCP/IP 패킷으로 캡슐화하여 원격 블록에 액세스함- NFS는 마운트를 위해 네트워크를 통해 호스트에 파일 디바이스를 제공함
- NFS 서버/어레이는 호스트에서 로컬 파일 시스템을 사용할 수 있도록 함
- ESXi 호스트는 RPC 기반 프로토콜을 사용하여 NFS 어레이/서버의 메타 데이터 및 파일에 액세스함
- VMware는 현재 TCP/IP를 통해 NFS 버전 3을 구현함- FC는 iSCSI와 유사한 블록 장치를 제공함
- I/O 오퍼레이션은 블록 액세스 프로토콜을 사용하여 네트워크를 통해 수행됨
- FC에서 원격 블록은 SCSI 명령과 데이터를 FC 프레임으로 캡슐화하여 액세스함
- 일반적으로 미션 크리티컬 환경에 구축됨- FCoE (Fiber Channel over Ethernet)는 블록 액세스 프로토콜을 사용하여 네트워크를 통해 수행되는 I/O 오퍼레이션과 함께 블록 장치를 제공함
- 이 프로토콜에서 SCSI 명령과 데이터는 이더넷 프레임으로 캡슐화됨
- FCoE는 전송이 이더넷이라는 점을 제외하면 FC와 동일한 특성이 많음Implementation Options - SW iSCSI initiator를 사용하고 VMkernel (vmknic) 포트를 사용하여 액세스하는 iSCSI 기능이 있는 네트워크 어댑터
or
- 종속적인 HW iSCSI initiator
or
- 독립적인 HW iSCSI initiator- VMkernel 포트 (vmknic)를 사용하여 액세스되는 표준 네트워크 어댑터 - 전용 Host Bus Adapter 필요 (일반적으로 이중화 및 다중 경로를 위해 2개) - HW converged network adapter (CNA)
or
- SW FCoE initiator를 사용하는 FCoE 기능이 있는 Network adapterPerformance Considerations - 1Gb 또는 10Gb TCP/IP 네트워크에서 실행될 수 있음
- 여러 연결을 initiator와 target 간에 설정되는 단일 세션으로 멀티플렉싱할 수 있음
- iSCSI 트래픽용 Jumbo frame을 통해 성능 향상 가능
- iSCSI는 호스트의 CPU에 오버헤드를 유발할 수 있음 (SCSI 데이터를 TCP/IP 패킷으로 캡슐화)- 1Gb 또는 10Gb TCP/IP 네트워크에서 실행될 수 있음
- NFS도 UDP를 지원하지만 VMware 구현에는 TCP가 필요함
- NFS 트래픽에 대해 Jumbo frame 지원 가능하므로 성능 향상 가능
- NFS는 호스트의 CPU에 오버헤드를 유발할 수 있음 (파일 I/O를 TCP/IP 패킷으로 캡슐화)- 1Gb/2Gb/4Gb/8Gb 및 16Gb HBA에서 실행할 수 있음 (16Gb HBA는 vSphere 5.0에서 8Gb로 실행되도록 조절되어야 함)
- Buffer-to-buffer 크레딧 및 end-to-end 크레딧은 처리량을 조절하여 무손실 네트워크를 보장함
- HBA가 대부분의 프로세싱 (SCSI 데이터를 FC frame으로 캡슐화)을 핸들링하기 때문에 FC는 일반적으로 호스트의 CPU에 최소한의 영향을 미침- 이 프로토콜에는 10Gb 이더넷이 필요함
- FCoE를 사용하면 NFS 및 iSCSI에서처럼 데이터의 IP 캡슐화가 없음
- 이렇게 하면overhead/latency가 일부 줄어듦
- FCoE는 IP가 아닌 이더넷을 통한 SCSI임
- 이 프로토콜 또한 FC payload 크기가 2.2K이고 조각화될 수 없기 때문에 Jumbo frame이 필요함Load Balancing - VMware PSA (Pluggable Storage Architecture)는 iSCSI target에 대한 여러 경로에 로드를 분산하는 round robin (RR) path selection policy (PSP)를 제공함
- 여러 LUN에 동시에 액세스할 때 PSP_RR을 사용하여 로드를 더 잘 분산할 수 있음- 단일 세션만 있기 때문에 NFS 구현에는 자체적으로 LB가 없음
- NAS 어레이에 대한 여러 경로를 생성하고, 한 경로를 통해 일부 데이터 스토어에 액세스하고, 다른 경로를 통해 다른 데이터스토어에 액세스하여 집계 대역폭을 구성할 수 있음- VMware PSA는 FC target에 대한 여러 경로에 로드를 분산하는 round robin (RR) path selection policy (PSP)를 제공함
- 여러 LUN에 동시에 액세스할 때 PSP_RR을 사용하여 로드를 더 잘 분산할 수 있음- VMware PSA는 FCoE target에 대한 여러 경로에 로드를 분산하는 round robin (RR) path selection policy (PSP)를 제공함
- 여러 LUN에 동시에 액세스할 때 PSP_RR을 사용하여 로드를 더 잘 분산할 수 있음Resilience - VMware PSA는 지원되는 모든 iSCSI 어레이에 대해 SATP (Storage Arrary Type Plug-in)를 통해 Failover를 구현함
- SW iSCSI에 선호되는 방법은 iSCSI 바인딩을 구현하는 것이지만, iSCSI initiator에 매핑된 서로 다른 서브넷에 여러 target을 추가하여 수행할 수 있음
- 한 인터페이스가 실패하면 다른 인터페이스가 대신할 수 있도록 NW Adapter teaming 구성할 수 있음
- 그러나 이는 NW 장애에 의존하며 NFS 어레이/서버 측에서 발생하는 오류 조건을 처리하지 못할 수 있음- VMware PSA는 지원되는 모든 FC 어레이에 대해 SATP (Storage Array Type Plug-in)를 통해 Failover를 구현함 - VMware PSA는 지원되는 모든 FCoE 어레이에 대해 SATP (Storage Array Type Plug-in)를 통해 Failover를 구현함 Error Checking - iSCSI는 TCP를 사용하여 드랍된 패킷을 다시 보냄 - NFS는 드랍된 패킷을 재전송하는 TCP를 사용함
- FC는 무손실 네트워크로 구현됨
- 이는 B2B 및 E2E 크레딧을 사용하여 혼잡시 처리량을 조절함으로써 달성됨
- FCoE에는 무손실 네트워크가 필요함
- 이는 혼잡시 일시 중지 프레임 메커니즘을 구현함으로써 달성됨Security - iSCSI는 CHAP (Challenge Hand shake Authentication Protocol)를 구현하여 initiator와 target이 서로 신뢰하도록 함
- 다른 트래픽 유형에서 iSCSI 트래픽을 분리하려면 VLAN 또는 private network를 사용하는 것이 좋음
- 다른 트래픽 유형에서 NFS 트래픽을 분리하려면 VLAN 또는 private network를 사용하는 것이 좋음
- 일부 FC 스위치는 스토리지 인프라의 일부를 분리하기 위해 VSAN의 개념을 지원함
- VSAN은 개념적으로 VLAN과 유사함
- 호스트와 FC target 간의 zoning도 어느 정도의 분리를 제공함
- 일부 FCoE 스위치는 스토리지 인프라의 일부를 분리하기 위한 VSAN 개념을 지원함
- 호스트와 FCoE target 간의 zoning도 어느 정도의 분리를 제공함VMware vSphere Storage APIs - Array Integration (VAAI) Primitives - VAAI 기본 설정은 어레이마다 다를 수 있지만 iSCSI 장치는 다음과 같은 블록 기본 요소를 완벽하게 보완하여 이점을 누릴 수 있음
. Atomic test/set
. Full copy
. Block zero
. Thin provisioning
. UNMAP
- 이러한 기본 요소는 ESXi에 내장되어 있으므로 호스트에 추가 소프트웨어를 설치할 필요가 없음- 다시 말하지만, 이러한 기능은 어레이마다 다름
- NFS 장치에서 사용할 수 있는 VASI 기본 기능은 다음과 같음
. Full copy (but only with cold migration - not with VMware vSphere®Storage vMotion®)
. Preallocated space(WRITE_ZEROs)
. Cloned offload using native snapshots
- VAAI NAS에는 스토리지 어레이 벤더의 플러그인이 필요함- VAAI 기본 설정은 어레이마다 다를 수 있지만 FC 장치는 다음과 같은 블록 기본 구성 요소를 완벽하게 보완하여 이점을 누릴 수 있음
. Atomic test/set
. Full copy
. Block zero
. Thin provisioning
. UNMAP
- 이러한 기본 요소는 ESXi에 내장되어 있으므로 호스트에 추가 소프트웨어를 설치할 필요가 없음- VAAI 기본 설정은 어레이마다 다를 수 있지만 FCoE 장치는 다음과 같은 블록 기본 요소를 완벽하게 보완하여 이점을 누릴 수 있음
. Atomic test/set
. Full copy
. Block zero
. Thin provisioning
. UNMAP
- 이러한 기본 요소는 ESXi에 내장되어 있으므로 호스트에 추가 소프트웨어를 설치할 필요가 없음ESXi Boot from SAN Yes No Yes - Software FCoE : No
- Hardware FCoE (CNA) : YesRDM Support Yes No Yes Yes Maximum Device Size 64TB - 지원되는 최대 데이터스토어 크기는 NAS 어레이 벤더 또는 NAS 서버 벤더에 문의
- 이론적인 크기는 64TB보다 훨씬 크지만 NAS 벤더가 이를 지원해야 함64TB 64TB Maximum Number of Devices 256 - Default: 8
- Maximum: 256256 256 Protocol Direct to Virtual Machine Yes, via in-guest iSCSI initiator Yes, via in-guest NFS client No
하지만 FC 장치 스캔은 NPIV를 사용하여 가상 머신에 직접 매핑됨
이를 위해서는 가상 머신에 대한 사전 RDM 매핑이 필요하며 하드웨어에서 NPIV (FC switch, HBA)를 지원해야 함No Storage vMotion Support Yes Yes Yes Yes Storage DRS Support Yes Yes Yes Yes Storage I/O Control Support Yes, since vSphere 4.1 Yes, since vSphere 5.0 Yes, since vSphere 4.1 Yes, since vSphere 4.1 Virtualized MSCS Support No
Vware는 iSCSI 스토리지에 있는 가상 머신에 구축된 MSCS 노드를 지원하지 않음
그러나 Microsoft에서 지원하는 모든 구성에서 MSCS로 구성된 게스트 운영 체제 내에서 소프트웨어 iSCSI initiator를 사용하는 것은 ESXi 호스트에 영향을 주지 않음
VMware의 명시적인 지원 설명이 필요 없음No
VMware는 NFS 스토리지에 있는 가상 머신에 구축된 MSCS 노드를 지원하지 않음Yes
VMware는 FC 스토리지에 있는 가상 머신에 구축된 MSCS 노드를 지원함No
VMware는 FCoE 스토리지에 있는 가상 머신에 구축된 MSCS 노드를 지원하지 않음Ease of Configuration Medium
- iSCSI initiator를 설정하려면 target의 aptitude 및 FDQN 또는 IP 주소가 필요하며, 어레이 측의 initiator map 및 LUN 표시를 위한 일부 구성이 필요함
- SAN을 통해 target이 검색되면 데이터스토어 또는 RDM에 LUN을 사용할 수 있음Easy
- Target의 IP 또는 FQDN과 마운트 포인트만 필요함
- NFS 어레이/서버 측에서 호스트에 액세스 권한이 부여된 직후 데이터스토어가 표시됨Difficult
- 이 작업에는 FC 스위치 레벨의 zoning 및 zoning 완료 후 어레이 레벨의 LUN 마스킹이 포함됨
- IP 스토리지보다 구성하기가 더 복잡함
- SAN을 통해 target이 검색되면 데이터스토어 또는 RDM에 LUN을 사용할 수 있음Difficult
- 여기에는 FCoE 스위치 레벨에서 zoning이 수행되고 zoning이 완료된 후 어레이 레벨에서 LUN 마스킹이 포함됨
- IP 스토리지보다 구성하기가 더 복잡함
- SAN을 통해 target이 검색되면 데이터스토어 또는 RDM에 LUN을 사용할 수 있음Advantages - 추가 하드웨어가 필요하지 않음
- VMware의 기존 네트워킹 하드웨어 구성 요소와 iSCSI 드라이버를 사용할 수 있으므로 구현 비용이 저렴
- Well-known and well-understood protocol
- Quite mature at this stage
- 네트워크 기술이 있는 관리자는 구현할 수 있어야 함
- Wirelesshark와 같은 일반 네트워크 도구로 문제를 해결할 수 있음- 추가 하드웨어가 필요하지 않음
- 기존 네트워킹 하드웨어 구성 요소를 사용할 수 있으므로 구현 비용이 저렴
- Well-known and well-understood protocol
- It also is very mature
- 네트워크 기술이 있는 관리자는 구현할 수 있어야 함
- Wirelesshark와 같은 일반 네트워크 도구로 문제를 해결할 수 있음- Well-known and well-understood protocol
- Very mature and trusted
- 대부분의 미션 크리티컬 환경에서 볼 수 있음- CNA (Converged Network Adapter)를 통해 스토리지 및 기타 트래픽을 동일한 네트워크로 통합할 수 있음
- FCoE는 DCBX (Data Center Bridging Exchange) 프로토콜을 사용하여 이더넷을 통해 실행되더라도 손실 없음
- DCBX는 다른 트래픽 클래스가 동일한 네트워크에서 실행되도록 하는 것과 같은 다른 작업을 수행하지만, 이는 이 논의의 범위를 벗어남Disadvantages - iSCSI 바인딩이 구현되어 라우팅할 수 없음
- 기본 제공 암호화가 없기 때문에 보안 문제가 발생할 수 있으므로 트래픽을 분리하기 위해 주의해야 함 (e.g., VLANs)
- 소프트웨어 iSCSI로 인해 ESX 호스트에 추가 CPU 오버헤드를 발생할 수 있음
- TCP는 iSCSI에 대한 대기 시간을 유발할 수 있음- 연결당 단일 세션만 있기 때문에 여러 경로에서 최대 대역폭을 구성하려면 약간의 주의와 배려가 필요함
- PSA 다중 경로 없음
- 모든 것이 일반 텍스트로 전송되므로 iSCSI와 동일한 보안 문제가 발생하므로 트래픽(e.g, VLANs)을 분리하려면 주의해야 함
- NFS는 여전히 버전 3이며 NFS v4 또는 NFS v4.1의 다중 경로 또는 보안 기능이 없음
- NFS로 인해 ESX 호스트에 추가 CPU 오버헤드가 발생할 수 있음
- TCP는 NFS에 지연 시간을 유발할 수 있음- 전용 HBA, FC 스위치 및 FC 지원 스토리지 어레이가 필요하므로 FC 구현 비용이 다소 더 높음
- 추가 관리 오버헤드(e.g., switch zoning) 필요
- 다른 프로토콜보다 문제 해결이 어려울 수 있음- 다소 새롭고 현재는 다른 프로토콜만큼 성숙하지 않음
- 비용이 많이 들 수 있는 10Gb 무손실 네트워크 인프라 필요
- 네이티브 IP 라우팅을 사용하여 initiator와 target 간에 라우팅할 수 없음
- 대신 FIP (FCoE Initialization Protocol)와 같은 프로토콜을 사용해야 함
- 동일한 파이프를 사용하는 네트워크 및 스토리지 트래픽으로 문제를 해결/분리하는 것이 복잡할 수 있음* 출처 : Storage Protocol Comparison White Paper, 2012
'스토리지 지식' 카테고리의 다른 글
FTL (Flash Translation Layer, 플래시 변환 계층) 구조 (0) 2021.02.18 FC, iSCSI, FCIP, FCoE 장단점 비교 (0) 2021.02.17 vSAN 튜닝 (Tuning) 가이드 (0) 2021.01.27 HCI 장점 (feat. HCI로 전환하는 이유) (0) 2021.01.24 스토리지 프로토콜 별 실제 성능 (쓰루풋) (0) 2021.01.23