개요
리눅스에서 iscsi target 서버를 구성하는 방법으로 tgt(tgtadm, target.conf) 와 targetcli 명령어를 이용하여 구성하는 방법이 있다. 이번 시간에는 tgt(target framework)이용한 iscsi 구성하는 방법에 대해 알아본다.
구성환경
CentOS 7.6
1. iSCSI Target(서버) 구성
1.1 scsi-target-utils RPM 설치
shell> yum install scsi-target-utils
1.2 방화벽 오픈
3260/TCP 포트 오픈
1.3 /etc/tgt/targets.conf 파일 편집
default-driver iscsi <target iqn.2014-08.com.hoya.testsvr:t1> backing-store /dev/sdf => block device backing-store /dev/sdg backing-store /opt/disk1.img => block file initiator-address 192.168.0.130 # initiator-name iqn.1994-05.com.redhat:e18869bfd0cb # incominguser user1 password </target> |
* /etc/tgt/conf.d/sample.conf에 다양한 예제들이 있으므로 참고하면 좋을듯 하다.
- iqn(Iscsi Qualified Name)형식 : iqn.YYYY-MM.xxxx:tagetName
- block device(file) : /dev/sdf, /dev/sdg, /opt/disk1.img*
* dd if=/dev/zero of=/opt/disk1.img bs=10m count=100
- initiator-address : target server에 접속 권한을 가진 클라이언트
* initiator-address 지시자를 설정하지 않으면 디폴트로 ALL이 설정됨, 모든 주소에서 접속 가능
* initiator-name 지시자의 iqn 값은 클라이언트의 /etc/iscsi/initiatorname.iscsi 파일에서 확인 가능하다.
1.4 tgtd 서비스 시작
shell> systemctl --now enable tgtd
1.5 확인
shell> tgt-admin --show Target 1: iqn.2014-08.com.hoya.testsvr:t1 System information: Driver: iscsi State: ready I_T nexus information: LUN information: LUN: 0 Type: controller SCSI ID: IET 00010000 SCSI SN: beaf10 Size: 0 MB, Block size: 1 Online: Yes Removable media: No Prevent removal: No Readonly: No SWP: No Thin-provisioning: No Backing store type: null Backing store path: None Backing store flags: LUN: 1 Type: disk SCSI ID: IET 00010001 SCSI SN: beaf11 Size: 1074 MB, Block size: 512 Online: Yes Removable media: No Prevent removal: No Readonly: No SWP: No Thin-provisioning: No Backing store type: rdwr Backing store path: /dev/sdf Backing store flags: LUN: 2 Type: disk SCSI ID: IET 00010002 SCSI SN: beaf12 Size: 1074 MB, Block size: 512 Online: Yes Removable media: No Prevent removal: No Readonly: No SWP: No Thin-provisioning: No Backing store type: rdwr Backing store path: /dev/sdg Backing store flags: Account information: ACL information: 192.168.0.130 shell> |
2. iSCSI initiator(클라이언트) 구성
2.1 iscsi-initiator-utils RPM 설치
shell> yum install iscsi-initiator-utils
2.2 서비스 시작
shell> systemctl start iscsi
2.3 target 연결
shell> iscsiadm --mode discovery --type sendtargets --portal 192.168.0.167 192.168.0.167:3260,1 iqn.2014-08.com.hoya.testsvr:t1 shell> iscsiadm --mode session iscsiadm: No active sessions. shell> iscsiadm --mode node --login Logging in to [iface: default, target: iqn.2014-08.com.hoya.testsvr:t1, portal: 192.168.0.167,3260] (multiple) Login to [iface: default, target: iqn.2014-08.com.hoya.testsvr:t1, portal: 192.168.0.167,3260] successful. shell> lsscsi .... 중략 .... [16:0:0:0] disk ATA VBOX HARDDISK 1.0 /dev/sdo [55:0:0:0] storage IET Controller 0001 - [55:0:0:1] disk IET VIRTUAL-DISK 0001 /dev/sdp [55:0:0:2] disk IET VIRTUAL-DISK 0001 /dev/sdq shell> iscsiadm --mode session tcp: [39] 192.168.0.167:3260,1 iqn.2014-08.com.hoya.testsvr:t1 (non-flash) shell> |
2.4 iSCSI Target 서버에서 연결된 클라이언트 확인
shell> tgt-admin --show Target 1: iqn.2014-08.com.hoya.testsvr:t1 System information: Driver: iscsi State: ready I_T nexus information: I_T nexus: 1 Initiator: iqn.2014-08.com.redhat:e18869bfd0cb alias: rac1.hoya.com Connection: 0 IP Address: 192.168.0.130 LUN information: LUN: 0 Type: controller ..... 생략 ..... |
3. iSCSI Session 삭제
- 삭제 절차(클라이언트)
1. iscsi device/filesystem umount 2. logout 3. Target’s Record ID 삭제 (/var/lib/iscsi/node에 저장된 record id가 삭제됨) |
- 클라이언트 예시
shell> iscsiadm -m session tcp: [39] 192.168.0.167:3260,1 iqn.2014-08.com.hoya.testsvr:t1 (non-flash) shell> iscsiadm --mode node --targetname iqn.2014-08.com.hoya.testsvr:t1 --portal 192.168.0.167 --logout => logout Logging out of session [sid: 39, target: iqn.2014-08.com.hoya.testsvr:t1, portal: 192.168.0.167,3260] Logout of [sid: 39, target: iqn.2014-08.com.hoya.testsvr:t1, portal: 192.168.0.167,3260] successful. shell> iscsiadm -m node --op delete -T iqn.2014-08.com.hoya.testsvr:t1 => Target's Recored ID 삭제 shell> |
- Target 서버 서비스 중지 및 비활성화
shell> systemctl --now disable tgtd |
'운영체제 > Unix & Linux' 카테고리의 다른 글
[Linux] Multipath 구성 (0) | 2020.04.21 |
---|---|
[Linux] iSCSI 구성 #2 - targetcli 명령어를 이용한 구성 (0) | 2020.04.21 |
[Linux] NFS 구성 (0) | 2020.03.31 |
[Debian] apt-get 과 dpkg 를 활용한 패키지 관리 (0) | 2020.03.20 |
[Ubuntu] Ubuntu 18 네임서버 설정 (0) | 2020.03.18 |