Table of ContentsView in Frames

Sample Configuration for Citrix XenServer

All versions of Citrix XenServer use a DM-Multipath configuration file, but there might be slight variations in the file based on which Citrix update you have installed. You can replace your current file with sample file and change the values to the ones that are appropriate for your system.

Citrix XenServer, SAN boot LUNs, and user_friendly_names parameter

You can use the sample Citrix XenServer configuration files shown here to create your own multipath.conf file.

When you create your file, keep the following in mind:

Citrix XenServer 6 series Parameter notes
Blacklist section You must provide information of your system in the blacklist section.

Any names shown in the sample files are examples and will not work with your system.

wwid <Dev ID> Use the actual device ID. Run the /sbin/scsi_id -g -u -s /block/%n command on the SCSI drive to be blacklisted.
SAN boot support SAN booting is supported only with Citrix XenServer 6 series and the FC/FCoE protocol.
SAN boot LUNs and the user_friendly_names parameter

NetApp recommends that you set the user_friendly_names parameter to no. There have been reports of problems when this parameter is set to yes.

The recommended value for the user_friendly_names parameter is no. There have been reports of problems when this parameter is set to yes.

If you create a SAN boot LUN and the installer sets the user_friendly_names parameter to yes, you must perform the following steps.

  1. Change the user_friendly_names parameter to no.
  2. Make a backup of initrd-image.
  3. Place the above multipath.conf file in the /etc directory.
  4. Run the following command:

    service multipathd reload

    multipath -v3.

    Note: multipath -ll should reflect the changes on the SAN Boot LUN as per the changed multipath.conf file.
  5. Re-create the initrd-image using the command mkinitrd.

    You could use the following command line:

    mkinitrd -f /boot/initrd-"`uname -r`".img `uname -r`

  6. Reboot the host.
Note: Currently SAN Boot LUN does not reflect queue_if_no_path feature. To overcome this limitation, perform the step mentioned below:

The following file provides an example of the values you need to supply when your host is running Citrix XenServer 6.0 with ALUA enabled.

Remember: If you use the blacklist section, you must replace the sample information with the information from your system.
defaults{
        user_friendly_names   no
        max_fds               max
        flush_on_last_del     no        
        queue_without_daemon  no
}
# All data under blacklist must be specific to your system.
blacklist {
devnode "^hd[a-z]"
wwid    "<wwid_of_the_local_disk>"
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^cciss.*"
}
devices {
    device {
       vendor                  "NETAPP"
       product                 "LUN"
       path_grouping_policy    group_by_prio
       features                "1 queue_if_no_path"
       prio_callout            "/sbin/mpath_prio_alua /dev/%n"
       path_checker            directio
       failback                immediate
       hardware_handler        "1 alua"
       rr_weight               uniform
       rr_min_io               128          
       getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
            }
}

The following file provides an example of the values you need to supply when your host is running Citrix XenServer 6.0 and ALUA is not enabled.

Remember: If you use the blacklist section, you must replace the sample information with information for your system.

defaults {
        user_friendly_names   no
        max_fds               max       
        flush_on_last_del     no
        queue_without_daemon  no
}
# All data under blacklist must be specific to your system.
blacklist {
devnode "^hd[a-z]"
wwid    "<wwid_of_the_local_disk>"
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^cciss.*"
}
devices {
    device {
       vendor                  "NETAPP"
       product                 "LUN"
       path_grouping_policy    group_by_prio
       features                "1 queue_if_no_path"
       prio callout            "/sbin/mpath_prio_ontap /dev/%n"
       path_checker            directio
       failback                immediate
       hardware_handler        "0"
       rr_weight               uniform
       rr_min_io               128          
       getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
            }
}

The following file provides an example of the values you need to supply when your host is running Citrix XenServer 6.0.2 with ALUA enabled.

