Configuring iSCSI on AIX using the iSCSI software initiator.
http://gibsonnet.net/aix/MyArticles/aix_iscsi.pdf
Configuring AIX as an iSCSI target.
On the iSCSI target host (server).
Host is running AIX 7.1.
Install the devices.tmiscsw.rte fileset. This fileset can be found on the AIX 7.1 Expansion Pack CD.
l273pp043_pub[/] > oslevel -s
7100-00-02-1041
l273pp043_pub[/] > lslpp -l devices.tmiscsw.rte
Fileset Level State Description
----------------------------------------------------------------------------
Path: /usr/lib/objrepos
devices.tmiscsw.rte 7.1.0.0 COMMITTED iSCSI Target Software Device
Driver
Path: /etc/objrepos
devices.tmiscsw.rte 7.1.0.0 COMMITTED iSCSI Target Software Device
Driver
l273pp043_pub[/] > lsdev -Cc disk
hdisk4 Available Virtual SCSI Disk Drive
hdisk5 Available Virtual SCSI Disk Drive
l273pp043_pub[/] > lspv
hdisk4 00f6050a2cd79ef8 rootvg active
hdisk5 00f602736c1a2ad8 None
l273pp043_pub[/] > lsvg
rootvg
l273pp043_pub[/] > smit tmiscsi_proto_add
iSCSI Target Device
iSCSI Target Protocol Device
Add an iSCSI Target Protocol Device
Add an iSCSI Target Protocol Device
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[Entry Fields]
iSCSI Target Protocol Device Name tmsw0
Maximum number of sessions [200] +#
Maximum transfer size in one PDU [262144] +#
Access Control enabled [off] +
Apply change to DATABASE only no +
COMMAND STATUS
Command: OK stdout: yes stderr: no
Before command completion, additional instructions may appear below.
tmsw0 Available
# smit tmtarget_add
Add an iSCSI Target
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[Entry Fields]
iSCSI Target Protocol Device Name tmsw0
iSCSI Target Logical Name []
* iSCSI Target Name [iqn.aix]
Maximum Target LUNs allowed [512] +#
Paths []
Force disconnection of iSCSI clients on remove [no] +
Initiator Reconnection delay [] +#
Addressing method [0] +#
Apply change to DATABASE only no +
Target Registration Method [none] +
SLP Registration Lifetime [] +#
iSNS Servers Names [] +
Displays the iSCSI target name. You can specify the name using one | +
| of the following two formats: iqn. <what-you-want>, eui. <16 |
| ASCII-encoded hexadecimal digits>. The iSCSI name must be unique |
| within the entire network.
COMMAND STATUS
Command: OK stdout: yes stderr: no
Before command completion, additional instructions may appear below.
target0 Available
# smit tmlun
+--------------------------------------------------------------------------+
| iSCSI Parent Target Name |
| |
| Move cursor to desired item and press Enter. |
| |
| target0 Available iSCSI Target Mode Target |
| |
Add an iSCSI Target Logical Unit
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[Entry Fields]
iSCSI Parent Target Name target0
Logical Unit Name []
* Backing Device Type [disk] +
Backing Device Name [hdisk5] +
Backing File Full Path Name [] /
Maximum Number of Commands to Queue to Device [3] +#
Apply change to DATABASE only no +
COMMAND STATUS
Command: OK stdout: yes stderr: no
Before command completion, additional instructions may appear below.
lu0 Available
l273pp043_pub[/] > lsdev -C | grep -i iscsi
iscsi0 Available iSCSI Protocol Device
lu0 Available iSCSI Target Mode Logical Unit
target0 Available iSCSI Target Mode Target
tmiscsi0 Defined iSCSI Target Mode Targets Container
tmsw0 Available iSCSI Target Mode Device Driver
l273pp043_pub[/] > lsattr -El lu0
back_dev hdisk5 Backing Device Name True
back_dev_option N/A True
back_dev_type disk Backing Device Type True
back_file Backing File Full Path Name True
dev_size N/A True
lun_id 0x0 Logical Unit Number ID False
queue_depth 3 Maximum Number of Commands to Queue to Device True
l273pp043_pub[/] > lsattr -El target0
add_method 0 Addressing method True
force_delay 15 Initiator Reconnection delay True
force_logout no Force disconnection of iSCSI clients on remove True
iscsi_name iqn.aix iSCSI Target Name True
isns_srvnames auto iSNS Servers Names True
max_luns 512 Maximum Target LUNs allowed True
owner tmsw0 iSCSI Target Protocol Device Owner True
paths Paths True
reg_policy none Target Registration Method True
slp_lifetime 10800 SLP Registration Lifetime True
l273pp043_pub[/] >
l273pp043_pub[/] > lsattr -El tmsw0
access_control off Access Control enabled True
keepalive 240 Connection keepalive (in seconds) True
max_session 200 Maximum number of sessions True
max_xfer_size 262144 Maximum transfer size in one PDU True
l273pp043_pub[/] >
On the iSCSI initiator host (client).
Host is running AIX 6.1.
root@lb511p015_pub / # oslevel -s
6100-01-05-0920
root@lb511p015_pub / # lsdev -Cc disk
hdisk1 Available Virtual SCSI Disk Drive
root@lb511p015_pub / # lspv
hdisk1 00c8e424e56b6006 rootvg active
# smit iscsi
Change / Show Characteristics of an iSCSI Protocol Device
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[Entry Fields]
iSCSI Protocol Device iscsi0
Description iSCSI Protocol Device
Status Available
iSCSI Initiator Name [iqn.lb424p001.hostid.0a990d01]
Maximum number of commands to queue to driver [200] +#
Discovery Policy file +
Maximum Targets Allowed [16] Apply change to DATABASE only no +
root@lb511p015_pub / # chdev -l iscsi0
iscsi0 changed
root@lb511p015_pub / # mkdev -l iscsi0
iscsi0 Available
root@lb511p015_pub /etc/iscsi # tail /etc/iscsi/targets
# Assume the target is at address 10.2.1.106
# the valid port is 3260
# the name of the target is iqn.2003-01.com.ibm:00.fcd0ab21.shark128
# the CHAP secret is "123ismysecretpassword.fc1b"
# The target line would look like:
# 10.2.1.106 3260 iqn.2003-01.com.ibm:00.fcd0ab21.shark128 \
# "123ismysecretpassword.fc1b"
#
172.29.152.52 3260 iqn.aix
root@lb511p015_pub /etc/iscsi # cfgmgr -vl iscsi0
----------------
attempting to configure device 'iscsi0'
Time: 0 LEDS: 0x25b0
invoking /usr/lib/methods/cfgiscsi -l iscsi0
Number of running methods: 1
----------------
Completed method for: iscsi0, Elapsed time = 0
return code = 0
****************** stdout ***********
hdisk0
****************** no stderr ***********
----------------
Time: 0 LEDS: 0x539
Number of running methods: 0
----------------
attempting to configure device 'hdisk0'
Time: 0 LEDS: 0x25f3
invoking /usr/lib/methods/cfgscsidisk -l hdisk0
Number of running methods: 1
----------------
Completed method for: hdisk0, Elapsed time = 1
return code = 0
****************** no stdout ***********
****************** no stderr ***********
----------------
Time: 1 LEDS: 0x539
Number of running methods: 0
----------------
calling savebase
return code = 0
****************** no stdout ***********
****************** no stderr ***********
Configuration time: 1 seconds
root@lb511p015_pub /etc/iscsi #
root@lb511p015_pub /etc/iscsi # lsdev -Cc disk
hdisk0 Available Other iSCSI Disk Drive
hdisk1 Available Virtual SCSI Disk Drive
root@lb511p015_pub /etc/iscsi # lsattr -El hdisk0
clr_q no Device CLEARS its Queue on error True
host_addr 172.29.152.52 Hostname or IP Address False
location Location Label True
lun_id 0x0 Logical Unit Number ID False
max_transfer 0x40000 Maximum TRANSFER Size True
port_num 0xcbc PORT Number False
pvid 00f602736c1a2ad80000000000000000 Physical volume identifier False
q_err yes Use QERR bit True
q_type simple Queuing TYPE True
queue_depth 1 Queue DEPTH True
reassign_to 120 REASSIGN time out value True
rw_timeout 30 READ/WRITE time out value True
start_timeout 60 START unit time out value True
target_name iqn.aix Target NAME False
# mkvg -fy iscsivg hdisk0
# mklv -tjfs2 -y ISCSIlv iscsivg 1
# crfs -vjfs2 -Ayes -d ISCSIlv -m /iscsifs
# chfs -a size=+10G /iscsifs
# df -g /iscsifs
Filesystem GB blocks Free %Used Iused %Iused Mounted on
/dev/ISCSIlv 10.06 9.18 9% 5 1% /iscsifs
root@lb511p015_pub /etc/iscsi # lsvg
rootvg
iscsivg
root@lb511p015_pub /etc/iscsi # lsvg iscsivg
VOLUME GROUP: iscsivg VG IDENTIFIER: 00cdb51100004c000000012fa1c4fb49
VG STATE: active PP SIZE: 64 megabyte(s)
VG PERMISSION: read/write TOTAL PPs: 799 (51136 megabytes)
MAX LVs: 256 FREE PPs: 637 (40768 megabytes)
LVs: 2 USED PPs: 162 (10368 megabytes)
OPEN LVs: 2 QUORUM: 2 (Enabled)
TOTAL PVs: 1 VG DESCRIPTORS: 2
STALE PVs: 0 STALE PPs: 0
ACTIVE PVs: 1 AUTO ON: yes
MAX PPs per VG: 32512
MAX PPs per PV: 1016 MAX PVs: 32
LTG size (Dynamic): 256 kilobyte(s) AUTO SYNC: no
HOT SPARE: no BB POLICY: relocatable
root@lb511p015_pub /etc/iscsi #
root@lb511p015_pub /etc/iscsi # lsvg -p iscsivg
iscsivg:
PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION
hdisk0 active 799 637 160..00..157..160..160
root@lb511p015_pub /etc/iscsi # netstat -na | grep 3260
tcp4 0 0 172.29.144.167.33566 172.29.152.52.3260 ESTABLISHED
On the iSCSI initiator host (client).
root@lb511p015_pub /iscsifs # lmktemp bigfile 900M
bigfile
On the iSCSI target host (server).
topas_nmonD=Disk-StatsHost=l273pp043_pubRefresh=2 secs07:03.14
Network
I/F Name Recv=KB/s Trans=KB/s packin packout insize outsize Peak->Recv TransKB
en1 0.6 0.0 10.5 0.0 61.0 0.0 2.8 0.1
en0 33146.7 780.2 23031.9 11740.2 1473.7 68.1 33323.6 1505.4
lo0 0.0 0.0 0.0 0.0 0.0 0.0 0.4 0.4
Total 32.4 0.8 in Mbytes/second Overflow=0
I/F Name MTU ierror oerror collision Mbits/s Description
en1 65390 0 0 0 2047 Standard Ethernet Network Interface
en0 1500 0 0 0 2047 Standard Ethernet Network Interface
lo0 16896 0 0 0 0 Loopback Network Interface
Disk-KBytes/second-(K=1024,M=1024*1024)
Disk Busy Read Write 0----------25-----------50------------75--------100
Name KB/s KB/s | | | | |
hdisk4 0% 0 0| |
hdisk5 31% 0 32001|WWWWWWWWWWWWWWWW> |
Totals 0 32001+-----------|------------|-------------|----------+
Configuring the iSCSI software target
The iSCSI software target driver enables AIX to act as one iSCSI target device or as several iSCSI target devices. The iSCSI target driver exports local disks, logical volumes, or local files to iSCSI initiators that connect to AIX using the iSCSI protocol and TCP/IP.
Each target device has an iSCSI Qualified Name and a set of logical unit numbers (LUNs) that are available to initiators that connect to the virtual iSCSI target. For each target device, you can specify which network interface and which TCP/IP port numbers the target driver can use to accept incoming connections.
Note: You need to have the iSCSI target fileset installed. The fileset name is devices.tmiscsw.rte and the fileset is contained on the AIX Expansion pack.
To configure an iSCSI target driver, complete the following steps:
Devices > iSCSI > iSCSI Target Device > iSCSI Target Protocol Device > Add an iSCSI Target Protocol Device
Devices > iSCSI > iSCSI Target Device > iSCSI Targets > Add an iSCSI Targets
Note: The LUNs are accessible by initiators that connect to a virtual target. On the iSCSI target, each LUN can be associated with either a previously defined logical volume, with a physical volume, or with a file previously created on a local file system. Any physical volume that is associated with an iSCSI target logical unit cannot be used in any other way by the AIX system that is running the iSCSI target driver.
Devices > iSCSI > iSCSI Target Device > iSCSI Target LUNs
This step generally completes the configuration. However, if you are using Challenge Handshake Authentication Protocol (CHAP), or if you are using Access Control Lists (ACLs) to indicate which initiators can access which LUNs, an additional step is required to complete the target configuration.
target_name chap_name chap_secret
target_name|lun_name iSCSI_name, iSCSI_name,...