在 CentOS 7 下安裝 iSCSI Target

參考網站:
CentOS 7 : Configure iSCSI Target : Server World
CentOS 7 安裝 iSCSI Server
Configure iSCSI Target & Initiator on CentOS 7 / RHEL7

1. 安裝 targetcli 套件
# yum -y install targetcli

2. 建立目錄
# mkdir /iscsi_disks[@more@]
3. 進入 iscsi 管理介面
# /usr/bin/targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.fb41
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type ‘help’.

/> cd backstores/fileio
/backstores/fileio> create linux-disk /iscsi_disks/linux-disk.img 10G
Created fileio linux-disk with size 10737418240
/backstores/fileio> cd /iscsi
/iscsi> create iqn.2017-04.tces.test:linux.disk
Created target iqn.2017-04.tces.test:linux.disk.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi> cd iqn.2017-04.tces.test:linux.disk/tpg1/luns
/iscsi/iqn.20…isk/tpg1/luns> create /backstores/fileio/linux-disk
Created LUN 0.
/iscsi/iqn.20…isk/tpg1/luns> cd ../acls
/iscsi/iqn.20…isk/tpg1/acls> create iqn.2017-04.tces.test:linux-pc
Created Node ACL for iqn.2017-04.tces.test:linux-pc
Created mapped LUN 0.
/iscsi/iqn.20…isk/tpg1/acls> cd iqn.2017-04.tces.test:linux-pc
/iscsi/iqn.20…test:linux-pc> set auth userid=user
Parameter userid is now ‘user.
/iscsi/iqn.20…test:linux-pc> set auth password=password
Parameter password is now ‘password’.
/iscsi/iqn.20…test:linux-pc> exit
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json

4. 檢查是否有正常執行
# ss -napt | grep 3260
LISTEN     0      256          *:3260                     *:*

# netstat -napt | grep 3260
tcp        0      0 0.0.0.0:3260            0.0.0.0:*               LISTE

5. 防火牆設定
# firewall-cmd –permanent –add-service=iscsi-target
# firewall-cmd –reload

# firewall-cmd –permanent –add-port=3260/tcp
# firewall-cmd –reload

# iptables -A INPUT -s 192.168.1.0/24 -p tcp -m state –state NEW –dport 3260 -j ACCEPT

For Windows
# /usr/bin/targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.fb41
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type ‘help’.

/> cd backstores/fileio

/backstores/fileio> create windows-disk /iscsi_disks/windows-disk.img 4G
Created fileio windows-disk with size 4294967296
/backstores/fileio> cd /iscsi
/iscsi> create iqn.2017-04.tces.test:windows.disk
Created target iqn.2017-04.tces.test:windows.disk.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi> cd iqn.2017-04.tces.test:windows.disk/tpg1/luns
/iscsi/iqn.20…isk/tpg1/luns> create /backstores/fileio/windows-disk
Created LUN 0.
/iscsi/iqn.20…isk/tpg1/luns> cd ../acls
/iscsi/iqn.20…isk/tpg1/acls> create iqn.2017-04.tces.test:windows-pc
Created Node ACL for iqn.2017-04.tces.test:windows-pc
Created mapped LUN 0.
/iscsi/iqn.20…isk/tpg1/acls> cd /iscsi/iqn.2017-04.tces.test:windows.disk/tpg1/
/iscsi/iqn.20…ows.disk/tpg1> set attribute authentication=0
Parameter authentication is now ‘0’.
/iscsi/iqn.20…ows.disk/tpg1> cd /iscsi/iqn.2017-04.tces.test:windows.disk/tpg1/
/iscsi/iqn.20…ows.disk/tpg1> set attribute generate_node_acls=0
Parameter generate_node_acls is now ‘0’.
/iscsi/iqn.20…ows.disk/tpg1> exit
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json