Optimisation du stockage Ceph grâce à des solutions réseau avancées
Optimisation du stockage Ceph grâce à des solutions réseau avancées
par Marc THOLL
, le 28 mars 2025

Optimisation du stockage Ceph grâce à des solutions réseau avancées

Les défis liés au stockage traditionnel

Au cours des dernières années, notre entreprise a exploité son infrastructure de virtualisation selon une approche de stockage traditionnelle, en utilisant des appliances de stockage dédiées, telles que les baies de stockage Dell EMC, et en les connectant à nos serveurs via iSCSI ou Fibre Channel (FC). À des fins de redondance, nous avons doublé le nombre d’appliances. Nos solutions de stockage 100 % flash ont été fournies par Huawei.
Dans le cadre de nos efforts constants pour offrir à nos clients ressources cloud, provenant exclusivement du territoire luxembourgeois, ce qui garantit la souveraineté des données, et grâce à notre projet visant à faire progresser la recherche en IA, le besoin d'une solution de stockage de données hautement évolutive et fiable s'est considérablement accru.

Première tentative de solution

Carte de réseau illustrant la connexion physique entre les deux réseaux de stockage (SAN)
Carte de réseau illustrant la connexion physique entre les deux réseaux de stockage (SAN)
Pour répondre à cette nouvelle demande, nous avons dans un premier temps choisi de modifier notre approche. Nous sommes passés à un réseau de stockage dédié (SAN). Nous opérons dans deux centres de données et avons mis en place deux réseaux SAN indépendants, utilisant chacun un commutateur par côté, reliés via deux longueurs d'onde passives géographiquement distinctes. Les baies de stockage et les serveurs étaient chacun connectés aux deux réseaux SAN, ce qui nous offrait quatre chemins de stockage. Cette configuration exploitait le multichemins pour garantir la redondance sur plusieurs chemins, qui n'étaient eux-mêmes pas redondants. Chaque serveur disposait de deux cartes réseau, avec un port par carte connecté à chaque SAN, ce qui donnait un total de quatre chemins. Cette configuration garantissait que nous ne perdrions jamais plus de deux chemins en cas de défaillance d'un seul périphérique.
Malgré ces mesures, une fois tout mis en place, nous avons constaté que nous n'atteignions pas les performances escomptées. Les systèmes de stockage traditionnels posent souvent des défis tels que des problèmes d'évolutivité, une charge administrative liée à la gestion et une dépendance vis-à-vis d'un fournisseur, ce qui nous a incités davantage à rechercher des solutions alternatives.
Compte tenu du contexte géopolitique actuel et de la pénurie de matériel de stockage fabriqué en Europe, nous avons choisi d’adopter une approche différente. En éliminant les dépendances vis-à-vis des fournisseurs et en revenant à un élément fondamental de notre identité — les solutions open source —, nous souhaitons favoriser l’innovation et préserver la flexibilité de notre infrastructure.

À la découverte de Ceph : une nouvelle approche du stockage

Nos administrateurs système, toujours désireux d'explorer de nouvelles technologies, ont proposé d'utiliser Ceph pour répondre à nos besoins en matière de stockage. Nos expériences passées avec les systèmes de stockage traditionnels s'étaient avérées peu satisfaisantes, et nous étions motivés à explorer une solution innovante et potentiellement plus robuste.
Ceph est une plateforme de stockage open source conçue pour offrir d'excellentes performances, une grande fiabilité et une évolutivité remarquable. Elle regroupe le stockage d'objets, de blocs et de fichiers au sein d'un même cluster, ce qui en fait une solution polyvalente adaptée à divers besoins en matière de stockage.
Après une analyse ayant conclu que Ceph était en mesure de répondre à nos exigences en matière de redondance et d'évolutivité, nous avons procédé au choix du matériel adapté. Notre choix s'est porté sur des serveurs Supermicro. Ces serveurs sont équipés de deux processeurs AMD EPYC 7313 à 16 cœurs et de 128 Go de mémoire vive.
Pour la mise en place du réseau, nous avons décidé d’utiliser l’infrastructure existante, qui comprenait deux réseaux de stockage (SAN) indépendants. Après avoir surmonté quelques difficultés initiales pour trouver les bonnes configurations et avoir attendu la livraison du matériel, nous étions prêts à commencer les tests. Cependant, nous nous sommes rapidement heurtés à un obstacle de taille.
Dans Ceph, il existe deux réseaux distincts :
  • Réseau en grappe :
    • Utilisé par les serveurs pour synchroniser les données entre eux.
  • Réseau public :
    • Gère le trafic lié à la gestion des clusters (MONITOR).
    • Facilite les connexions Ceph vers les utilisateurs de données, tels que les hôtes de virtualisation.
Le défi auquel nous avons été confrontés résidait dans le fait que le réseau public de Ceph ne peut être configuré qu’avec un seul réseau IP. Cette limitation aurait pu constituer un obstacle majeur pour nos exigences en matière de redondance.
Pour remédier à ce problème, nous avons envisagé deux solutions possibles :
  1. Nouveaux commutateurs de châssis :
  2. L'une des propositions consistait à acheter de nouveaux commutateurs de châssis. Même si cela aurait pu résoudre le problème, cette solution entraînait un coût élevé et n'offrait que des avantages supplémentaires limités.
  3. Mise en pile de commutateurs avec LACP :
  4. La deuxième idée, qui a également été largement suggérée sur les forums, consistait à empiler les commutateurs et à utiliser le protocole LACP (Link Aggregation Control Protocol). Cependant, cette approche allait à l’encontre de notre philosophie de conception initiale pour les deux SAN. Nous avions délibérément évité l’empilement en raison d’expériences négatives passées, telles que la fragmentation des piles en cours de fonctionnement, entraînant des pannes de réseau ou la création de boucles qui perturbaient l’ensemble du réseau.

