3.2. Accessing iSCSI Targets from Linux

To connect a Linux-based iSCSI initiator to iSCSI targets of Virtuozzo Infrastructure Platform working in the ALUA mode, do as follows:

  1. Make sure the required packages are installed.

    • On RPM-based systems (CentOS and other), run:

      # yum install iscsi-initiator-utils device-mapper-multipath
      
    • On DEB-based systems (Debian and Ubuntu), run:

      # apt-get install open-iscsi multipath-tools
      
  2. Create and edit the configuration file /etc/multipath.conf as follows:

    ...
    defaults {
             user_friendly_names no
             path_grouping_policy group_by_prio
             failback immediate
             flush_on_last_del yes
    }
    devices {
         device {
             vendor "VSTORAGE"
             features "3 queue_if_no_path pg_init_retries 50"
             hardware_handler "1 alua"
             path_grouping_policy group_by_name
             path_selector "queue-length 0"
             failback followover
             path_checker tur
             prio alua
         }
    }
    ...
    
  3. Load the kernel module and launch the multipathing service.

    # modprobe dm-multipath
    # systemctl start multipathd; systemctl enable multipathd
    
  4. If necessary, enable CHAP parameters node.session.auth.* and discovery.sendtargets.auth.* in /etc/iscsi/iscsid.conf.

  5. Launch the iSCSI services:

    # systemctl start iscsi iscsid
    # systemctl enable iscsi iscsid
    
  6. Discover all targets by their IP addresses. For example:

    # iscsiadm -m discovery -t st -p 10.94.91.49 10.94.91.49 3260,1 \
    iqn.2014-06.com.vstorage:target1
    # iscsiadm -m discovery -t st -p 10.94.91.54 10.94.91.54:3260,1 \
    iqn.2014-06.com.vstorage:target2
    # iscsiadm -m discovery -t st -p 10.94.91.55 10.94.91.55:3260,1 \
    iqn.2014-06.com.vstorage:target3
    
  7. Log in to the discovered targets. For example:

    # iscsiadm -m node -T iqn.2014-06.com.vstorage:target1 -l
    # iscsiadm -m node -T iqn.2014-06.com.vstorage:target2 -l
    # iscsiadm -m node -T iqn.2014-06.com.vstorage:target3 -l
    
  8. Find out the multipath device ID. For example:

    # multipath -ll
    360000000000000000000b50326ea44e3 dm-10 VSTORAGE,VSTOR-DISK
    size=200G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw
    |-+- policy='queue-length 0' prio=50 status=active
    | `- 6:0:0:1 sdf 8:80  active ready running
    |-+- policy='queue-length 0' prio=1 status=enabled
    | `- 8:0:0:1 sdj 8:144 active ghost running
    `-+- policy='queue-length 0' prio=1 status=enabled
      `- 7:0:0:1 sdh 8:112 active ghost running
    # fdisk -l | grep 360000000000000000000b50326ea44e3
    Disk /dev/mapper/360000000000000000000b50326ea44e3: 10.7 GB, 10737418240 bytes, \
    20971520 sectors
    

    You can also find out the multipath device ID by adding 360000000000000000000 to the last six bytes of the volume ID. In the example above, 360000000000000000000b50326ea44e3 is the multipath device ID mapped from the volume ID 61c9d567-4666-4c16-8030-b50326ea44e3.

Now you can create partitions on the iSCSI device (/dev/mapper/360000000000000000000b50326ea44e3 in this example) as well as format and mount it to your initiator node using standard Linux tools.

When you no longer need the external iSCSI device, you can remove it from the initiator node as follows:

  1. Make sure the iSCSI device is not in use.

  2. Disable multipathing to the device. For example:

    # multipath -f /dev/mapper/360000000000000000000b50326ea44e3
    
  3. Log out of the iSCSI targets. For example:

    # iscsiadm -m node -T iqn.2014-06.com.vstorage:target1 -p 10.94.91.49:3260 -u
    # iscsiadm -m node -T iqn.2014-06.com.vstorage:target2 -p 10.94.91.54:3260 -u
    # iscsiadm -m node -T iqn.2014-06.com.vstorage:target3 -p 10.94.91.55:3260 -u
    
  4. Delete the iSCSI targets. For example:

    # iscsiadm -m node -o delete -T iqn.2014-06.com.vstorage:target1 -p 10.94.91.49:3260
    # iscsiadm -m node -o delete -T iqn.2014-06.com.vstorage:target2 -p 10.94.91.54:3260
    # iscsiadm -m node -o delete -T iqn.2014-06.com.vstorage:target3 -p 10.94.91.55:3260