Record
Linux 파일서버 (iscsI) 본문
반응형
ISCSI란?
- Internet Small Computer System Interface
- 인터넷 프로토콜(IP) 기반의 스토리지 네트워킹 표준이며 데이터 스토리지 장치의 연결에 사용
- iSCSI = 네트워크를 통해 “원격 디스크”를 내 PC에 “로컬 디스크처럼” 붙이는 기술
- SCSI 명령을
- TCP/IP 네트워크(보통 10/25/40GbE) 위로 보내서
- 원격 스토리지를 내 서버의 /dev/sdX처럼 사용
가볍게 설명하면 iSCSI = 디스크를 빌려오는 것 , NFS/SMB = 폴더를 빌려오는 것
구성 요소 (이름 중요)
Initiator (이니시에이터)
- 디스크를 사용하는 쪽
- 일반 서버, VM, 클라이언트
Target (타겟)
- 디스크를 제공하는 쪽
- NAS, 스토리지 서버
LUN
- Target이 제공하는 논리 디스크
- Initiator 입장에서는 새 디스크 하나
[Initiator 서버]
fdisk /dev/sdb ← 이게 사실은 원격 디스크
↑
iSCSI 세션
↑
[TCP/IP 네트워크]
↑
[Target 서버의 실제 디스크]
알고있어야할 개념
- iSCSI Target : iSCSI 서버 (스토리지 제공) (targetcli 설치 필요)
- iSCSI Initiator : iSCSI 클라이언트 (iscsi-initiator-utils 설치 필요)
- IQN (iSCSI Qualified Name) : iSCSI Target/Initiator의 고유 이름 포맷 중 하나
- 포맷 형태 : Type.Date.Naming_Auth:String_defined_by_example.com_Naming_authority
- Type : iqn 으로 고정
- Date : YYYY-MM
- Naming_Auth : 도메인의 역순 형태
- String_defined_by_example.com_Naming_authorith : 설명 (옵션)
- 예시 : iqn.2025-12.ke.jack:target
- 포맷 형태 : Type.Date.Naming_Auth:String_defined_by_example.com_Naming_authority

- backstores - Target Server
- block : Partition을 나눈 Disk (LVM도 가능)
- fileio : 파일 시스템 중 일부 디렉터리(공간)
- pscsi : 물리 하드 디스크
- ramdisk : 램의 일부분
# Target
# disk partition
# 할당할 수 있는 디스크 영역을 500M 만듦
fdisk /dev/sdb
n > p > 1 > default > +500M > w
# backstore에 block 생성
[root@target ~]# targetcli
/> /backstores/block create block1 /dev/sdb1
# fileio 생성
/> /backstores/fileio create target_01 /tmp/target_01 50M
/> exit
ls -l /tmp/target_01
현재 Target(서버)에서는 500MB짜리 진짜 디스크 1개 (block), 50MB짜리 가짜 디스크 1개 (fileio)를 만듦
iscsi - Target Server
- iSCSI 장비의 식별자(고유)
- iqn.YYYY-MM.(Reverse-Domain):identifier
- type.date.auth_name.identifier
- ex.) iqn.2025-12.ke.xxxx.target:target
tpg - Target Portal Group
- ACLS (Access Control List) : initiator 목록
- LUN (Logical Unit Number) : target이 제공하는 논리적 iscsi의 번호
- Portal : iSCSI Target 주소
targetcli
# tpg 생성
/> /iscsi create iqn.2025-12.ke.jack.target:target
# LUN 생성
/> /iscsi/iqn.2025-12.ke.jack.target:target/tpg1/luns create /backstores/block/block1
/> /iscsi/iqn.2025-12.ke.jack.target:target/tpg1/luns create /backstores/fileio/target_01
# acls 생성 (client 지정)
/> /iscsi/iqn.2025-12.ke.jack.target:target/tpg1/acls create iqn.2025-12.ke.jack.target:init
SCSI Target 서버에서 어떤 클라이언트(initiator) 가 어떤 디스크(LUN) 를 쓸 수 있는지 등록하는 단계
Target (iqn...:target)
└─ TPG (tpg1)
├─ LUNs ──▶ backstore (block1, fileio...)
├─ ACLs ──▶ initiator IQN
└─ Portal (IP:3260)
TPG안에서 LUNS랑 ACL을 선언해주고 있다.
iscsi - Initiator Server
# lsscsi로 현재 disk 확인
lsscsi
# iscsi deamon 실행
systemctl start iscsid
# target 서버 탐색
iscsiadm -m discovery -t st -p 10.x.0.210
# target 서버 연결
# -l
iscsiadm -m node -T iqn.2025-12.ke.xxxx.target:target -p 10.x.0.210 -l
# lsscsi로 받아온 disk 확인
lsscsi
# 연결 해제
iscsiadm -m node -T iqn.2025-12.ke.xxxx.target:target -p 10.x.0.210 -u
# 다시 연결 - Discover
결과

'CS > 서버' 카테고리의 다른 글
| Linux 서버 ( NFS와 Linux router NAT로 공유 서버 만들기) (0) | 2025.12.18 |
|---|---|
| Linux ( iptables, NAT와 규칙 설정) (0) | 2025.12.17 |
| Linux DNS서버 구축 및 이중화 구성(Master & Slave ) (0) | 2025.12.15 |
| Linux 파일 서버 (SMB, NFS) (0) | 2025.12.15 |
| 서버 Rocky( localhost와 통신해보자) (0) | 2025.12.08 |