728x90

iSCSI TARGET 설정


네트워크 설정 및 호스트 네임 설정

# 네트워크 설정
nmcli con add type ethernet con-name nat ifname enp0s3 ipv4.addresses 10.0.2.100/24 ipv4.gateway 10.0.2.1 ipv4.dns 8.8.8.8 ipv4.method manual
nmcli con up nat
nmcli con show
ifconfig

# 호스트 네임 설정
hostnamectl set-hostname target.goorm.com
bash
# @localhost에서 @target으로 호스트 네임 변경

ip


스토리지 구성: 하드 디스크 추가

 

 

디스크가 추가된 것을 확인할 수 있음


패키지 설치

yum install -y targetcli

디스크 파티셔닝

1GB 크기의 파티션 3개 생성

 


Backstore 생성

- block: 물리 장치(HDD, SSD, DVD 등) + 논리 장치(LVM, RAID)

- fileio: 현재 시스템에서 사용 중인 파일 시스템의 일부 공간 제공

- pscsi: 모든 유형의 로컬 SCSI 장치들을 모두 공유할 수 있게 지원되는 유형

- ramdisk: 시스템에 램디스크 장치를 만들어 저장

 

1. block 생성

/> backstores/block create dev=/dev/sdb1 name=part1
Created block storage object part1 using /dev/sdb1.


iSCSI 연결 설정

1. IQN 설정

타겟 이름 설정: 서비스 설정 시기 + 호스트 네임

IQN을 생성하면 TPG가 자동 생성되고 portals 항목에 0.0.0.0:3260 값이 기본으로 설정됨

/> iscsi/ create iqn.2022-05.com.goorm:target
Created target iqn.2022-05.com.goorm:target.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.

 

 

2. ACL 설정

해당 시스템에서 사용하는 이름이 아닌 연결을 허용할 초기자의 IQN 지정

/> iscsi/iqn.2022-05.com.goorm:target/tpg1/acls create iqn.2022-05.com.goorm:initiator
Created Node ACL for iqn.2022-05.com.goorm:initiator

 

3. LUN 설정

LUN 생성 시에는 backstore에서 생성했던 저장 객체를 사용하여 맵핑

add_mapped_luns 옵션 생략 시

 1) 기본 값=true

 2) acls 자동 맵핑

 3) 읽기-쓰기 권한 부여 (쓰기 권한을 원하지 않는다면 false로 설정할 것)

/> iscsi/iqn.2022-05.com.goorm:target/tpg1/luns create /backstores/block/part1
Created LUN 0.
Created LUN 0->0 mapping in node ACL iqn.2022-05.com.goorm:initiator

 

4. Portal 설정

IP 주소와 포트 번호 설정

* 설정 시 0.0.0.0:3260 설정이 존재한다면 새로운 설정 추가 불가

 

 

/> iscsi/iqn.2022-05.com.goorm:target/tpg1/portals/ delete 0.0.0.0 3260
Deleted network portal 0.0.0.0:3260

/> iscsi/iqn.2022-05.com.goorm:target/tpg1/portals/ create 10.0.2.100 3260
Using default IP port 3260
Created network portal 10.0.2.100:3260.

 

 

5. 종료

/> exit
Global pref auto_save_on_exit=true
Configuration saved to /etc/target/saveconfig.json

방화벽 설정 및 서비스 활성화

systemctl enable target

firewall-cmd --add-service=iscsi-target --permanent
firewall-cmd --add-service=iscsi-target

 


iSCSI INITIATOR 설정

 


네트워크 설정

# 네트워크 설정
nmcli con add type ethernet con-name nat ifname enp0s3 ipv4.addresses 10.0.2.200/24 ipv4.gateway 10.0.2.1 ipv4.dns 8.8.8.8 ipv4.method manual
nmcli con up nat
nmcli con show
ifconfig

# 호스트 네임 설정
hostnamectl set-hostname initiator.goorm.com
bash
# @localhost에서 @initiator로 호스트 네임 변경

도구 설치

대부분 기본적으로 설치되어 있음

yum install -y iscsi-initiator-utils

IQN 설정

타겟과 연결하기 위해서 타겟의 acls 항목에서 지정한 IQN과 같은 이름으로 IQN 설정 필요

ls -l /etc/iscsi/initiatorname.iscsi
-rw-r--r--. 1 root root 49 Sep 12  2021 /etc/iscsi/initiatorname.iscsi

cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1994-05.com.redhat:5d7f19268f2	# acls 항목에서 지정한 이름과 다름

vi /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2022-05.com.goorm:initiator	# 변경

cat /etc/iscsi/initiatorname.iscsi                
InitiatorName=iqn.2022-05.com.goorm:initiator

 


서비스 활성화

systemctl start iscsi
systemctl enable iscsi

연결

1. 검색 (Discovery)

# 검색-discovery
iscsiadm -m discovery -t st -p 10.0.2.100
10.0.2.100:3260,1 iqn.2022-05.com.goorm:target

* 오류 발생 시 네트워크 연결 혹은 방화벽 확인

 

 

2. 로그인

1) node: 동작 모드 - 연결 시도

2) 검색한 타겟의 iqn

3) -l: 로그인 옵션

iscsiadm -m node -T iqn.2022-05.com.goorm:target -l
Logging in to [iface: default, target: iqn.2022-05.com.goorm:target, portal: 10.0.2.100,3260] (multiple)
Login to [iface: default, target: iqn.2022-05.com.goorm:target, portal: 10.0.2.100,3260] successful.

* 인증 오류 발생 시 /etc/iscsi/initiatorname.iscsi 파일에 설정한 IQN 과 타겟에서 설정한 ACL 과 일치하는지 확인

 

 

3. 세션 확인

1) session: 연결한 대상의 정보 및 제공받는 장치에 대한 정보 확인

2) -P: 세션 확인 시 지정하는 등급

iscsiadm -m session -P 3

sdb 장치와 연결된 것을 확인할 수 있음

 

* 연결 오류 발생 시 *

1. 연결 삭제
2. iscsid 서비스 중지
=> 타겟과 이니시에이터의 연결을 완전히 제거 후 재연결 시도

 

연결 해제

iscsiadm -m node -T iqn.2022-05.com.goorm:target -u

 

검색 기록 제거

iscsiadm -m node -T iqn.2022-05.com.goorm:target -o delete

 

리로드(재검색)

iscsiadm -m node -T iqn.2022-05.com.goorm:target -R

장치 사용

# 디스크 파티셔닝 
fdisk /dev/sdb
partprobe /dev/sdb

# 파일 시스템 생성
mkfs -t xfs /dev/sdb1

# 마운트
vi /etc/fstab
/dev/sdb1	/mnt	xfs	_netdev	0	0

# 마운트 확인
lsblk

 

 

 

728x90

+ Recent posts