Solutions de routage innovantes pour Ceph

Alors que nous réfléchissions à des solutions, notre service réseau a proposé une idée novatrice. Bien que le réseau public de Ceph ne puisse gérer qu’un seul préfixe IP, il n’est pas obligatoire que toutes les adresses IP appartiennent au même domaine de diffusion. Cette constatation nous a amenés à envisager le routage du trafic comme une solution viable.

Configuration initiale du routage

Notre solution de routage initiale consistait à connecter deux nœuds Ceph à chaque commutateur SAN de couche 3. Les commutateurs exécutaient le protocole OSPF (Open Shortest Path First) et annonçaient les réseaux de chaque nœud. Chaque nœud était connecté via ses quatre interfaces regroupées au sein d’un seul canal de port LACP (Link Aggregation Control Protocol). Cette approche présentait plusieurs avantages et inconvénients :
Avantages :
  • Facilité de mise en place : OSPF fonctionne sur seulement quatre commutateurs, ce qui simplifie le processus de configuration.
  • Redondance au niveau des interfaces : le protocole LACP assure une redondance au niveau des interfaces, ce qui renforce la fiabilité.
Inconvénients :
  • Conséquences d'une panne de commutateur : la perte d'un commutateur entraîne la perte de deux nœuds Ceph entiers, ce qui compromet la redondance.
  • Équilibrage de charge limité : l'équilibrage de charge se limite au trunk LACP, ce qui peut empêcher d'exploiter pleinement la bande passante disponible.

Solution d'optimisation des itinéraires

Carte météorologique illustrant les liaisons physiques de la solution de routage finale
Carte météorologique illustrant les liaisons physiques de la solution de routage finale
Insatisfaits des limites de l'approche initiale, nous avons mis au point une solution plus robuste : le routage complet. Dans cette configuration, chaque nœud Ceph exécute FRRouting (FRR) et OSPF de manière indépendante. Cette configuration offre plusieurs avantages majeurs :
  • Redondance renforcée : chaque nœud est connecté à deux commutateurs, ce qui garantit que la défaillance d’un commutateur n’entraîne pas la perte du nœud. Afin de renforcer encore davantage la fiabilité, la détection bidirectionnelle de transfert (BFD) est utilisée pour détecter les défaillances en moins d’une seconde en cas de défaillance d’une ou de plusieurs liaisons. De plus, le routage ECMP (Equal-Cost Multi-Path) est utilisé pour fournir plusieurs itinéraires redondants, améliorant ainsi la résilience globale du réseau.
  • Utilisation efficace des interfaces : les réseaux public et de cluster fonctionnent tous deux au sein du même réseau routé, ce qui permet à Ceph d'utiliser de manière dynamique la totalité de la bande passante du serveur pour les deux réseaux, en fonction des besoins du moment.
  • Stabilité du service : les services de cluster et les services publics fonctionnent sur des adresses IP de bouclage, ce qui garantit qu'ils ne sont pas liés à des interfaces spécifiques susceptibles de tomber en panne.
  • Amélioration de la répartition de la charge : la répartition de la charge est optimisée grâce à l'utilisation du routage ECMP (Equal-Cost Multi-Path), qui offre à chaque destination huit chemins distincts. Cette configuration permet une répartition efficace du trafic sur plusieurs itinéraires, optimisant ainsi l'utilisation de la bande passante et garantissant un partage équilibré de la charge.

Résultats et conclusions

Après avoir mis en place la solution de routage complète pour notre cluster Ceph, nous avons mené une série de tests afin d’évaluer ses performances et sa redondance. Il est important de noter que l’instance Ceph n’est pas encore pleinement optimisée, mais les premiers résultats sont prometteurs. Nous avons atteint des débits de lecture/écriture aléatoires de 3,6 Go/s, ce qui représente une amélioration significative par rapport à notre configuration précédente. Ces tests ont été réalisés à l’aide d’outils de benchmarking conformes aux normes du secteur afin de garantir leur précision et leur fiabilité.
Outre les tests de performances, nous avons également évalué la redondance du système. Nos tests ont révélé qu’un nœud peut perdre toutes ses liaisons sauf une sans que cela n’ait d’impact sur son fonctionnement, mis à part une réduction de la bande passante disponible. De même, toutes les liaisons inter-centres de données (Inter-DC) sauf une peuvent tomber en panne sans affecter le système, bien que cela entraîne également une réduction de la bande passante disponible. Ces résultats confirment la robustesse et la fiabilité de notre solution Ceph routée.

Projets pour l'avenir

À l'avenir, nous envisageons plusieurs améliorations afin d'optimiser davantage notre infrastructure Ceph. L'un de nos principaux objectifs est d'ajouter davantage de liaisons inter-centres de données entre les réseaux de stockage (SAN). Cette extension permettra un meilleur équilibrage de charge entre les centres de données, garantissant ainsi des performances et une résilience optimales.
En évaluant et en affinant en permanence la configuration de notre réseau, nous visons à obtenir un cluster Ceph hautement optimisé qui réponde à nos exigences en matière de performances et de redondance, afin, à terme, de soutenir plus efficacement nos activités principales.
 

Discutez avec un expert

Discutez directement avec nos experts, qui sont à votre disposition pour vous apporter des conseils et des réponses.