iSCSI(스토리지)에 관한 소개와 점검 가이드

iSCSI target/initiator 개념과 Linux initiator 점검 가이드입니다. open-iscsi, iscsiadm discovery/login, session 확인, 자동 재연결, mount, 장애 로그를 정리했습니다.

iSCSI는 IP 네트워크 위에서 SCSI block device를 제공하는 프로토콜입니다. 서버나 스토리지 장비가 target이 되고, 디스크를 사용하는 Linux 서버가 initiator가 됩니다. NFS처럼 파일을 공유하는 방식이 아니라 block device를 연결하는 방식이므로 파일시스템과 마운트 책임은 initiator 쪽에 있습니다.

용어 정리

  • Target: LUN을 제공하는 서버 또는 스토리지
  • Initiator: target에 접속해 block device를 사용하는 클라이언트
  • IQN: iSCSI 이름 형식
  • LUN: target이 제공하는 논리 디스크
  • Portal: target 접속 주소와 포트, 보통 TCP 3260

initiator 설치

# Ubuntu/Debian
sudo apt update
sudo apt install -y open-iscsi

# RHEL/Rocky/Alma
sudo dnf install -y iscsi-initiator-utils

target 검색과 로그인

sudo iscsiadm -m discovery -t sendtargets -p 192.168.100.20
sudo iscsiadm -m node
sudo iscsiadm -m node -T iqn.2026-06.local.storage:target01 -p 192.168.100.20:3260 --login

세션과 새 디바이스를 확인합니다.

sudo iscsiadm -m session
sudo iscsiadm -m session -P 3
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS,MODEL
dmesg -T | tail -n 80

자동 재연결

부팅 후 자동으로 다시 붙어야 하는 서버라면 node startup과 서비스를 설정합니다. Red Hat 문서도 자동 재연결이 필요한 경우 iscsidiscsi 서비스를 활성화하라고 안내합니다.

sudo iscsiadm -m node -T iqn.2026-06.local.storage:target01 -p 192.168.100.20:3260 --op update -n node.startup -v automatic
sudo systemctl enable --now iscsid
sudo systemctl enable --now iscsi 2>/dev/null || true

파일시스템 생성과 마운트

새 LUN은 로컬 디스크처럼 보이지만 네트워크 block device입니다. 기존 데이터가 있는지 반드시 확인한 뒤 파일시스템을 생성합니다.

sudo blkid /dev/sdb || true
sudo mkfs.xfs /dev/sdb
sudo mkdir -p /data/iscsi01
sudo mount /dev/sdb /data/iscsi01
findmnt /data/iscsi01

문제 해결

nc -vz -w 3 192.168.100.20 3260
sudo iscsiadm -m session -P 3
journalctl -u iscsid -n 100 --no-pager
journalctl -k --no-pager | egrep -i 'iscsi|scsi|I/O error|rejecting I/O|connection.*failed' | tail -n 120

iSCSI는 기본적으로 암호화가 아닙니다. 운영망에서는 전용 스토리지 VLAN, 방화벽, CHAP 인증, multipath, 백업 정책을 함께 설계해야 합니다.

공식 문서

BGM EVER