1. 程式人生 > >Linux 環境下iSCSI Target 與 Initiator 配置

Linux 環境下iSCSI Target 與 Initiator 配置

Target端配置

1.安裝並啟動targetcli

$ sudo dnf install targetcli
$ sudo systemctl start target.service
$ sudo systemctl enable target.service
$ sudo targetcli
targetcli shell version 2.1.fb46
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/> ls
o- / .....................
....................................................... [...] o- backstores ................................................................. [...] | o- block ..................................................... [Storage Objects: 0] | o- fileio ....................................................
[Storage Objects: 0] | o- pscsi ..................................................... [Storage Objects: 0] | o- ramdisk ................................................... [Storage Objects: 0] o- iscsi ............................................................... [Targets: 0] o- loopback ............................................................
[Targets: 0] o- vhost ............................................................... [Targets: 0]

2.建立iSCSI塊裝置

/> cd backstores/
/backstores> cd block 
/backstores/block> create block01 /dev/sdb
Created block storage object block01 using /dev/sdb.

3.建立LIO iSCSI目標

/> cd iscsi 
/iscsi> create
Created target iqn.2003-01.org.linux-iscsi.target.x8664:sn.319cf16722f8.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.

4.建立邏輯單元(LUN)

/> cd iscsi/
/iscsi> cd iqn.2003-01.org.linux-iscsi.target.x8664:sn.319cf16722f8/
/iscsi/iqn.20....319cf16722f8> cd tpg1/luns 
/iscsi/iqn.20...2f8/tpg1/luns> create /backstores/block/block01 
Created LUN 0.

5.建立網路入口(IP:Port,IP為target端地址,Port預設為3260)

/iscsi/iqn.20...2f8/tpg1/luns> cd ../portals/
/iscsi/iqn.20.../tpg1/portals> create 192.168.134.12
Using default IP port 3260
Created network portal 192.168.134.12:3260.

6.建立訪問控制列表(ACL)

/iscsi/iqn.20.../tpg1/portals> cd ../acls 
/iscsi/iqn.20...2f8/tpg1/acls> ls
o- acls ..................................................................... [ACLs: 0]
/iscsi/iqn.20...2f8/tpg1/acls> create iqn.1994-05.com.redhat:91a579c4e39
Created Node ACL for iqn.1994-05.com.redhat:91a579c4e39
Created mapped LUN 0.

7.完成目標建立

/> ls
o- / ............................................................................ [...]
  o- backstores ................................................................. [...]
  | o- block ..................................................... [Storage Objects: 1]
  | | o- block01 ............................ [/dev/sdb (40.0GiB) write-thru activated]
  | |   o- alua ...................................................... [ALUA Groups: 1]
  | |     o- default_tg_pt_gp .......................... [ALUA state: Active/optimized]
  | o- fileio .................................................... [Storage Objects: 0]
  | o- pscsi ..................................................... [Storage Objects: 0]
  | o- ramdisk ................................................... [Storage Objects: 0]
  o- iscsi ............................................................... [Targets: 1]
  | o- iqn.2003-01.org.linux-iscsi.target.x8664:sn.319cf16722f8 ............. [TPGs: 1]
  |   o- tpg1 .................................................. [no-gen-acls, no-auth]
  |     o- acls ............................................................. [ACLs: 1]
  |     | o- iqn.1994-05.com.redhat:91a579c4e39 ...................... [Mapped LUNs: 1]
  |     |   o- mapped_lun0 .................................. [lun0 block/block01 (rw)]
  |     o- luns ............................................................. [LUNs: 1]
  |     | o- lun0 ....................... [block/block01 (/dev/sdb) (default_tg_pt_gp)]
  |     o- portals ....................................................... [Portals: 1]
  |       o- 192.168.134.12:3260 ................................................. [OK]
  o- loopback ............................................................ [Targets: 0]
  o- vhost ............................................................... [Targets: 0]
/> saveconfig 
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json

8.設定認證憑證

/> cd iscsi/
/iscsi> cd iqn.2003-01.org.linux-iscsi.target.x8664:sn.319cf16722f8/tpg1/
/iscsi/iqn.20...f16722f8/tpg1> cd acls/iqn.1994-05.com.redhat:91a579c4e39/
/iscsi/iqn.20...t:91a579c4e39> set auth userid=IncomingUser
/iscsi/iqn.20...t:91a579c4e39> set auth password=SomePassword
/iscsi/iqn.20...t:91a579c4e39> set auth mutual_userid=OutgoingUser (可選,單向認證時無需設定)
/iscsi/iqn.20...t:91a579c4e39> set auth mutual_password=AnotherPassword (可選,單向認證時無需設定)
/iscsi/iqn.20...t:91a579c4e39> get auth
AUTH CONFIG GROUP
=================
mutual_password=AnotherPassword
-------------------------------
The mutual_password auth parameter.
mutual_userid=OutgoingUser
--------------------------
The mutual_userid auth parameter.
password=SomePassword
---------------------
The password auth parameter.
userid=IncomingUser
-------------------
The userid auth parameter.

Initiator端配置

1.配置iscsid.conf 檔案

$ sudo vim /etc/iscsi/iscsid.conf 
# 去掉以下幾行註釋,並根據Target端配置設定使用者名稱和密碼
node.session.auth.authmethod = CHAP
node.session.auth.username = IncomingUser
node.session.auth.password = SomePassword
node.session.auth.username_in = OutgoingUser
node.session.auth.password_in = AnotherPassword

2.發現目標

$ sudo iscsiadm -m discovery -t sendtargets -p 192.168.134.12
192.168.134.12:3260,1 iqn.2003-01.org.linux-iscsi.target.x8664:sn.319cf16722f8

3.登入目標

$ sudo iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.target.x8664:sn.319cf16722f8 -p 192.168.134.12 -l
$ sudo iscsiadm -m session -P 0
tcp: [1] 192.168.134.12:3260,1 iqn.2003-01.org.linux-iscsi.target.x8664:sn.319cf16722f8 (non-flash)
$ sudo lsblk --scsi
NAME HCTL       TYPE VENDOR   MODEL             REV TRAN
sda  2:0:0:0    disk VMware,  VMware Virtual S 1.0  spi
sdb  3:0:0:0    disk LIO-ORG  block01          4.0  iscsi
sr0  1:0:0:0    rom  NECVMWar VMware IDE CDR10 1.00 ata
$ sudo fdisk -l
Disk /dev/sdb: 40 GiB, 42949672960 bytes, 83886080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 4194304 bytes

Target端

$ sudo targetcli sessions
alias: initiator    sid: 1 type: Normal session-state: LOGGED_IN

4.登出

$ sudo iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.target.x8664:sn.319cf16722f8 -p 192.168.134.12 -u
Logging out of session [sid: 1, target: iqn.2003-01.org.linux-iscsi.target.x8664:sn.319cf16722f8, portal: 192.168.134.12,3260]
Logout of [sid: 1, target: iqn.2003-01.org.linux-iscsi.target.x8664:sn.319cf16722f8, portal: 192.168.134.12,3260] successful.
$ sudo iscsiadm -m session -P 0
iscsiadm: No active sessions.