핵심 인사이트 (3줄 요약)
- 앞서 배운 파이버 채널(FC)은 속도는 완벽하지만 전용 광케이블과 스위치를 까는 데 수천만 원이 든다.
- iSCSI는 디스크를 제어하는 하드웨어 명령어(SCSI)를, 우리가 흔히 쓰는 IP 패킷 안에 욱여넣어 일반 인터넷 랜선(Ethernet)을 타고 전송하는 프로토콜이다.
- 이를 통해 회사에 굴러다니는 싸구려 기가비트 스위치와 랜선만으로도 완벽한 IP-SAN(Storage Area Network)을 구축할 수 있어, 중소/중견 기업 스토리지 시장의 절대 표준이 되었다.
Ⅰ. iSCSI의 탄생 배경 (돈과 호환성)
SCSI(스카시)는 디스크 드라이브를 움직이는 근본적인 기계어(블록 읽기/쓰기)입니다. 원래 SCSI는 아주 짧고 굵은 구리 케이블(SCSI 케이블)로만 컴퓨터와 연결될 수 있었습니다.
이 선을 수십 미터로 늘리기 위해 나온 게 **FC(파이버 채널)**였지만 너무 비쌌습니다. "야, 어차피 데이터 보낼 거면 굳이 전용선 깔지 말고 그냥 인터넷(TCP/IP)에다가 SCSI 명령어를 첨부 파일로 묶어서 보내면 안 돼? 전 세계가 다 인터넷망으로 연결되어 있잖아!" 이 발상에서 **iSCSI (Internet SCSI)**가 탄생했습니다.
📢 섹션 요약 비유: 물건(SCSI)을 보내려고 전용 헬기(FC)를 사려다가 포기하고, 그냥 우체국 택배 상자(TCP/IP)에 물건을 담아서 일반 트럭(이더넷)에 실어 보낸 것입니다. 배송비가 공짜나 다름없습니다.
Ⅱ. iSCSI의 동작 아키텍처 (Initiator와 Target)
iSCSI 환경은 크게 두 가지 역할로 나뉩니다.
- Initiator (개척자 / 서버 OS)
- 스토리지 디스크를 사용할 클라이언트(Windows, Linux 서버) 측 소프트웨어 또는 하드웨어 랜카드(TOE 장착 NIC)입니다.
- OS가 "C드라이브 0번 섹터에 데이터 써라"라고 하면, Initiator가 이 SCSI 명령어를 TCP/IP 패킷으로 돌돌 말아서(Encapsulation) 랜선으로 쏩니다.
- Target (과녁 / 스토리지 장비)
- 디스크를 잔뜩 가지고 있는 스토리지 박스(NAS/SAN 기계)입니다.
- 랜선에서 날아온 TCP/IP 패킷의 포장을 뜯어내고, 그 안에 숨어있던 SCSI 명령어를 꺼내서 실제 하드디스크에 데이터를 씁니다.
통신 스택 비교 (ASCII)
[ 전통적 FC-SAN (매우 비쌈) ] [ iSCSI-SAN (가성비 최강) ]
서버 (OS) 서버 (OS)
│ │
HBA 카드 (수백만 원) 일반 랜카드 (NIC) + iSCSI Initiator S/W
▼ ▼
광케이블 (전용선) UTP 랜선 (일반선)
▼ ▼
SAN 스위치 (수천만 원) 싸구려 기가비트 이더넷 스위치
▼ ▼
스토리지 (FC Target) 스토리지 (iSCSI Target)
📢 섹션 요약 비유: 헬기 이착륙장(HBA)과 관제탑(SAN 스위치)을 새로 지을 필요 없이, 그냥 회사 앞 일반 도로(랜선)와 교차로(일반 스위치)를 그대로 써서 물건을 나르는 가성비 최고의 물류 시스템입니다.
Ⅲ. iSCSI의 단점 (CPU 오버헤드)
세상에 공짜는 없습니다. 인터넷 망(TCP/IP)을 쓴다는 것은, 데이터를 포장하고 뜯는 그 무거운 TCP 처리를 메인 CPU가 소프트웨어로 다 해야 한다는 뜻입니다. (소프트웨어 Initiator 사용 시)
- 트래픽이 10Gbps로 터지면, 패킷을 묶고 푸느라 서버 CPU가 과부하에 걸려 뻗어버립니다.
- 이 병목을 막기 위해 서버에 앞서 배운 TOE(TCP Offload Engine) 랜카드나 하드웨어 iSCSI HBA를 달아주기도 하지만, 그럼 다시 장비값이 비싸지는 딜레마에 빠집니다.
- 최근 데이터센터는 100G 이상 대역폭을 감당하기 위해 무거운 iSCSI를 서서히 버리고, 가벼운 NVMe 패킷을 TCP 위에 얹는 NVMe/TCP라는 새로운 프로토콜로 세대교체를 진행하고 있습니다.