Le multipath est une technique de tolérance aux pannes qui vise généralement à sauvegarder la connexion des serveurs physiques avec du stockage. Lorsque les câbles à fibre optique sont endommagés, il est important que le serveur ne perde pas l'accès au stockage et maintienne l'accessibilité. C'est pourquoi des systèmes tels que les banques et les sites de commerce électronique mondiaux utilisent les chemins multiples.

Voici tout ce que vous devez savoir sur le multipath sous Linux.

Identifiants pour les périphériques multivoies sur les serveurs

Pour les chemins multiples, il est également nécessaire de parcourir les périphériques multichemins. Si vous avez déjà entendu parler du WWID (Identifiant mondial) concept avant, cela ne vous semblera pas trop étranger.

Par défaut, les noms des périphériques multivoies sont définis sur leur WWID. Il s'agit d'un système qui garantit que le périphérique multivoie est globalement unique et immuable. Vous pouvez définir la dénomination par défaut ici avec quelques manipulations sur le fichier de configuration multipath en modifiant le

user_friendly_names paramètre.

À titre d'exemple, vous pouvez y penser comme ceci. Imaginez que vous avez des périphériques de stockage connectés à votre serveur tels que :

  • /dev/sda
  • /dev/sdb
  • /dev/sdc
  • /dev/sdd

Si la user_friendly_names l'option est définie sur "oui" à ce stade, les noms de périphérique changeront.

chat /etc/multipath.conf

# Production
par défaut {
user_friendly_names oui
}

Si vous avez un serveur Ubuntu qui utilise technologies de virtualisation, vous pouvez obtenir le résultat suivant. Ce que vous devez retenir ici, c'est que l'appareil que vous souhaitez contrôler doit être un appareil physique.

Après avoir défini le user_friendly_names possibilité de oui dans le fichier de configuration, vous pouvez vérifier le nom de l'appareil comme suit :

sudo fdisk -l

Procédure pour des noms de périphérique multichemin cohérents

Le nom attribué aux périphériques multivoies par cette procédure sera unique à un nœud. Il n'est pas possible d'affirmer qu'elle s'applique à tous les nœuds. Si vous voulez des périphériques multivoies cohérents sur tous les nœuds, définissez le user_friendly_names possibilité de "non". Vous réduirez ainsi les problèmes, car les appareils n'auront plus de nom unique et utiliseront à la place WWID.

Cependant, dans d'autres circonstances, vous souhaiterez peut-être concevoir des nœuds à la fois cohérents et plus faciles à atteindre et à utiliser.

Dans ce cas, vous devez d'abord installer tous les périphériques multivoies sur une seule machine. Vous devez également désactiver tous les périphériques multivoies sur d'autres machines après cette étape. Vous pouvez exécuter les commandes suivantes pour cela :

sudosystemctlarrêtoutils multipath.service
sudo multichemin -F

Avec ces commandes, vous arrêterez respectivement le service multipath et effacerez toutes les cartes de périphériques multipath. Maintenant, devenez un utilisateur root et copiez le reliures fichier situé dans le /etc/multipath répertoire vers d'autres machines.

À ce stade, vous utiliserez le processus démons de Linux. Après toutes ces étapes, vous devez exécuter le multivoies démon à nouveau :

sudosystemctldébutoutils multipath.service

Présentation des fonctionnalités générales des périphériques multivoies

