Présentation des chemins multiples
Un chemin est une connexion entre un serveur et le stockage sous-jacent. Le chemin peut être coupé pour de nombreuses raisons telles qu'un HBA défectueux, un câble défectueux, etc. Pour éviter un tel point de défaillance unique, il existe des chemins multiples. Le multipathing garantit que le système utilise plusieurs chemins physiques pour fournir une redondance et un débit accru. Il existe de nombreuses implémentations de multipathing spécifiques aux fournisseurs, telles que powerpath d'EMC et Symantecs VxDMP.
Qu'est-ce que le multichemin Device Mapper ?
Device Mapper Multipathing (ou DM-multipathing) est un outil multipath natif de Linux, qui vous permet de configurer plusieurs chemins d'E/S entre les nœuds de serveur et les baies de stockage dans un seul périphérique. Ces chemins d'E/S sont des connexions SAN physiques qui peuvent inclure des câbles, des commutateurs et des contrôleurs distincts. Le multipathing agrège les chemins d'E/S, créant un nouveau périphérique composé des chemins agrégés. Quel que soit le matériel du fournisseur utilisé, le mappeur de périphérique crée un périphérique de bloc sous /dev/mapper/ pour chaque LUN attaché au système.
Composants du mappeur d'appareils
Les composants importants du multipathing de Device Mapper sont :
Composant | Description |
---|---|
dm-multipath | module noyau chargé de prendre des décisions de routage dans des conditions normales/de panne |
multichemin | Commande utilisée pour afficher/lister les périphériques multivoies et pour la configuration initiale |
multipathd | démon qui surveille le chemin, marque les chemins défaillants, réactive les chemins restaurés, ajoute/supprime les fichiers de périphérique selon les besoins. |
kpartx | commande utilisée pour créer des entrées de mappeur de périphérique pour les partitions sur un LUN à chemins multiples. Il est invoqué automatiquement lorsque la commande multipath est utilisée. |
Comment vérifier si DMMP est installé et configuré
# rpm -qa |grep device-mapper device-mapper-1.02.39-1.el5 device-mapper-multipath-0.4.7-34.el5 device-mapper-1.02.39-1.el5 device-mapper-event-1.02.39-1.el5
# lsmod |grep dm_multipath dm_multipath 56921 2 dm_round_robin scsi_dh 42177 2 scsi_dh_rdac,dm_multipath dm_mod 101649 11 dm_mirror,dm_multipath,dm_raid45,dm_log
# This is a basic configuration file with some examples, for device mapper multipath ...... # Blacklist all devices by default. Remove this to enable multipathing # on the default devices. #blacklist { # devnode "*" #} ......
# /etc/init.d/multipathd status "multipathd (pid 11405) is running..."
# multipath -v2 or # multipath -ll mpath15 (3600a0b8000473abc0000bafc52fac127) dm-14 SUN,STK6580_6780 [size=10G][features=0][hwhandler=0][rw] _ round-robin 0 [prio=1][enabled] _ 8:0:0:2 sds 65:32 [active][ready] _ round-robin 0 [prio=0][enabled] _ 9:0:0:2 sdu 65:64 [active][faulty] mpath13 (3600a0b8000473abc0000bb74530aa7da) dm-12 SUN,STK6580_6780 [size=931G][features=0][hwhandler=0][rw] _ round-robin 0 [prio=1][enabled] _ 9:0:0:0 sdp 8:240 [active][ready] _ round-robin 0 [prio=0][enabled] _ 8:0:0:0 sdo 8:224 [active][faulty]
Si toutes les étapes ci-dessus réussissent, le système est configuré pour DMMP.
Configuration multivoie
Avant de commencer à configurer le multipathing, assurez-vous que le device-mapper-multipath le paquet est installé. S'il n'est pas installé, installez-le en utilisant yum :
# yum -y install device-mapper-multipath
Le mappeur de périphériques multipathing utilise le fichier de configuration /etc/multipath.conf pour la configuration. Si vous apportez des modifications à ce fichier, le multipath La commande doit être exécutée pour reconfigurer les périphériques à chemins multiples. Le moyen le plus simple de créer ce fichier est d'utiliser le mpathconf utilitaire. S'il existe un fichier de configuration existant, mpathconf le modifiera, si aucun fichier de ce type n'existe, il copiera /usr/share/doc/device-mapper-multipath-*/multipath.conf .
# mpathconf --enable --with_multipathd y --with_chkconfig y
Le fichier de configuration se compose de 5 sections principales comme ci-dessous :
Section | Description |
---|---|
valeurs par défaut | configuration par défaut au niveau du système |
liste noire | Appareils sur liste noire. Appareils qui ne doivent pas être configurés sous DMMP |
blacklist_exceptions | Exceptions aux appareils sur liste noire |
appareils | paramètres pour les périphériques de contrôleur de stockage individuels |
multichemins | affiner la configuration des LUN individuels |
Vérification de la configuration
Le multichemin La commande peut être utilisée pour vérifier la configuration multipathinf. Pour lister les informations sur les périphériques multipath :
# multipath -ll mpath0 (3600a0b8000473abc0000bafc52fac127) dm-14 SUN,STK6580_6780 [size=10G][features=0][hwhandler=0][rw] _ round-robin 0 [prio=1][enabled] _ 8:0:0:2 sds 65:32 [active][ready] _ round-robin 0 [prio=0][enabled] _ 9:0:0:2 sdu 65:64 [active][faulty]
La sortie montre un LUN à chemins multiples, mpath0 . Le numéro qui le suit est le WID du LUN . Le statut actif/prêt indique que le chemin est prêt pour les E/S. Si le chemin indique défectueux/échoué il doit alors être réparé avant de l'utiliser pour les E/S. Une fois la configuration terminée, nous pouvons démarrer le multipathd de manière persistante :
# /etc/init.d/multipathd start # chkconfig multipathd on
Noms d'appareils conviviaux
Afin de dépanner efficacement, device-mapper peut être configuré pour avoir des noms de périphériques lisibles et conviviaux sous /dev/mapper au lieu d'utiliser les WWID. Les noms conviviaux comme /dev/mapper/mpath0 peut être créé en activant les user_friendly_names option dans le fichier /etc/multipath.conf :
defaults { user_friendly_names yes }
Vous pouvez également contrôler le nom d'un LUN particulier en utilisant l'option alias :
multipaths { multipath { wwid 3600a0b8000473abc0000bafc52fac127 alias mdisk001 } }
Suppression des chemins multiples
Après avoir supprimé tous les chemins d'un périphérique multichemin, exécutez la commande ci-dessous pour supprimer complètement le périphérique multichemin :
# multipath -f [device]
Pour vider tous les périphériques multipath après avoir arrêté le démon multipahtd :
# multipath -F