본문 바로가기
Linux/Linux

Linux) iSCSI Target 서버 구축하기

by LILO 2021. 9. 11.
반응형

INTRO

 

 

구축하기 전에 iSCSI에 대한 개념을 더 알고 싶으신 분은 아래의 링크를 참고하기 바랍니다.

 

 

Linux) iSCSI란 무엇일까?

iSCSI란? IP 기반으로 블록 디바이스를 공유할 때 쓰입니다. 기존에 IDC에서는 SAN으로 Fibre Channel Cable(광 케이블)을 연결사고 조닝 작업을 통해 LUN을 제공하는 작업을 자주했습니다. 이 조닝 작업이

lilo.tistory.com

 

 

 

 

iSCSI Target 서버 구축하기 (구성하기)

 

 

공유할 디스크를 확인합니다.

 

[root@lilo-san ~]# fdisk -l

Disk /dev/sdc: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sdd: 8589 MB, 8589934592 bytes, 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x6a5f4f5f

Disk /dev/sde: 8589 MB, 8589934592 bytes, 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x6a5f4f5f


[root@lilo-san ~]# lsblk  |egrep  "sdc|sdd|sde"
sdc               8:32   0    2G  0 disk
sdd               8:48   0    8G  0 disk
sde               8:64   0    8G  0 disk

sdc, sdd, sde라는 디스크를 공유할 예정입니다.

 

 

 

iSCSI Target 데몬과 관련된 패키지를 설치하고 데몬을 Enable하고 활성화합니다.

 

▶ targetcli 설치
[root@lilo-san ~]# yum install targetcli

 target 데몬 enable 후 활성화
[root@lilo-san ~]# systemctl enable --now target
Created symlink from /etc/systemd/system/multiuser.target.wants/target.service to /usr/lib/systemd/system/target.service.

 target 데몬 상태 확인
[root@lilo-san ~]# systemctl is-active target
active

 

 

 

 

"tagetcli" 명령을 이용해 IQN(iSCSI 고유의 이름), LUN, Portal 등을 생성합니다.

이 글에서는 명령어 위주로 진행하지만 "cd" 명령어를 이용해 블록을 옮길 수 있는 등 TUI 환경으로도 진행이 가능합니다. 중간 중간에 잘 생성 되었는지는 "ls 명령을 이용해 확인하면 됩니다.

 

먼저 사용할 backstores의 block을 생성합니다.

backstore는 iSCSI로 제공되는 스토리지를 설정하는 역할을 합니다.
block은 제공할 블록단위 디바이스 혹은 파티셔닝한 디바이스입니다.

 

 targetcli 진입
[root@lilo-san ~]# targetcli
targetcli shell version 2.1.51
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.


 현황 확인
/> ls



 iSCSI로 공유할 블록 생성
/> /backstores/block create LUN1 /dev/sdc
Created block storage object LUN1 using /dev/sdc.

/> /backstores/block create LUN2 /dev/sdd
Created block storage object LUN2 using /dev/sdd.

/> /backstores/block create LUN3 /dev/sde
Created block storage object LUN3 using /dev/sde.


 현황 확인
/> ls

 

 

IQN, LUN, ACL를 생성합니다.

TPG1은 생략해도 무관하기 때문에 뒤에 별도로 입력하지 않아도 무관합니다.

 

 IQN 생성
/> /iscsi create iqn.2021-09.com.san.lilo:server1
Created target iqn.2021-09.com.san.lilo:server1.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.

 LUN 생성
/> /iscsi/iqn.2021-09.com.san.lilo:server1/tpg1/luns create /backstores/block/LUN1
Created LUN 0.
/> /iscsi/iqn.2021-09.com.san.lilo:server1/tpg1/luns create /backstores/block/LUN2
Created LUN 1.
/> /iscsi/iqn.2021-09.com.san.lilo:server1/tpg1/luns create /backstores/block/LUN3
Created LUN 2.

 IQN의 ACL 생성
/> /iscsi/iqn.2021-09.com.san.lilo:server1/tpg1/acls create iqn.2021-09.com.san.lilo:initiator1
Created Node ACL for iqn.2021-09.com.san.lilo:initiator1
Created mapped LUN 2.
Created mapped LUN 1.
Created mapped LUN 0.

 현황 확인
/> ls



 종료 및 저장
/> exit
Global pref auto_save_on_exit=true
Configuration saved to /etc/target/saveconfig.json

 

이상으로 iSCSI Target에 대한 설정이 완료되었습니다.

여기서 IQN을 하나 더 생성해서 일부의 LUN만 공유하는 방향도 있고 Portal을 지정해서 일정 대역의 클라이언트들에게만 공유할 수 있습니다.

 

실무에서는 어차피 앞단의 방화벽 장비가 막고있기 때문에 "0.0.0.0"으로 접속 허용을 시켜도 무관합니다.

반응형

'Linux > Linux' 카테고리의 다른 글

Linux) Rocky Linux OS 8.4 설치  (0) 2021.09.12
Linux) iSCSI Initiator 설정하기  (0) 2021.09.11
Linux) iSCSI란 무엇일까?  (0) 2021.09.10
Linux) 사용중인 VG의 LV 삭제  (0) 2021.09.10
Linux) TCP/UDP Port의 3가지 종류 (보안)  (0) 2021.08.14