
이번 글에서는 iSCSI(Internet Small Computer System Interface)에 대해서 설명한다.
iSCSI는 TCP/IP 네트워크를 사용해서 스토리지 장치에 접근할 수 있게 해주는 스토리지 인터페이스이다. 인터넷 또는 로컬 네트워크를 통해 원격 스토리지 장치에 접근하고 데이터를 전송할 수 있게한다.
iSCSI는 initiator와 target 두개의 PC가 필요하고, 먼저 target PC에서 nmtui로 IP 설정을 해준다. IP 10.17.0.210으로 아이피를 설정했다.
nmtui
iSCSI는 targetcli를 설치하여 구현할 수 있다.
dnf install targetcli -y

targetcli의 버전을 확인할 수 있다. 그리고 ls 로 backstores를 보면 공유한 것들이 여기에 입력되어 있다.

target을 실행시킨다. 그리고 target이 status도 확인한다.
systemctl start target
systemctl status target

fdisk를 사용해서 현재 연결되어 있는 디스크들을 확인한다.
fdisk -l

sdb를 디스크로 새롭게 연결한다.
fdisk /dev/sdb
n
기본값
p


lsblk는 현재 설정된 파티션들을 조회할 수 있는 명령어이고, sda, sdb가 디스크로 사용되고 있는는 것을 확인할 수 있고, 앞에서 설정한 sdb1이 500M으로 되어 있다.
lsblk

공유할 디스크들이 이 곳에 추가된 것을 볼 수 있다. 그리고 backstores에 파티션 추가한 것을 블록으로 지정해준다. block1 이 지정된 것을 리스트에서 확인해본다.
/backstores/block create block1 /dev/sdb1

fileio 부분에서도 새로운 타겟에 대해서 용량을 지정할 수 있다. 50 MB를 할당한다.
/backstores/fileio create target_01 /tmp/target_01 50M

ls -l /tmp/target_01


여기까지 왔으면 backstores 설정은 완료되었다.
하지만, iSCSI에서는 IQN(iSCSI Qualified Name)이라는 개념을 하나 알아야하는데 iSCSI 장비의 식별자(고유)가 필요하다.
• 형식 : identifier 부분은 구분할 수 있는 고유한 값으로 지정한다.
iqn.YYYY-MM.(Reverse-Domain) : {identifier}
• type.date.{auth_name}.{identifier}
• (ex) iqn.2025-12.ke.xxxx.target:target
IQN을 사용하여 TPG(Target Portal Group) 를 생성하는데, TPG를 생성할 때 ACLS, LUN, Portal을 적용한다.
• ACLS(Access Control Lists) : initiator 목록
• LUN(Logical Unit Number) : target이 제공하는 논리적 iscs의 번호
• Portal : Iscsi target 주소
이제 설정을 시작해본다.
IQN 개념을 사용해서 iscsi를 추가한다.
/iscsi create iqn.2025.12.ke.bulgogikebab.target:target

잘 추가되었는지 iscsi를 부분을 꼼꼼하게 확인해본다.
ls

이제 LUN 에도 똑같이 등록을 해줘야한다. 첫번째에서 Created LUN 0 메시지가 보일 것이다. 두번째에서는 Created LUN 1 메시지가 보인다.
/iscsi/iqn.2025.12.ke.bulgogikebab.target:target/tpg1/luns create /backstores/block/block1
/iscsi/iqn.2025.12.ke.bulgogikebab.target:target/tpg1/luns create /backstores/fileio/target_01


그 다음은 acls를 설정해야한다. 뒷부분에 init을 붙여준다. mapped 메시지가 보인다.
/iscsi/iqn.2025-12.ke.bulgogikebab.target:target/tpg1/acls create iqn.2025-12.ke.bulgogikebab.target:init


Initiator PC로 가서 관련 패키지를 설치한다.
dnf install iscsi-initiator-utils -y
dnf install lsscsi -y

패키지 설치가 완료되었으면 initiator에서도 iscsi 관련 설정값들을 설정해야한다.
vi /etc/iscsi/initiatorname.iscsi
vi 편집기 안에서 수정해야 할 것. 아래의 내용을 추가한다.
InitiatorName=iqn.2025-12.ke.bulgogikebab.target:init

아이스카시 데몬을 실행한다.
systemctl start iscsid
아이스카시 관리자로 찾는다.
iscsiadm -m discovery -t st -p 10.17.0.210

lsscsi

노드 부분을 입력한다. 마지막에 l 옵션은 로그인해서 가져온다는 것이다. 타겟 디스크가 추가가된것을 볼 수 있다. 마치 자기것처럼 가져와서 사용할 수 있다. 디스크까지 가져와서 파티션까지 설정할 수 있다. (이 부분에서 NFS까지 가능하다.)
iscsiadm -m node -T iqn.2025-12.ke.bulgogikebab.target:target -p 10.17.0.210 -l
lsscsi

iscsiadm -m discovery -t st -p 10.17.0.210




연결 완전히 잘 되었으면, 이 부분에서 block1, target_01 이 보이는데 이것이 타겟에서 만들었던 것인데 이 디스크 자체를 가져와서 파티션까지 설정할 수 있도록 하는 것이다.

여기서 이제 할 수 있는게 fdisk를 사용해서 파티션도 설정하고 파일시스템 타입도 지정할 수 있다.
fdisk /dev/sdb
n 생성
기본설정으로 진행
w 저장


최상위 디렉토리에 파일 하나 생성하고 파일시스템을 지정한다. 먼저 마운트 포인트를 생성한다. 그리고 마지막으로 마운트 해준다.
mkdir /iscsi_01
mkfs -t ext-4 /dev/sdb1
mount /dev/sdb1 /iscsi_01/
df -h

마운트를 풀고 싶으면 umount
umount /iscsi_01
df -h

마지막에 -u 옵션으로 로그아웃 시킬 수 있다.
iscsiadm -m node -T iqn.2025-12.ke.bulgogikebab.target:target -p 10.17.0.210 -u

lsscsi

다시 연결해본다. lsscsi와 lsblk로 모두 잘 연결되어 있는 것을 볼 수 있다.
iscsiadm -m node -T iqn.2025-12.ke.bulgogikebab.target:target -p 10.17.0.210 -l
lsscsi
lsblk
그런데 타겟도 저장안해주면 다 날라간다. 꼭 타겟에서도 saveconfig해야한다.
saveconfig
exit


Config 파일로 들어가보면 타겟에서의 정보들을 볼 수 있다. target, block, iqn 등의 세부 정보들을 모두 확인할 수 있다.
vi /etc/target/saveconfig.json

