Ceph-opslag optimaliseren met geavanceerde netwerkoplossingen

Ceph-opslag optimaliseren met geavanceerde netwerkoplossingen

Uitdagingen met traditionele opslag

De afgelopen jaren heeft ons bedrijf zijn virtualisatiestack met een traditionele opslagaanpak beheerd, waarbij gebruik werd gemaakt van speciale opslagapparatuur zoals Dell EMC-opslagbays, die via iSCSI of Fibre Channel (FC) op onze servers werden aangesloten. Voor redundantie hebben we het aantal apparaten verdubbeld. Onze full-flash opslagoplossingen werden geleverd door Huawei.
Met onze voortdurende inspanningen om onze klanten cloudresources te bieden die volledig binnen de grenzen van Luxemburg worden gegenereerd, waardoor de soevereiniteit van gegevens wordt gegarandeerd, en met ons voortschrijdende AI-onderzoeksproject, is de behoefte aan een zeer schaalbare en betrouwbare oplossing voor gegevensopslag aanzienlijk toegenomen.

Eerste poging tot een oplossing

Weerkaart die de fysieke verbinding tussen de twee SAN's weergeeft
Weerkaart die de fysieke verbinding tussen de twee SAN's weergeeft
Om aan deze nieuwe vraag te voldoen, hebben we in eerste instantie gekozen voor een andere aanpak. We zijn overgestapt op een speciaal Storage Area Network (SAN). We werken in twee datacenters en hebben twee onafhankelijke SAN's opgezet, elk met één switch per kant, verbonden via twee geografisch gescheiden passieve golflengten. De opslagruimtes en servers waren elk verbonden met beide SAN's, waardoor we vier opslagpaden hadden. Deze opstelling maakte gebruik van multi-path om redundantie te garanderen over meerdere paden, die op zichzelf niet redundant waren. Elke server had twee netwerkkaarten, met één poort per kaart aangesloten op elk SAN, wat resulteerde in een totaal van vier paden. Deze configuratie zorgde ervoor dat we nooit meer dan twee paden zouden verliezen in het geval van een storing van een enkel apparaat.
Ondanks deze maatregelen merkten we, toen alles eenmaal was geïnstalleerd, dat we niet de verwachte prestaties behaalden. Traditionele opslagsystemen brengen vaak uitdagingen met zich mee, zoals schaalbaarheidsproblemen, beheerskosten en vendor lock-in, wat ons nog meer motiveerde om op zoek te gaan naar alternatieve oplossingen.
Gezien het huidige geopolitieke landschap en het gebrek aan in Europa geproduceerde opslaghardware, hebben we gekozen voor een andere aanpak. Door vendor lock-ins te elimineren en terug te keren naar een kernaspect van onze identiteit – open-sourceoplossingen – willen we innovatie stimuleren en flexibiliteit in onze infrastructuur behouden.

Ceph verkennen: een nieuwe benadering van opslag

Onze systeembeheerders, altijd enthousiast om nieuwe technologieën te verkennen, stelden voor om Ceph te gebruiken voor onze opslagbehoeften. Onze ervaringen met traditionele opslagsystemen waren tot dan toe niet bepaald bevredigend geweest, en we waren gemotiveerd om iets innovatiefs en potentieel robuuster te verkennen.
Ceph is een open-source opslagplatform dat is ontworpen om uitstekende prestaties, betrouwbaarheid en schaalbaarheid te bieden. Het verenigt object-, blok- en bestandsopslag in één cluster, waardoor het een veelzijdige oplossing is voor verschillende opslagbehoeften.
Na een analyse, waarin we concludeerden dat Ceph aan onze eisen op het gebied van redundantie en schaalbaarheid voldoet, zijn we overgegaan tot het kiezen van de juiste hardware. De keuze viel op Supermicro-servers. De servers draaien op 2x AMD EPYC 7313 16-coreprocessors en 128 GB RAM.
Voor de netwerkconfiguratie hebben we besloten om gebruik te maken van de bestaande infrastructuur met de twee onafhankelijke SAN's. Na enkele aanvankelijke hindernissen bij het vinden van de juiste configuraties en het wachten op de levering van de hardware, waren we klaar om te beginnen met testen. Al snel stuitten we echter op een aanzienlijk obstakel.
In Ceph zijn er twee verschillende netwerken:
  • Clusternetwerk:
    • Wordt door de servers gebruikt om gegevens onderling te synchroniseren.
  • Openbaar netwerk:
    • Verwerkt clusterbeheerverkeer (MONITOR).
    • Vergemakkelijkt Ceph-verbindingen met gegevensgebruikers, zoals virtualisatiehosts.
De uitdaging waar we voor stonden, was dat het openbare netwerk in Ceph alleen met één IP-netwerk kan worden geconfigureerd. Deze beperking had een aanzienlijke hindernis kunnen vormen voor onze redundantievereisten.
Om dit probleem aan te pakken, hebben we twee mogelijke oplossingen overwogen:
  1. Nieuwe chassis-schakelaars:
    1. Een voorstel betrof de aanschaf van nieuwe chassis-switches. Hoewel dit het probleem wellicht zou hebben opgelost, bracht het hoge kosten met zich mee en bood het slechts beperkte extra voordelen.
  1. Stacking-switches met LACP:
    1. Het tweede idee, dat ook veelvuldig werd voorgesteld in forums, betrof het stapelen van de switches en het gebruik van Link Aggregation Control Protocol (LACP). Deze aanpak was echter in strijd met onze oorspronkelijke ontwerpfilosofie voor de twee SAN's. We hadden stapelen bewust vermeden vanwege negatieve ervaringen in het verleden, zoals het splitsen van stacks tijdens het gebruik, wat leidde tot netwerkstoringen of het ontstaan van lussen die het hele netwerk verstoorden.

