본문 바로가기

운영체제/Unix & Linux

[Linux] iSCSI 구성 #1 - tgt를 이용한 구성

반응형

개요

리눅스에서 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

 

반응형