Les fonctionnalités et les paramètres de configuration des périphériques multivoies ne se limitent pas à user_friendly_names. Vous trouverez ci-dessous des informations sur d'autres configurations que vous pouvez effectuer dans le /etc/mutipath.conf dossier:

  • liste noire { } : Si vous souhaitez spécifier les périphériques à exclure du multipath, vous pouvez écrire leurs noms entre les deux accolades.
    liste noire {
    devnode "^sda"
    }
  • dispositifs { }: Entre ces deux accolades, vous pouvez mettre quelques détails pour des appareils spécifiques.
    dispositifs {
    vendeur "Dell"
    produit "MD32xx"
    }
  • multichemin { } : Dans ce champ, vous pouvez définir les attributs de périphériques multivoies spécifiques. Comme pour les autres attributs, le multipath possède également de nombreux sous-attributs différents.
    trajets multiples {
    wwid 3500405b170164c3911244b325426400b
    alias jaune
    manuel de rétablissement
    }
  • blacklist_exceptions { } : Ce champ est destiné aux appareils qui figurent sur la liste noire mais pour lesquels vous souhaitez activer le multichemin. Au lieu de mettre tous les appareils sur liste noire un par un, vous pouvez tous les mettre sur liste noire et spécifier ceux que vous souhaitez utiliser plus tard dans ce champ.
    liste_noire_exceptions {
    wwid "3500405b170164c3911244b325426400b"
    }

Bien sûr, tous les attributs ne sont pas limités à ceux-ci, et chaque attribut a ses propres sous-qualités. De plus, vous pouvez les utiliser en tandem les uns avec les autres. Vous trouverez ci-dessous un exemple de fichier de configuration à examiner :

par défaut {
user_friendly_names non
}
liste noire {
devnode "^sda"
}
liste_noire_exceptions {
devnode "sda|sdb"
dispositif {
vendeur "Dell"
produit "MD32xx"
}
}
dispositifs {
dispositif {
vendeur "CV"
produit "A6189A"
}
}
trajets multiples {
trajets multiples {
wwid 3500405b170164c3911244b325426400b
alias rouge
}
}

Logique dans les périphériques multivoies

Vous pouvez considérer les périphériques multivoies comme des unités physiques. Par exemple, laissez /dev/mapper/mpatha être le nom d'un périphérique multi-accès. Cet appareil agira comme une unité physique. Lorsque vous créez un LVM (Gestion des volumes logiques), vous devrez également modifier le /etc/lvm.conf dossier.

Avec les configurations que vous faites ici, vous devrez filtrer les disques sous les périphériques multipath. Si vous ne le faites pas, LVM analysera le chemin passif et les chemins multiples recommenceront à fonctionner, car le chemin actif peut automatiquement passer au chemin passif.

Pour éviter cela, vous pouvez faire la manipulation suivante sur le /etc/lvm.conf dossier:

filtre = [ "a/boucle.*/", "r/.*/" ]

Cette commande ajoutera des boucles et supprimera tous les appareils. Cependant, le processus ne s'arrête pas là. Après avoir effectué ce changement dans /etc/lvm.conf, enregistrez le fichier et mettez également à jour le fichier initrd. initrd permet d'effectuer quelques manipulations sur le disque RAM. La raison pour laquelle vous apportez des modifications ici est de les copier au démarrage.

mettre à jour-initramfs -u -k tout

Chaque fois que le lvm.conf et multipath.conf fichiers sont mis à jour, il est nécessaire d'effectuer cette mise à jour sur initramfs. C'est ainsi que vous obtenez un serveur stable et durable. N'oubliez pas non plus la mise à jour d'initramfs, surtout si vous avez modifié les attributs de liste noire et de filtre.

Importance d'un système à trajets multiples

Dans les environnements à chemins multiples, les serveurs peuvent continuer à accéder aux disques même si l'un des composants (HBA, SAN, contrôleur de stockage) qu'ils utilisent tombe en panne. C'est une question qui intéresse particulièrement les administrateurs système et serveur.

C'est très important pour les serveurs à fort trafic qui contiennent des informations importantes, où les protocoles de sécurité doivent être élevés. Parce que si le serveur d'un site Web avec des milliers d'informations de carte de crédit ou des centaines de milliers de clients enregistrés est inaccessible car un seul composant a mal fonctionné, ce serait un énorme problème.

Il est nécessaire de maîtriser le détail de toutes ces opérations et les sous-attributs des attributs dans le fichier de configuration. En effet, faire des configurations de serveur comporte toujours un risque. Pour ce type d'opération, il est logique de tout sauvegarder ou de faire des tests sur un serveur de test.

Si vous n'avez pas de serveur pour tester tout cela, l'installation d'Ubuntu Server est le choix optimal et est également assez simple.