Innovatieve routeringsoplossingen voor Ceph

Tijdens het brainstormen over oplossingen kwam onze netwerkafdeling met een innovatief idee. Hoewel het openbare netwerk van Ceph slechts één IP-prefix kan verwerken, is het niet vereist dat alle IP's zich binnen hetzelfde broadcastdomein bevinden. Dit inzicht bracht ons op het idee om het routeren van verkeer als een haalbare oplossing te beschouwen.

Eerste routeringsconfiguratie

Onze oorspronkelijke routeringsoplossing bestond uit het aansluiten van twee Ceph-knooppunten op elke SAN Layer 3-switch. De switches zouden OSPF (Open Shortest Path First) uitvoeren en de netwerken van elk knooppunt bekendmaken. Elk knooppunt werd aangesloten met behulp van alle vier zijn interfaces in een enkel LACP-poortkanaal (Link Aggregation Control Protocol). Deze aanpak had verschillende voor- en nadelen:
Voordelen:
  • Eenvoudige installatie: OSPF werkt op slechts vier switches, wat het configuratieproces vereenvoudigt.
  • Interface-redundantie: LACP biedt redundantie op interfaceniveau, wat de betrouwbaarheid verhoogt.
Nadelen:
  • Gevolgen van een switchstoring: het uitvallen van een switch leidt tot het verlies van twee volledige Ceph-knooppunten, waardoor de redundantie in gevaar komt.
  • Beperkte load balancing: Load balancing is beperkt tot de LACP-trunk, waardoor de beschikbare bandbreedte mogelijk niet volledig wordt benut.

Geoptimaliseerde routeplanningsoplossing

Weerkaart die de fysieke verbindingen van de uiteindelijke gerouteerde oplossing weergeeft
Weerkaart die de fysieke verbindingen van de uiteindelijke gerouteerde oplossing weergeeft
Omdat we niet tevreden waren met de beperkingen van de oorspronkelijke aanpak, hebben we een robuustere oplossing ontwikkeld: volledige routing. In deze configuratie draait elke Ceph-node FRRouting (FRR) en OSPF onafhankelijk van elkaar. Deze opzet biedt een aantal belangrijke voordelen:
  • Verbeterde redundantie: elk knooppunt is verbonden met twee switches, zodat het uitvallen van één switch niet leidt tot het verlies van een knooppunt. Om de betrouwbaarheid verder te vergroten, wordt Bidirectional Forwarding Detection (BFD) gebruikt voor het detecteren van storingen in minder dan een seconde in het geval van één of meerdere linkstoringen. Daarnaast wordt Equal-Cost Multi-Path (ECMP)-routing gebruikt om meerdere redundante routes te bieden, waardoor de algehele veerkracht van het netwerk wordt verbeterd.
  • Efficiënt gebruik van interfaces: zowel het openbare netwerk als het cluster-netwerk werken binnen hetzelfde gerouteerde netwerk, waardoor Ceph de volledige bandbreedte van de server dynamisch kan gebruiken voor beide netwerken op basis van de huidige behoeften.
  • Servicestabiliteit: cluster- en openbare services draaien op loopback-IP's, zodat ze niet gebonden zijn aan specifieke interfaces die uitvallen kunnen.
  • Verbeterde load balancing: Load balancing is verbeterd door het gebruik van Equal-Cost Multi-Path (ECMP) routing, waardoor elke bestemming acht verschillende paden krijgt. Deze configuratie maakt een effectieve verdeling van het verkeer over meerdere routes mogelijk, waardoor het bandbreedtegebruik wordt geoptimaliseerd en een evenwichtige verdeling van de belasting wordt gegarandeerd.

Resultaten en inzichten

Na de implementatie van de volledige routeringsoplossing voor ons Ceph-cluster hebben we een reeks tests uitgevoerd om de prestaties en redundantie ervan te evalueren. Het is belangrijk op te merken dat de Ceph-instantie nog niet volledig geoptimaliseerd is, maar de eerste resultaten zijn veelbelovend. We hebben willekeurige lees-/schrijfsnelheden van 3,6 GB/s bereikt, wat een aanzienlijke verbetering is ten opzichte van onze vorige configuratie. Deze tests zijn uitgevoerd met behulp van industriestandaard benchmarkingtools om de nauwkeurigheid en betrouwbaarheid te garanderen.
Naast prestatietests hebben we ook de redundantie van het systeem beoordeeld. Uit onze tests bleek dat een node alle verbindingen behalve één kan verliezen zonder dat dit invloed heeft op de functionaliteit, afgezien van een vermindering van de beschikbare bandbreedte. Evenzo kunnen alle verbindingen tussen datacenters (Inter-DC) behalve één uitvallen zonder dat dit invloed heeft op het systeem, hoewel dit ook resulteert in een verminderde beschikbare bandbreedte. Deze bevindingen bevestigen de robuustheid en betrouwbaarheid van onze gerouteerde Ceph-oplossing.

Toekomstplannen

Voor de toekomst overwegen we verschillende verbeteringen om onze Ceph-infrastructuur verder te optimaliseren. Een van onze belangrijkste doelstellingen is het toevoegen van meer inter-DC-verbindingen tussen de SAN's. Deze uitbreiding zal zorgen voor een nog betere load balancing aan de inter-DC-kant, waardoor optimale prestaties en veerkracht worden gegarandeerd.
Door onze netwerkconfiguratie voortdurend te evalueren en te verfijnen, streven we naar een sterk geoptimaliseerde Ceph-cluster die voldoet aan onze prestatie- en redundantie-eisen en uiteindelijk onze kernactiviteiten effectiever ondersteunt.
 

Praat met een expert

Praat rechtstreeks met onze experts, die klaar staan om u inzichten en antwoorden te geven.