defaults {
        user_friendly_names   no
        max_fds               max       
        flush_on_last_del     no
        queue_without_daemon  no
}
# All data under blacklist must be specific to your system.
blacklist {
devnode "^hd[a-z]"
wwid    "<wwid_of_the_local_disk>"
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^cciss.*"
}
devices {
    device {
       vendor                  "NETAPP"
       product                 "LUN"
       path_grouping_policy    group_by_prio
       features                "1 queue_if_no_path"
       prio callout            "/sbin/mpath_prio_alua /dev/%n"
       path_checker            tur
       failback                immediate
       hardware_handler        "1 alua"
       rr_weight               uniform
       rr_min_io               128          
       getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
            }
}

The following file provides an example of the values you need to supply when your host is running Citrix XenXerver 6.0.2 and ALUA is not enabled.

Note: Unless you are running the iSCSI protocol and Data ONTAP operating in 7-Mode, you should have ALUA enabled.
defaults {
        user_friendly_names   no
        max_fds               max       
        flush_on_last_del     no
        queue_without_daemon  no
}
# All data under blacklist must be specific to your system.
blacklist {
devnode "^hd[a-z]"
wwid    "<wwid_of_the_local_disk>"
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^cciss.*"
}
devices {
    device {
       vendor                  "NETAPP"
       product                 "LUN"
       path_grouping_policy    group_by_prio
       features                "1 queue_if_no_path"
       prio callout            "/sbin/mpath_prio_ontap /dev/%n"
       path_checker            tur
       failback                immediate
       hardware_handler        "0"
       rr_weight               uniform
       rr_min_io               128          
       getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
            }
}

The following file provides an example of the values you need to supply when your host is running Citrix XenServer 6.1 with ALUA enabled.

Note: Remember, if you use the blacklist section, you must replace the sample information with information from your system.
defaults {
        user_friendly_names   no
        queue_without_daemon  no
        flush_on_last_del     no
        max_fds               max
}
blacklist {
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_callout "/sbin/mpath_prio_alua /dev/%n"
                path_checker tur
                failback immediate
                hardware_handler "1 alua"
                rr_weight uniform
                rr_min_io   128
                getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
       }
}

The following file provides an example of the values you need to supply when your host is running Citrix XenServer 6.1 without ALUA enabled.

Note: Remember: If you use the blacklist section, you must replace the sample information with information for your system.
defaults {
        user_friendly_names   no
        queue_without_daemon  no
        flush_on_last_del     no
        max_fds               max
}
blacklist {
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_callout "/sbin/mpath_prio_ontap /dev/%n"
                path_checker tur
                failback immediate
                hardware_handler "0"
                rr_weight uniform
                rr_min_io   128
                getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
       }
}

The following file provides an example of the values you need to supply when your host is running Citrix XenServer 6.2 with ALUA enabled.

Note: Remember: If you use the blacklist section, you must replace the sample information with information from your system.
defaults {
         flush_on_last_del              no
         dev_loss_tmo                   30
         fast_io_fail_tmo               off
}
blacklist {
   wwid     device_id_of the_device_to_be_blacklisted
   devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
   devnode "^hd[a-z]"
   devnode "^cciss.*"
}
devices {
      device {
             vendor                  "NETAPP"
             product                 "LUN.*"
             prio                    "alua"
             hardware_handler        "1 alua"
        }
}

The following file provides an example of the values you need to supply when your host is running Citrix XenServer 6.2 without ALUA enabled.

defaults {
         flush_on_last_del              no
         dev_loss_tmo                   30
         fast_io_fail_tmo               off
}
blacklist {
   wwid   device_id_of the_device_to_be_blacklisted
   devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
   devnode "^hd[a-z]"
   devnode "^cciss.*"
}
devices {
      device {
             vendor                  "NETAPP"
             product                 "LUN.*"
             prio                    "ontap"
             hardware_handler         "0"

        }
}

The following file provides an example of the values you need to supply when your host is running Citrix XenServer 6.5 without ALUA enabled.

Note: If you use the blacklist section, you must replace the sample information with information from your system.
blacklist {
wwid device_id_of the_device_to_be_blacklisted
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^hd[a-z]"
devnode "^cciss.*"
}
devices {
                device {
                vendor                  "NETAPP"
                product                 "LUN.*"
                dev_loss_tmo            30
                fast_io_fail_tmo        off
                flush_on_last_del       no
        }
}