Link aggregation

L’agrégat de lien est une notion essentielle dans un environnement complexe nécessitant de très hauts débits et de la redondance.

Que permet-il ?

L’agrégat de liens, comme son nom l’indique, permet de regrouper plusieurs liens afin de les assembler virtuellement. Admettons que vous ayez un serveur avec 2 liaison gigabit mais qu’une seule soit utilisée. Vous perdez déjà 1 gbit, et parfois, notamment pour un serveur de fichiers, la bande passante sature ! L’agrégat de lien vous permettra de regrouper les 2 liens physiques en un seul et au résultat vous aurez une liaison 2 gbits sur une seule carte réseau virtuelle.

Comment le mettre en oeuvre ?

Au niveau de votre OS, il faut avoir plusieurs cartes réseau professionnelles comme des cartes Broadcom.

Chez Broadcom, utilisez leur manager dédié et créez une TEAM afin de faire l’agrégat de plusieurs cartes.

ATTENTION ! La première carte de la team donnera généralement son adresse MAC à l’agrégat, donc faites attention à vos logiciels sous licences qui contrôlent celle-ci !

Passons maintenant au niveau CISCO.

Pour créer un aggrégat de lien vous devez créer une entité virtuelle nommée le port-channel. Le nombre de port-channel est limité par votre switch ou coeur de réseau et ils ont un nombre limité de ports physiques qu’ils peuvent agréger. (en général 4 ou 8).

conf t
int port-channel 1

Vous voilà dans l’interface port-channel. Pour la configurer, tapez tout d’abord switchport afin d’activer le management de l’agrégat puis tapez vos commandes classiques de configuration (mode access, trunk… encapsulation, etc…).

Pour ajouter des ports physiques à l’aggrégat, allez dans votre lien physique et tapez

channel-group 1 mode active

Votre port est donc ajouté à l’agrégat. Pensez également à bien vérifier que la configuration d’accès des ports physiques et logiques sont identiques, sinon vous risquez d’avoir des conflits.

Afin de vérifier le statut de votre port-channel voici une commande très utile :

core#show etherchannel 1 detail
Group state = L2
Ports: 2   Maxports = 8
Port-channels: 1 Max Port-channels = 1
Protocol:    -
Minimum Links: 0
                Ports in the group:
                -------------------
Port: Gi3/6
------------

Port state    = Up Mstr In-Bndl
Channel group = 1           Mode = On              Gcchange = -
Port-channel  = Po1         GC   =   -             Pseudo port-channel = Po1
Port index    = 0           Load = 0x00            Protocol =    -

Age of the port in the current state: 94d:12h:58m:28s

Port: Gi4/6
------------

Port state    = Up Mstr In-Bndl
Channel group = 1           Mode = On              Gcchange = -
Port-channel  = Po1         GC   =   -             Pseudo port-channel = Po1
Port index    = 1           Load = 0x00            Protocol =    -

Age of the port in the current state: 94d:13h:12m:37s

                Port-channels in the group:
                ---------------------------

Port-channel: Po1
------------

Age of the Port-channel   = 94d:13h:13m:00s
Logical slot/port   = 11/1          Number of ports = 2
GC                  = 0x00000000
Port state          = Port-channel Ag-Inuse
Protocol            =    -
Port security       = Disabled

Ports in the Port-channel:

Index   Load   Port     EC state        No of bits
------+------+------+------------------+-----------
  0     00     Gi3/6    On                 0
  1     00     Gi4/6    On                 0

Time since last port bundled:    94d:12h:58m:31s    Gi3/6
Time since last port Un-bundled: 94d:12h:58m:38s    Gi3/6

Vous voyez ici les ports appartenant à l’agrégat, depuis combien de temps ils sont en ligne et leur statut.

Autre commande utile, le summary

core#sh etherch 1 sum
Flags:  D - down        P - bundled in port-channel
        I - stand-alone s - suspended
        R - Layer3      S - Layer2
        U - in use      f - failed to allocate aggregator

        M - not in use, minimum links not met
        u - unsuitable for bundling
        w - waiting to be aggregated
        d - default port

Number of channel-groups in use: 11
Number of aggregators:           11

Group  Port-channel  Protocol    Ports
------+-------------+-----------+-----------------------------------------------
1      Po1(SU)          -        Gi3/6(P)    Gi4/6(P)

Ceci permet de voir l’état de l’agrégat. Ici tout se passe bien, le Po1 est en mode U, donc il est en ligne et fonctionnel.