Multipath (configuration)

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine SAN — fichier de configuration multipath
Fichier /etc/multipath.conf
Contexte CentOS/RHEL/OEL 4/5/6 — exemples pour baie EMC VNX/CLARiiON (ALUA)
Voir aussi Multipath · Rdac

Le contenu du fichier /etc/multipath.conf varie selon la distribution Linux et le modèle de baie de stockage. Les exemples ci-dessous concernent des baies EMC VNX/CLARiiON (vendor DGC) sous CentOS/RHEL/OEL 4, 5 et 6. Voir Multipath pour les commandes d'exploitation et de diagnostic.

Pour que l'ALUA fonctionne, le noyau doit inclure les pilotes scsi_dh_alua/scsi_dh_emc, apparus à partir de la première version stable 2.6.18-274 :

lsmod | grep alua
modprobe dm-multipath scsi_dh_alua scsi_dh_emc

RHEL 4

# Modifié via https://access.redhat.com/labs/multipathhelper/

defaults {
    user_friendly_names yes
    bindings_file /var/lib/multipath/bindings
}
devices {
    # Attributs pour les baies EMC CLARiiON et VNX
    device {
        vendor "DGC"
        product "*"
        path_grouping_policy group_by_prio
        getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
        prio_callout "/sbin/mpath_prio_emc /dev/%n"
        path_checker emc_clariion
        path_selector "round-robin 0"
        features "1 queue_if_no_path"
        no_path_retry 300
        hardware_handler "1 emc"
        failback immediate
    }
}

RHEL <= 5.3

defaults {
    user_friendly_names yes
    bindings_file /var/lib/multipath/bindings
}

devices {
    device {
        vendor "DGC"
        product ".*"
        product_blacklist "LUNZ"
        path_grouping_policy "group_by_prio"
        getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
        path_selector "round-robin 0"
        path_checker "readsector0"
        features "1 queue_if_no_path"
        hardware_handler "1 alua"
        prio_callout "/sbin/mpath_prio_alua /dev/%n"
        failback "immediate"
        rr_weight "uniform"
        no_path_retry "60"
        rr_min_io "1000"
    }
}

RHEL >= 5.4

devices {
    device {
        vendor "DGC"
        product ".*"
        product_blacklist "LUNZ"
        path_grouping_policy "group_by_prio"
        getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
        path_selector "round-robin 0"
        path_checker "emc_clariion"
        features "1 queue_if_no_path"
        hardware_handler "1 alua"
        prio_callout "/sbin/mpath_prio_alua /dev/%n"
        failback "immediate"
        rr_weight "uniform"
        no_path_retry "60"
        rr_min_io "1000"
    }
}

(section defaults identique à celle de RHEL 4 ci-dessus)

RHEL 6

defaults {
    find_multipaths yes
    user_friendly_names yes
}

devices {
    device {
        vendor "DGC"
        product ".*"
        product_blacklist "LUNZ"
        path_grouping_policy "group_by_prio"
        getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
        path_selector "round-robin 0"
        path_checker "directio"
        features "1 queue_if_no_path"
        hardware_handler "1 alua"
        prio "alua"
        failback "immediate"
        rr_weight "uniform"
        no_path_retry "60"
        rr_min_io "1000"
        rr_min_io_rq "1"
    }
}

OEL 6

blacklist {
   devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|sdd|sdg|st)[0-9]*"
   devnode "^(hd|xvd|vd)[a-z]*"
}

defaults {
    find_multipaths yes
    user_friendly_names yes
}

devices {
    # Attributs pour baies EMC CLARiiON et VNX (ALUA)
    device {
        vendor "DGC"
        product "*"
        product_blacklist "LUNZ"
        path_grouping_policy group_by_prio
        getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
        path_selector "round-robin 0"
        features "1 queue_if_no_path"
        hardware_handler "1 alua"
        prio alua
        no_path_retry 60
        failback immediate
        rr_weight uniform
        rr_min_io 1000
    }
}

Vérifier que les LUN sont en ALUA

Voir la console de diagnostic et Sg3 utils (sg_rtpg) pour valider l'état ALUA, ainsi que Systool pour interroger l'état des ports FC.

Voir aussi

  • Multipath — commandes d'exploitation, diagnostic, tuning du failover
  • Rdac — configuration équivalente pour des baies LSI/NetApp E-Series (RDAC)
  • Sg3 utils — validation ALUA bas niveau