리눅스 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
0 개의 댓글