Supprimer l'Infiniband sur un système de fichier Lustre existant

Rédigé par Nicolas Sulek Aucun commentaire
Classé dans : Système Mots clés : Lustre
Le système de fichier Lustre que nous utilisons pour la plate-forme de Calcul Haute Performance PlaFRIM est composé de 4 serveurs :
  • 2 ayant les rôles de Management Server et de Metadata Server (mds21 et mds22)
  • 2 ayant les rôles d'Object Storage Server (oss21 et oss22).
Pour une explication sur les rôles : https://build.hpdd.intel.com/job/lustre-manual/lastSuccessfulBuild/artifact/lustre_manual.xhtml#idp690336.
Ces serveurs sont accessibles à la fois en Infiniband et en Ethernet 10G.

Pour des raisons pratiques, nous avons souhaité supprimer l'Infiniband pour ne laisser activé que l'Ethernet.
Avant tout changement, il faut arrêter les services Lustre et démonter le système de fichier sur les clients et les serveurs.

Cas des Serveurs MDS

mds21 est le serveur actif, mds22 est le serveur de secours.
Ils se partagent le Metadata Target par l'intermédiaire d'un périphérique DRBD.

On peut visualiser la configuration actuelle avec tunefs.lustre --verbose /dev/drbd1 :
Target:     lustre2-MDT0000
Index:      0
Lustre FS:  lustre2
Mount type: ldiskfs
Flags:      0x1005
              (MDT MGS no_primnode )
Persistent mount opts: user_xattr,errors=remount-ro
Parameters: failover.node=10.149.245.21@o2ib:10.151.245.21@tcp:10.149.245.22@o2ib:10.151.245.22@tcp
On voit que chaque serveur est à la fois déclaré joignable par son interface Infiniband (o2ib) et son interface Ethernet (tcp).

Pour supprimer l'Infiniband, il suffit d'exécuter sur le serveur actif :
tunefs.lustre --mgs --mdt --erase-params --servicenode=10.151.245.21@tcp:10.151.245.22@tcp --writeconf /dev/drbd1
On efface le paramètre servicenode et on déclare uniquement les interfaces Ethernet.

La configuration de /dev/drbd1 devient alors :
Target:     lustre2-MDT0000
Index:      0
Lustre FS:  lustre2
Mount type: ldiskfs
Flags:      0x1005
              (MDT MGS no_primnode )
Persistent mount opts: user_xattr,errors=remount-ro
Parameters: failover.node=10.151.245.21@tcp:10.151.245.22@tcp

Cas des Serveurs OSS

Chaque OSS propose 2 Object Storage Targets, chacun d'eux étant stocké sur une baie Dell MD3000 reliée par deux câbles SAS à chaque serveur. Nous utilisons le multipath pour définir les chemins à privilégier depuis chaque OSS (/dev/mapper/mpath[b-e]).

Pour voir la configuration actuelle, comme précédemment, on utilise tunefs.lustre --verbose /dev/mapper/mpath[b-e]). :
Target:     lustre2-OST0000
Index:      0
Lustre FS:  lustre2
Mount type: ldiskfs
Flags:      0x1002
              (OST no_primnode )
Persistent mount opts: errors=remount-ro
Parameters: mgsnode=10.149.245.21@o2ib:10.151.245.21@tcp:10.149.245.22@o2ib:10.151.245.22@tcp failover.node=10.149.245.23@o2ib:10.151.245.23@tcp failover.node=10.149.245.24@o2ib:10.151.245.24@tcp

Target:     lustre2-OST0001
Index:      1
Lustre FS:  lustre2
Mount type: ldiskfs
Flags:      0x1002
              (OST no_primnode )
Persistent mount opts: errors=remount-ro
Parameters: mgsnode=10.149.245.21@o2ib:10.151.245.21@tcp:10.149.245.22@o2ib:10.151.245.22@tcp failover.node=10.149.245.23@o2ib:10.151.245.23@tcp failover.node=10.149.245.24@o2ib:10.151.245.24@tcp

