|Skip Navigation Links|
|Exit Print View|
|System Administration Guide: Devices and File Systems Oracle Solaris 10 1/13 Information Library|
This is a general list of tasks associated with configuring Solaris iSCSI target devices. Some of the tasks are optional depending on your network configuration needs. Some of the links below will take you to separate documents that describe network configuration and initiator configuration.
Review the following terminology before configuring iSCSI targets and initiators.
Dynamic device discovery – If an iSCSI node exposes many targets, such as an iSCSI to Fibre-Channel bridge, you can supply the iSCSI node IP address/port combination and allow the iSCSI initiator to use the SendTargets features to perform device discovery.
Two dynamic device discovery methods are available:
SendTargets - If an iSCSI node exposes a large number of targets, such as an iSCSI to Fibre-Channel bridge, you can supply the iSCSI node IP address/port combination and allow the iSCSI initiator to use the SendTargets features to perform the device discovery.
iSNS - iSNS (Internet Storage Name Service) allows the iSCSI initiator to discover the targets to which it has access using as little configuration information as possible. It also provides state change notification to notify the iSCSI initiator when changes in the operational state of storage nodes occur. To use the iSNS discovery method, you can supply the iSNS server address/port combination and allow the iSCSI initiator to query the iSNS servers that you specified to perform the device discovery. The default port for the iSNS server is 3205. For more information about iSNS, see RFC 4171:
The iSNS discovery service provides an administrative model to discover all targets in a network.
Static device discovery – If an iSCSI node has few targets or if you want to restrict the targets that the initiator attempts to access, you can statically configure the target-name by using the following static target address naming convention:
You can determine the static target address from the array's management tool.
Note - Do not configure an iSCSI target to be discovered by both static and dynamic device discovery methods. The consequence of using redundant discovery methods might be slow performance when the initiator is communicating with the iSCSI target device.
You can use the iscsitadm command to set up and manage your Solaris iSCSI target devices, which can be disk or tape devices. For the device that you select as your iSCSI target, you must provide an equivalently sized ZFS or UFS file system as the backing store for the iSCSI daemon.
For information about setting up a Solaris iSCSI target device with ZFS, see Using a ZFS Volume as a Solaris iSCSI Target in Oracle Solaris ZFS Administration Guide.
After the target device is set up, use the iscsiadm command to identify your iSCSI targets, which will discover and use the iSCSI target device.
The basic process is as follows:
Identify the backing store directory – For each target and logical unit that is created, the iSCSI daemon needs to store some information. By default, the backing store for this device is also located in the base directory. So, if the host system has a large ZFS pool to use, it might be easiest to allow the daemon to store everything in that location. If the backing store needs to be spread out, it's possible to specify the backing store location during the creation of each logical unit.
Create the iSCSI target – By default, the CLI assumes that the requested device type is an LBA of logical unit 0. If a pass through mode is desired for character devices, the -raw option must be used. After the creation of the first LUN, other LUNs might be created for the same iSCSI target by specifying -lun number.
The daemon starts a background task that initializes the LUN to zeros. If, during that initialization, the underlying file system becomes 100 percent full, the daemon removes the target. During this initialization, the LUN is marked as being offline and cannot be used by an initiator. During this time, however, it is possible to have an initiator discover this LUN. The Solaris initiator waits until it receives an Inventory Change notification and then automatically brings the device online.
This procedure assumes that you are logged in to the local system that contains the iSCSI targets.
target# zpool create sanpool mirror c1t2d0 c1t3d0 target# zfs create sanpool/vol1
target# iscsitadm modify admin -d /sanpool/vol1
target# iscsitadm create target --size 2g sanpool
target# iscsitadm list target -v sanpool
For more information, see How to Configure iSCSI Target Discovery.
Configure the device to be dynamically discovered (SendTargets).
initiator# iscsiadm add discovery-address 10.0.0.1:3260
Configure the device to be dynamically discovered (iSNS).
initiator# iscsiadm add iSNS-server 10.0.0.1:3205
initiator# iscsiadm add static-config eui.5000ABCD78945E2B,10.0.0.1
The iSCSI connection is not initiated until the discovery method is enabled. See the next step.
If you have configured a dynamically discovered (SendTargets) device, enable the SendTargets discovery method.
initiator# iscsiadm modify discovery --sendtargets enable
If you have configured a dynamically discovered (iSNS) device, enable the iSNS discovery method.
initiator# iscsiadm modify discovery --iSNS enable
If you have configured static targets, enable the static target discovery method.
initiator# iscsiadm modify discovery --static enable
initiator# devfsadm -i iscsi
If your network includes a third-party iSNS server or a Sun iSNS server, you can set up iSNS target discovery on your Solaris iSCSI targets.
This procedure assumes that you are logged in to the local system where you want to access a configured iSCSI target device.
initiator# iscsitadm modify admin --isns-server ip-address or hostname[:port]
Identify the ip-address of the iSNS server in your network.
This step adds the iSNS server information to all of the Solaris iSCSI targets.
initiator# iscsitadm modify admin --isns-access enable
This step enables iSNS discovery for all of the Solaris iSCSI targets.
If you want to access the iSCSI disks upon reboot, create the file system on the disk, and add an /etc/vfstab entry as you would with a UFS file system on a SCSI device. Then, create a new SMF service for mounting iSCSI disks that depends on the iSCSI initiator service. For more information, see How to Access iSCSI Disks Upon Reboot.
After the devices have been discovered by the Solaris iSCSI initiator, the login negotiation occurs automatically. The Solaris iSCSI driver determines the number of available LUNs and creates the device nodes. Then, the iSCSI devices can be treated as any other SCSI device.
You can view the iSCSI disks on the local system by using the format utility.
In the following format output, disks 2 and 3 are iSCSI LUNs that are not under MPxIO control. Disks 21 and 22 are iSCSI LUNs under MPxIO control.
initiator# format AVAILABLE DISK SELECTIONS: 0. c0t1d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424> /pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w500000e010685cf1,0 1. c0t2d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424> /pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w500000e0106e3ba1,0 2. c3t0d0 <ABCSTORAGE-100E-00-2.2 cyl 20813 alt 2 hd 16 sec 63> /firstname.lastname@example.org%3A6-8a0900-477d70401- b0fff044352423a2-hostname-020000,0 3. c3t1d0 <ABCSTORAGE-100E-00-2.2 cyl 20813 alt 2 hd 16 sec 63> /email@example.com%3A6-8a0900-3fcd70401 -085ff04434f423a2-hostname-010000,0 . . . 21. c4t60A98000686F694B2F59775733426B77d0 <ABCSTORAGE-LUN-0.2 cyl 4606 alt 2 hd 16 sec 256> /scsi_vhci/ssd@g60a98000686f694b2f59775733426b77 22. c4t60A98000686F694B2F59775733434C41d0 <ABCSTORAGE-LUN-0.2 cyl 4606 alt 2 hd 16 sec 256> /scsi_vhci/ssd@g60a98000686f694b2f59775733434c41
Follow the steps below to access iSCSI disks after the system is rebooted.
initiator# vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/dsk/c3t600144F04B555F370000093D00495B00d0s0 - /mnt ufs - no -
After removing a discovery address, iSNS server, or static configuration, or after disabling a discovery method, the associated targets are logged out. If these associated targets are still in use, for example, they have mounted file systems, the logout of these devices will fail, and they will remain on the active target list.
This optional procedure assumes that you are logged in to the local system where access to an iSCSI target device has already been configured.
If you need to disable the SendTargets discovery method, use the following command:
initiator# iscsiadm modify discovery --sendtargets disable
If you need to disable the iSNS discovery method, use the following command:
initiator# iscsiadm modify discovery --iSNS disable
initiator# iscsiadm modify discovery --static disable
Remove an iSCSI SendTargets discovery entry.
initiator# iscsiadm remove discovery-address 10.0.0.1:3260
Remove an iSCSI iSNS discovery entry.
# iscsiadm remove isns-server 10.0.0.1:3205
initiator# iscsiadm remove static-config eui.5000ABCD78945E2B,10.0.0.1
Note - If you attempt to disable or remove a discovery entry that has an associated logical unit in use, the disable or remove operation fails with the following message:
logical unit in use
If this errors occurs, stop all associated I/O on the logical unit, unmount the file systems, and so on. Then, repeat the disable or remove operation.
Remove a target by specifying the logical unit number (LUN). If you did not specify a LUN when the target was created, a value of 0 was used. LUN 0 must be the last LUN removed if multiple LUNs are associated with a target.
initiator# iscsitadm delete target --lun 0 sandbox