Configuration de l'IPMP
Contents
1 Introduction
Le multiacheminement sur réseau IP (IPMP, IP Network Multipathing) permet de détecter les défaillances des interfaces physiques et de basculer en transparence l'accès au réseau pour un système présentant plusieurs interfaces sur une même liaison IP. IPMP permet également de répartir la charge des paquets pour les systèmes dotés de plusieurs interfaces.
L'équivalent sous Linux s'appelle le bonding et sous BSD un trunk.
IPMP améliore la fiabilité, la disponibilité et les performances du réseau des systèmes dotés de plusieurs interfaces physiques. Il arrive parfois qu'une interface physique ou le matériel réseau connecté à cette interface présente une défaillance ou requière des opérations de maintenance. Habituellement, il devient alors impossible de contacter le système par le biais de toutes les adresses IP associées à l'interface défaillante. En outre, toute connexion existante vers le système utilisant ces adresses IP est perturbée.
L'utilisation d'IPMP permet de configurer une ou plusieurs interfaces physiques dans un groupe IPMP. Une fois la configuration IPMP terminée, le système contrôle automatiquement les interfaces du groupe IPMP. En cas de défaillance ou de retrait pour maintenance d'une interface du groupe, IPMP effectue une migration automatique, ou basculement, des adresses IP de l'interface. Le destinataire de ces adresses est une interface en fonctionnement au sein du groupe IPMP de l'interface défaillante. La fonction de basculement IPMP permet de conserver la connectivité et empêche toute perturbation des connexions existantes. En outre, IPMP répartit le trafic réseau sur l'ensemble des interfaces du groupe IPMP, ce qui permet d'améliorer les performances réseau globales. Ce processus est appelé répartition de charge.
2 Configuration
2.1 Prérequis
IPMP est intégré au système d'exploitation Solaris et ne requiert aucun matériel spécial. Toute interface prise en charge par le système d'exploitation Solaris peut être utilisée avec IPMP. Cependant, la configuration et la topologie de votre réseau doivent respecter les exigences suivantes relatives à IPMP :
- Toutes les interfaces d'un groupe IPMP doivent disposer d'adresses MAC uniques. Notez que par défaut, les interfaces réseau de systèmes SPARC partagent la même adresse MAC. Par conséquent, vous devez modifier explicitement l'adresse par défaut afin d'utiliser IPMP sur des systèmes SPARC.
- Toutes les interfaces d'un groupe IPMP doivent être du même type de média (Ethernet avec Ethernet, Fibre avec Fibre, mais pas de mix).
- Toutes les interfaces d'un groupe IPMP doivent se trouver sur la même liaison IP (même subnet).
- En fonction de vos exigences en matière de détection de défaillance, vous devrez soit utiliser des types spécifiques d'interfaces réseau, soit configurer des adresses IP supplémentaires sur chaque interface réseau.
2.2 /etc/hosts
Il va falloir configurer le fichier hosts afin de lui renseigner les IP des machines, des IP de tests et des vip :
/etc/hosts |
# # Internet host table # ::1 localhost 127.0.0.1 localhost 192.168.0.72 sun-node1 192.168.0.74 sun-node1-if2 192.168.0.73 sun-node1-test-e1000g0 192.168.0.77 vip1 192.168.0.78 vip2 |
2.3 /etc/netmasks
Il va maintenant falloir mettre le network et le subnet dans le fichier /etc/netmasks :
2.4 Création d'un groupe IPMP
Il va falloir créer un groupe IPMP et y insérer des cartes réseaux dedans. Si nous souhaitons maintenant avoir de la tolérance de pannes, il va falloir activer une IP de test. Cette IP ne fera donc pas partie des VIP (Virtual Private Interface). Configurez donc comme ceci :
/etc/hostname.e1000g0 |
192.168.0.72 netmask + broadcast + group ipmp0 up addif 192.168.0.73 deprecated -failover netmask + broadcast + up |
/etc/hostname.e1000g1 |
192.168.0.74 netmask + broadcast + group ipmp0 standby up |
Voici les significations :
- deprecated : Indique que l'adresse test n'est pas utilisée pour les paquets sortants.
- failover : Indique que l'adresse test ne bascule pas en cas de défaillance de l'interface.
- standby : Marque l'interface comme étant l'interface de réserve.
Redémarrer ensuite pour appliquer la conf et vérifier qu'au reboot elle est bien prise en compte.
2.5 Modifier le temps de probing
Si vous souhaitez changer l'interval de check auquel le système va détecter la déconnection d'une interface, éditez le fichier suivant :
3 Tests
Pour tester maintenant, c'est assez simple, regardez les config actuelles :
Ici on peu clairement voir les interfaces IPMP ainsi que l'interface qui est en standby et inactive.
Maintenant, si on débranche la première interface, la bascule va se faire tout seul :-) :
Là l'interface est passée en failed. Et il n'y a pas eu de coupure pendant cette période. L'interface qui est en standby n'est maintenant plus inactive. Donc maintenant c'est fonctionnel, et si on rebranche l'intercace, on repasse comme dans la configuration précédente.
4 Ressources
http://docs.sun.com/app/docs/doc/820-2982/ipmptm-1?l=fr&a=view
http://www.eng.auburn.edu/~doug/howtos/multipathing.html