Multipath & Lun

De BlaxWiki
Révision datée du 3 décembre 2012 à 18:35 par Admin (discussion | contributions) (a déplacé Multipath vers Multipath & Fibre)
Aller à la navigationAller à la recherche

On va ici configurer le multipath pour un serveur linux connecté à un switch fibre, qui est lui même connecté aux 2 controleurs du Netapp. Le serveur a une carte fibre de type HBA.

Configuration du multipath

Installer le logiciel device-mapper-multipath ou similaire, démarrer le démon, et charger le modules.

Installez l'utilitaire de la carte fibre sur le serveur, une fois ceci fait. Les commandes diffères pour chaque carte hba, mais elles sont relativement simples. Il peut etre utile de désactiver le module de la carte fibre (modprobe -r nomdumoduledela carte) puis de le réactiver (modrobe nomdumoduledela carte); dans le dmesg on doit voir les ports de la carte passer en disabled.

Démarrez-le et relevez pour configurer chaque zone :

 * Le WWPN ('''W'''orld '''W'''ild '''P'''ort '''N'''ame) du connecteur, commençant généralement par 10:00:00.
 * Le WWN ('''W'''orld '''W'''ild '''N'''ame) du connecteur, commençant généralement par 20:00:00.

Il sera aussi nécessaire de configurer le multipath sous le serveur afin de ne voir qu'un seul chemin dans le cas où l'on a 2 fibres et donc 2 chemins qui partent vers le SAN.

Avant de configurer le multipath il faut s'assurer que multipathd est démarré (et qu'il se lancera au démarrage) et que le module dm_multipath soit chargé (depmod && modprobe dm_multipath).

Le wwwid qui est dans la partie multipaths correspond à ce que ressort un multipath -l, en l'occurence 20016971202cb0005, si il n y a pas d'alias (ici VM), le wwwid est indiqué en premier sur la premiere ligne. Nec correspond au vendor, et iStorage 1000 au product.

Si le multipath -l ne retourne aucune informations (ni message d erreur ou autres), il faut juste executer multipath, et cela va creer le wwwid et l afficher.

[root@~]# multipath -l
VM (20016971202cb0005) dm-0 NEC,iStorage 1000


/etc/multipath.conf

Doc Multipath (pris ici)

blacklist {
devnode "sda"   # ici le disque local que j'exclue, à adapter suivant les disques locaux présents sur le serveur
}

defaults {
        udev_dir                /dev
        polling_interval        5
        path_selector           "round-robin 0"
        path_grouping_policy    failover
        #getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
        #getuid_callout         "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
        prio                    const
        #path_checker           readsector0
        rr_min_io               100
        rr_weight               uniform
        #max_fds                        8192
        failback                immediate
        no_path_retry           fail
        user_friendly_names     no
}
devices {
        device {
                vendor                  "NEC"
                product                 "iStorage 1000"
                path_grouping_policy    failover
                path_checker            tur
                failback                immediate
        }
}

multipaths {
        multipath {
        wwid                    20016971202cb0005 # A adapter suivant ce que retourne l utilitaire hba sur le serveur
        alias                   VM
        }
}

Montage des disques

 - /etc/init.d/multipath restart => Prise en compte des alias créés dans le fichier de configuration
 - Les alias doivent apparaître dans le répertoire /dev/mapper/
 - Faire un fdisk sur chaque /dev/mapper/ALIAS
 - Faire un mkfs sur chaque /dev/mapper/ALIAS

[root@~]# ll /dev/mapper/
total 0
crw-rw---- 1 root root 10, 58 Dec 16  2011 control
lrwxrwxrwx 1 root root      7 Dec 16 12:38 lunkvm2 -> ../dm-0
lrwxrwxrwx 1 root root      7 Dec 16 12:38 lunkvm2p1 -> ../dm-1

lunkvm2 correspond à notre alias définit dans le multipath.conf (c est en quelque sorte sda) et lunkvm2p1 correspond à la premiere partition de lunkvm2 qui a été créé en faisant un 
fdisk /dev/mapper/lunkvm2 (c est comme sda1). Apres la création de la partition avec fdisk, si dans /dev/mapper on a tj uniquement l alias et pas la partition (donc que lunkvm2 et pas 
lunkvm2p1), il faut faire un /etc/init.d/multipathd restart

Modifier le fichier /etc/fstab puis monter les partitions comme une partition classique en mettant /dev/mapper/lunkvm2p1