Skip navigation.
Home
Making Linux InterOperable with NetApp

Debian iSCSI setup guide for NetApp Storage Controller

 Debian Squeeze iSCSI HOWTO for NetApp Storage Controller

 

This guide is for experienced Debian Linux users and provides basic information required to setup and configure a Debian Linux Host to work with NetApp Controller over iSCSI protocol. If you are not an experienced Linux user, refer to the Debian Linux Installation and Setup Guide. This document can also be applied to other SAN topics like FC, FCoE, DM-MP, SAN Boot et cetera, as well as basic troubleshooting information.

 

Issues, Feedback, Comments, Suggestions: Reach us on the Web Forum or the Mailing List.

For information on installing and setting up third-party hardware and applications such as HBAs or Veritas Storage Foundation, see the documentation that accompanies that product.

 

Tasks for quickly installing and setting up the Debian host with NetApp Storage Controller

 

Task 1: Make sure the prerequisites for installing and setting up the Debian Operating System have been met. Check the Debian Installation Guide to ensure that your system is correct including:

 

·      Host Operating System version, technology levels and appropriate package update.

 

Setup Debian APT repository. Example:

cat /etc/apt/sources.list

deb http://security.debian.org/ squeeze/updates main contrib non-free

deb http://ftp.debian.org/debian squeeze main contrib non-free

 

·      Device Drivers or Software Initiators, Model and Versions.

 

Install the iSCSI initiator package.

aptitude install open-iscsi

 

·      Volume Management and Device Mapper Multipathing (dm-mp).

 

If you intend to use Volume Management and/or DM-MP, install the following packages.

aptitude install lvm2 multipath-tools


Task 2: Verify that your storage system is correctly set up, including:

 

·      The correct version of Data ONTAP is installed

·      The protocol your environment uses is running and licenses.

·      The appropriate HBAs or Software Initiators are set up to work with the host as needed by your protocol

·      (FC active/active environments only) ALUA is enabled if you are using the FC protocol and a version of Data ONTAP that supports it.

o  Additional ALUA setup: With Data ONTAP 8.0 or later, ALUA is enabled by default when you create an igroup in an FC environment. Earlier versions of Data ONTAP supporting ALUA require that you manually enable it.

o  Note: ALUA is not supported with iSCSI

·      Working volumes and qtrees (if desired) are set up.

 

Note: For information about supported topologies, see the Fibre Channel and iSCSI Configuration Guide for your version of Data ONTAP, which is available online at http://now.netapp.com/NOW/knowledge/docs/san/fcp_iscsi_config/

 

 

Task 3: Configuring your iSCSI Environment

 

If you are using iSCSI, you should make sure your system is correctly set up for this protocol. Some of the tasks you perform differ based on whether you have a software iSCSI initiator or a hardware iSCSI HBA, both on the Storage Controller and the Host.

 

Keep the following points in mind as you set up the software iSCSI on the Host.

·      The iSCSI configuration files are located in the /etc/iscsi folder. 

·      NetApp recommends a replacement timeout of 5 seconds so that path failover can reflect quick.

 

Edit /etc/iscsi/iscsid.conf and set node.session.timeo.replacement_timeout = 5

 

  • Enable automatic login to make all initiators log in into the target on iscsid service start-up. Please note that you need to follow this step before discovering any targets.

 

Edit  /etc/iscsi/iscsid.conf and set node.startup = automatic

 

·      Restart the iscsid daemon to apply the settings.

·      To discover iSCSI targets from the SAN storage controller, type

 

iscsiadm --mode discovery --op update --type sendtargets –portal targetIP

 

When you execute the above command, the host discovers the target specified by the targetIP. You can have multiple targets discovered using the same command. The discovery operation will discover your secondary network segment enabled for a particular target.

·      Login to the target to discover associated devices for your initiator's igroup

 

iscsiadm --mode node -l all

 

·      To list all your active iSCSI sessions, type:

 

iscsiadm --mode session

 

Example:  The following is a sample of the output this command produces:

 

tcp [022e71] 10.72.200.37:3260,1000 iqn.1992-08.com.netapp:sn.101176399 022e71 is the record ID. Create iscsi session using iscsiadm –m discovery –t st –p (taget IP)

 

 

Task 4: Configuring your DM-Multipath (DM-MP)

 

Overview of DM-Multipath: Device Mapper Multipathing (DM-Multipath) allows you to configure multiple I/O paths between server nodes and storage arrays into a single device. These I/O paths are physical SAN connections that can include separate cables, switches, and controllers. Multipathing aggregates the I/O paths, creating a new device that consists of the aggregated paths.

 

DM-Multipath can be used to provide:

  • Redundancy: DM-Multipath can provide failover in an active/passive configuration. In an active/passive configuration, only half the paths are used at any time for I/O. If any element of an I/O path (the cable, switch, or controller) fails, DM-Multipath switches to an alternate path.
  • Improved Performance: DM-Multipath can be configured in active/active mode, where I/O is spread over the paths in a round-robin fashion. In some configurations, DM-Multipath can detect loading on the I/O paths and dynamically re-balance the load.

 

For more details about Device Mapper Multipathing, please refer to http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/DM_Multipath/MPIO_Overview.html

 

Recommended Multipath (DM-MP) configuration for use with a NetApp Storage Controller:

 

Contents of  /etc/multipath.conf is:

 defaults {

    user_friendly_names no

    max_fds max

    flush_on_last_del yes

   queue_without_daemon no

}

blacklist {

    wwid

    devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"

    devnode "^hd[a-z]"

   devnode "^cciss.*"

}

devices {

    device {

        vendor "NETAPP"

        product "LUN"

       path_grouping_policy group_by_prio

        features "1 queue_if_no_path"

        prio "ontap"

        path_checker directio

        failback immediate

        path_selector "round-robin 0"

        hardware_handler "0"

        rr_weight uniform

       product "LUN"

       rr_min_io 128

      getuid_callout "/lib/udev/scsi_id -g -u -d /dev/%n"

    }

}

 

After creating the config file in /etc/multipath.conf, ensure that you restart your multipathd daemon for the multipath settings to be effective. Also ensure to run multipath –v3 to have the changes effective on the multipath maps that have already been mapped to the host.

 

 Once multipath is configured successfully, map few LUNs to iSCSI host and create PV, VG and LV’s.

 Sample multipath –ll is like:

 

360a9800050334c4f4734645133525369 dm-3 NETAPP,LUN

size=2.0G features='1 queue_if_no_path' hwhandler='0' wp=rw

`-+- policy='round-robin 0' prio=4 status=active

  |- 6:0:0:11 sdax 67:16  active ready running

  `- 3:0:0:11 sdm  8:192  active ready running

0