IT. POST LIST

POST ALL LABEL

리눅스 iscsi 서버 구성 - ISCSI target 설정 및 명령어 사용법

By 때찌때찌맴매 - 1월 16, 2018

리눅스 iscsi 서버 구성  - ISCSI target 설정 및 명령어 사용법


** 이번 포스팅은 iscsi 명령어를 이용하여 iscsi target 설정을 합니다.


** iscsi 컨트롤 명령어

* [ 타겟 연결 ]

# tgtadm --lld iscsi --op new --mode target --tid (tid num) -T (iqn)

- 클라이언트가 연결되는 타겟을 생성합니다.
(tid num) : 타겟을 번호. 무작위로 숫자를 기입하여도 무방
(iqn) : 타겟의 고유값. tgt에서는 무작위 값을 넣어도 되지만 CENTOS 7에서는 tgt가 아닌 targetcli 라는 패키지 형태로 iscsi 연결을 하는데 targetcli에서 iqn 은 고정적이고 복잡한 형대로 기입 하지만 tgt에서는 유일 값으로만 기입하면 상관 없다. 

 ex) tgtadm --lld iscsi --op new --mode target --tid 15 -T iqn-192.168.10.10

# tgtadm --lld iscsi --op new --mode logicalunit --tid (tid num) --lun (lun num) -b (img path)

- 클라이언트가 사용할 이미지(디스크)를 연결합니다.
(lun num) : 디바이스장치 형태로 기본은 1 부터 사용합니다.
(img path) : 절대 경로로 이미지명을 입력합니다.

ex) tgtadm --lld iscsi --op new --mode logicalunit --tid 15 --lun 1 -b /ISCSI-storage/test1.img

또는  레이드장치로 연결된 대용량 디렉토리 말고 HDD, SSD로 다이렉트로 연결 하여 사용 가능합니다.

ex) tgtadm --lld iscsi --op new --mode logicalunit --tid 15 --lun 1 -b /dev/sdd1

하지만 물리 디스크로 바로 연결 하여 사용하는 방법은 개인적으로 비추 입니다. 계륵 형태로 관리측면이나 효율성에서 좋지 못한 구성이기 때문입니다.

# tgtadm --lld iscsi --op bind --mode target -tid (tid num) -I ("{ip}" | ALL ) - 클라이언트가 접근할 ip를 설정 합니다. ("{ip}" | ALL ) : 클라이언트가 접근할 ip를 설정하는데 ALL 로 했을 경우 모든 ip가 접근 가능 합니다. 보 안에 매우 취약 합니다. ex) tgtadm --lld iscsi --op bind --mode target -tid 15 -I 192.168.10.10

** 위 타겟 연결 명령어는 저 3가지 명령어가 가장 기본적인 구성 명령어 입니다. 3가지중 한가지라도 입력 되지 않으면 iscsi 는 연결되지 않습니다.

*[ 타겟 백업 ]

# tgt-admin --dump > /etc/tgt/targets.conf 
 - 기본구성 명령어 입력후 상태 값을 백업합니다. 한개의 타겟이 아닌 다수의 타겟이 연결 되고  서버가 장애로 다운 됐을때 상태값이 백업 되있다면 tgt데몬 구동시 연결되어 있는 명령어들이 자동으로 적용이 됩니다.

* [ 타겟 상태 변경 ]

# tgtadm --op update --mode target --tid=(tid num) -n state -v (offline | ready) - 타겟을 제거 하지 않고, 사용을 제한 할 수 있습니다. ready 는 운영이고 offline 은 제한입니다. ex) tgtadm --op update --mode target --tid 15 -n state -v offline ex) tgtadm --op update --mode target --tid 15 -n state -v ready

* [ 타겟제거 ]


# tgtadm --lld iscsi --op delete --force --mode target --tid=(tid num)
- target 제거 입니다. 옵션중 --force를 넣어 주면 강제로 해당 타겟을 제거 합니다.
 
# tgtadm --lld iscsi --op delete --mode logicalunit –tid (tid num) –lun (lun num)
- target의 lun을 제거 합니다. 

# tgt-admin --update tid=(tid num) -c /dev/null -f
- target 강제 제거랑 같은 명령어 입니다.

# tgt-admin --update ALL -c /dev/null -f 
- 모든 target을 제거 합니다.  잘못 내리면 재앙이 내립니다.


** iscsi 주된 목적은 용량 증설이기 때문에 레이드로 마운트된 디렉토리에 빈 이미지를 생성합니다.

**  생성된 이미지는 외부 클라이언트의 추가 디스크가 됩니다.

* [ 빈 이미지 생성 ]
# tgtimg --op new --device-type disk --size={용량}M --type=disk --file={path} - 용량은 자율적으로 적용합니다. ex) tgtimg --op new --device-type disk --size=102400M --type=disk --file=/ISCSI_storage/test.img

* [ 명령어 입력 ]


# tgt-admin -s  ==> 명령어 입력시 iscsi target 상태값 확인이 가능합니다.

Target 1: iqn-192.168.10.10 -> 클라이언트 iqn numb
    System information: 
        Driver: iscsi 
        State: ready  -> 해당 타겟 상태값 ready  상태면 사용가능 offline 이면 사용불가
    I_T nexus information: → 넥서스 정보는 클라이언트 간의 세션 상태. 약 1시간 유지
    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 
            Backing store type: null 
            Backing store path: None 
            Backing store flags: 
        LUN: 1  → 위에서 설명한 이미지를 장착한 디바이스 장치 무조건 1부터 사용
            Type: disk 
            SCSI ID: IET     00010001 
            SCSI SN: beaf11 
            Size: 10737 MB, Block size: 512 
            Online: Yes 
            Removable media: No 
            Prevent removal: No 
            Readonly: No 
            Backing store type: rdwr 
            Backing store path: /ISCSI_storage/test.img  -> 이미지경로
            Backing store flags: 
    Account information: 
    ACL information: → 보안정책 해당 IP 만 접근하여 엑세스 할수 있도록 정의
 192.168.10.10



  • Share:

You Might Also Like

0 개의 댓글