Target:     lustre2-OST0002
Index:      2
Lustre FS:  lustre2
Mount type: ldiskfs
Flags:      0x1002
              (OST no_primnode )
Persistent mount opts: errors=remount-ro
Parameters: mgsnode=10.149.245.21@o2ib:10.151.245.21@tcp:10.149.245.22@o2ib:10.151.245.22@tcp failover.node=10.149.245.23@o2ib:10.151.245.23@tcp failover.node=10.149.245.24@o2ib:10.151.245.24@tcp

Target:     lustre2-OST0003
Index:      3
Lustre FS:  lustre2
Mount type: ldiskfs
Flags:      0x1002
              (OST no_primnode )
Persistent mount opts: errors=remount-ro
Parameters: mgsnode=10.149.245.21@o2ib:10.151.245.21@tcp:10.149.245.22@o2ib:10.151.245.22@tcp failover.node=10.149.245.23@o2ib:10.151.245.23@tcp failover.node=10.149.245.24@o2ib:10.151.245.24@tcp
On constate que chaque OST contient des enregistrements déclarants les noeuds MGS et les noeuds OSS, avec à chaque fois les interfaces Infiniband et Ethernet.

Pour modifier chaque OST, il suffit d'exécuter depuis un des serveurs OSS :
tunefs.lustre --ost --erase-params --mgsnode=10.151.245.21@tcp0:10.151.245.22@tcp0 --servicenode=10.151.245.21@tcp --servicenode=10:10.151.245.22@tcp0 --writeconf /dev/mapper/mpathb
tunefs.lustre --ost --erase-params --mgsnode=10.151.245.21@tcp0:10.151.245.22@tcp0 --servicenode=10.151.245.21@tcp --servicenode=10:10.151.245.22@tcp0 --writeconf /dev/mapper/mpathc
tunefs.lustre --ost --erase-params --mgsnode=10.151.245.21@tcp0:10.151.245.22@tcp0 --servicenode=10.151.245.21@tcp --servicenode=10:10.151.245.22@tcp0 --writeconf /dev/mapper/mpathd
tunefs.lustre --ost --erase-params --mgsnode=10.151.245.21@tcp0:10.151.245.22@tcp0 --servicenode=10.151.245.21@tcp --servicenode=10:10.151.245.22@tcp0 --writeconf /dev/mapper/mpathe
On efface les paramètre mgsnode et servicenode et on déclare uniquement les interfaces Ethernet.

La configuration des OST devient alors :
Target:     lustre2-OST0000
Index:      0
Lustre FS:  lustre2
Mount type: ldiskfs
Flags:      0x1002
              (OST no_primnode )
Persistent mount opts: errors=remount-ro
Parameters: mgsnode=10.151.245.21@tcp:10.151.245.22@tcp failover.node=10.151.245.23@tcp failover.node=10.151.245.24@tcp

Target:     lustre2-OST0001
Index:      1
Lustre FS:  lustre2
Mount type: ldiskfs
Flags:      0x1002
              (OST no_primnode )
Persistent mount opts: errors=remount-ro
Parameters: mgsnode=10.151.245.21@tcp:10.151.245.22@tcp failover.node=10.151.245.23@tcp failover.node=10.151.245.24@tcp

Target:     lustre2-OST0002
Index:      2
Lustre FS:  lustre2
Mount type: ldiskfs
Flags:      0x1002
              (OST no_primnode )
Persistent mount opts: errors=remount-ro
Parameters: mgsnode=10.151.245.21@tcp:10.151.245.22@tcp failover.node=10.151.245.23@tcp failover.node=10.151.245.24@tcp

Target:     lustre2-OST0003
Index:      3
Lustre FS:  lustre2
Mount type: ldiskfs
Flags:      0x1002
              (OST no_primnode )
Persistent mount opts: errors=remount-ro
Parameters: mgsnode=10.151.245.21@tcp:10.151.245.22@tcp failover.node=10.151.245.23@tcp failover.node=10.151.245.24@tcp
Il ne reste plus qu'à redémarrer les services Lustre et remonter les systèmes de fichiers sur les serveurs et les clients.

Les commentaires sont fermés.