21.12. Scanning iSCSI Interconnects
For iSCSI, if the targets send an iSCSI async event indicating new storage is added, then the scan is done automatically. Cisco MDS™ and EMC Celerra™ support this feature.
However, if the targets do not send an iSCSI async event, you need to manually scan them using the iscsiadm
utility. Before doing so, however, you need to first retrieve the proper --targetname
and the --portal
values. If your device model supports only a single logical unit and portal per target, use iscsiadm
to issue a sendtargets
command to the host, as in:
iscsiadm -m discovery -t sendtargets -p target_IP:port
[]
The output will appear in the following format:
target_IP:port
,target_portal_group_tag
proper_target_name
For example, on a target with a proper_target_name
of iqn.1992-08.com.netapp:sn.33615311
and a target_IP:port
of 10.15.85.19:3260
, the output may appear as:
10.15.84.19:3260,2 iqn.1992-08.com.netapp:sn.33615311
10.15.85.19:3260,3 iqn.1992-08.com.netapp:sn.33615311
In this example, the target has two portals, each using target_ip:port
s of 10.15.84.19:3260
and 10.15.85.19:3260
.
To see which iface
configuration will be used for each session, add the -P 1
option. This option will print also session information in tree format, as in:
Target: proper_target_name
Portal: target_IP:port
,target_portal_group_tag
Iface Name: iface_name
For example, with iscsiadm -m discovery -t sendtargets -p 10.15.85.19:3260 -P 1
, the output may appear as:
Target: iqn.1992-08.com.netapp:sn.33615311
Portal: 10.15.84.19:3260,2
Iface Name: iface2
Portal: 10.15.85.19:3260,3
Iface Name: iface2
This means that the target iqn.1992-08.com.netapp:sn.33615311
will use iface2
as its iface
configuration.
With some device models (e.g. from EMC and Netapp), however, a single target may have multiple logical units and/or portals. In this case, issue a sendtargets
command to the host first to find new portals on the target. Then, rescan the existing sessions using:
iscsiadm -m session --rescan
You can also rescan a specific session by specifying the session's SID
value, as in:
iscsiadm -m session -r SID
--rescan
[]
If your device supports multiple targets, you will need to issue a sendtargets
command to the hosts to find new portals for each target. Then, rescan existing sessions to discover new logical units on existing sessions (i.e. using the --rescan
option).
The sendtargets
command used to retrieve --targetname
and --portal
values overwrites the contents of the /var/lib/iscsi/nodes
database. This database will then be repopulated using the settings in /etc/iscsi/iscsid.conf
. However, this will not occur if a session is currently logged in and in use.
To safely add new targets/portals or delete old ones, use the -o new
or -o delete
options, respectively. For example, to add new targets/portals without overwriting /var/lib/iscsi/nodes
, use the following command:
iscsiadm -m discovery -t st -p target_IP
-o new
To delete /var/lib/iscsi/nodes
entries that the target did not display during discovery, use:
iscsiadm -m discovery -t st -p target_IP
-o delete
You can also perform both tasks simultaneously, as in:
iscsiadm -m discovery -t st -p target_IP
-o delete -o new
The sendtargets
command will yield the following output:
ip:port,target_portal_group_tag
proper_target_name
For example, given a device with a single target, logical unit, and portal, with equallogic-iscsi1
as your target_name
, the output should appear similar to the following:
10.16.41.155:3260,0 iqn.2001-05.com.equallogic:6-8a0900-ac3fe0101-63aff113e344a4a2-dl585-03-1
Note that
proper_target_name
and
ip:port,target_portal_group_tag
are identical to the values of the same name in
Section 21.2.1, “iSCSI API”.
At this point, you now have the proper --targetname
and --portal
values needed to manually scan for iSCSI devices. To do so, run the following command:
iscsiadm --mode node --targetname proper_target_name
--portal ip:port,target_portal_group_tag
\ --login
[]
Using our previous example (where proper_target_name
is equallogic-iscsi1
), the full command would be:
iscsiadm --mode node --targetname
\ iqn.2001-05.com.equallogic:6-8a0900-ac3fe0101-63aff113e344a4a2-dl585-03-1
\ --portal 10.16.41.155:3260,0 --login
[]