Go to main content

Managing ZFS File Systems in Oracle® Solaris 11.4

Exit Print View

Updated: February 2021

Using a ZFS Volume as an iSCSI LUN

A ZFS volume as an iSCSI target is managed just like any other ZFS dataset, except that you cannot rename the dataset, roll back a volume snapshot, or export the pool while the ZFS volumes are shared as iSCSI LUNs. If you attempt to perform those operations, messages similar to the following are displayed:

$ zfs rename system1/volumes/v2 system1/volumes/v1
cannot rename 'system1/volumes/v2': dataset is busy
$ zpool export system1
cannot export 'system1': pool is busy

All iSCSI target configuration information is stored within the dataset. Like an NFS shared file system, an iSCSI target that is imported on a different system is shared appropriately.

The Common Multiprotocol SCSI Target (COMSTAR) software framework enables you to convert any Oracle Solaris system into a SCSI target device that can be accessed over a storage network by initiator hosts. You can create and configure a ZFS volume to be shared as an iSCSI logical unit (LUN).

How to Use a ZFS Volume as an iSCSI LUN

  1. First, install the COMSTAR package.
    $ pkg install group/feature/storage-server
  2. Create a ZFS volume to be used as an iSCSI target.

    For example:

    $ zfs create -V 2g system1/volumes/v2
  3. Create the SCSI-block-device-based LUN.

    For example:

    $ sbdadm create-lu /dev/zvol/rdsk/system1/volumes/v2
    Created the following LU:
    GUID                    DATA SIZE           SOURCE
    --------------------------------  -------------------  ----------------
    600144f000144f1dafaa4c0faff20001  2147483648           /dev/zvol/rdsk/system1/volumes/v2
    $ sbdadm list-lu
    Found 1 LU(s)
    GUID                    DATA SIZE           SOURCE
    --------------------------------  -------------------  ----------------
    600144f000144f1dafaa4c0faff20001  2147483648           /dev/zvol/rdsk/system1/volumes/v2
  4. Share LUN views to all ZFS clients. or selected ZFS clients.

    You can expose the LUN views to all ZFS clients or to a selected list of ZFS clients. In the following example, the LUN view is shared to all ZFS clients.

    1. Identify the LUN GUID.
      $ stmfadm list-lu
      LU Name: 600144F000144F1DAFAA4C0FAFF20001
    2. Share the LUN view.
      $ stmfadm add-view 600144F000144F1DAFAA4C0FAFF20001
      $ stmfadm list-view -l 600144F000144F1DAFAA4C0FAFF20001
      View Entry: 0
      Host group   : All
      Target group : All
      LUN          : 0
  5. Create the iSCSI targets.

    For information about creating the iSCSI targets, see Chapter 8, Configuring Storage Devices With COMSTAR in Managing Devices in Oracle Solaris 11.4.