Cloudside

Rapport: driftstörning

Under dagen upptäckte vi att det plötsligt fanns paketförluster mot olika delar av internet.
Den initiala felsökningen försvårades då vi själva fick paketförluster mot de routrar som hanterar vår anslutning mot internet (de routrar som hanterar BGP för peering av IPv4 IPv6 routes).
Tekniker var redan på väg till vår serverhall och kunde påbörja felsökning på plats kort därpå.

Mycket pekade på en av två routrar som har hand om BGP mot den ena av våra ISP:er och eftersom inga konfigurationsförändringar gjorts hos oss så stängde vi ned anslutningen till BGP på den.
Det hjälpte dock inte och vi såg att medan många routes på internet fungerade bra till och från oss, så var det fortfarande paketförluster mot andra delar.
Felsökningsläge på routrarna gav inget uppenbart fel, men vi såg ändå att ena routern hade mer problem än den andra. Inga uppenbara ”drops” på några portar heller, vi provade ändå att snabbt koppla ur och in moduler och SFP:er (komponenter/fiberdon) för att se om det kunde avhjälpa något.

Vi kopplade därefter bort routingdelen helt från den router som vi identifierat som problematisk. Vi såg då inga paketförluster ut från oss när vi utförde tester, men det kom fortfarande in rapporter om paketförluster från våra kunder.
Tester gjordes och vi såg t.ex. att ”Telia Carrier” från Stockholm inte hade några paketförluster mot oss, medan ”Telia Sverige” från samma stad hade ca 50%. (https://lg.telia.net/)
Här någonstans började vi inse att det måste ha med våra routes att göra och vad våra routingmoduler i routrarna klarade av att hålla i minnet (TCAM/CEF).

Förklaring till hur minne fungerar i routrar

För att routrar så snabbt som möjligt skall räkna ut vart trafiken skall skickas på internet så används ett snabbt minne som cachear routrarnas uträkning så att de inte behöver spendera tid på att kontrollera det vid varje paket som skall skickas. Om minnet tar slut eller om den del av minnet som man har gett till t.ex. IPv4 eller IPv6 (https://sv.wikipedia.org/wiki/IPv4 https://sv.wikipedia.org/wiki/IPv6) så behöver routern räkna ut route via processorn. Har man då många paket som skall skickas blir det svårt för processorn att hinna med vilket leder till paketförluster.

Utbyte av routes

Cloudside peerar med två ISP:er idag och det gör att vid problem hos en ISP så fortsätter vårt nätverk att fungera då vi talar om för båda våra ISP vilka nät vi har (annonserar ut).
Det gör att vi kan skicka och ta emot trafik den kortaste vägen genom de routes vi får via BGP från våra ISP:er. Det betyder att dessa routes (närmare 700.000+ entries för IPv4) måste få plats i minnet enligt ovan.

De routrar vi har i core idag har inte stöd för dynamisk allokering av utrymme för IPv4/IPv6. Det betyder att för att ge mer minne/utrymme för IPv4 routes t.ex. så behöver de bootas om. Det i sig är inte ett så stort problem, då man ofta har redundans på samtliga servrar, kopplad till båda routrarna.
MEN – och här var det som tog oss lite tid att hitta – när utrymmet för antal routes har övertrasserats, så krävs en omstart av routern för att få bort felet.
Felet kan också uppkomma om routingtabeller ändras ofta, då strukturerna i minnet inte frigör minnet korrekt.

Vi gjorde nämligen en del åtgärder för att komma runt problemet, rensade samtliga routes, stängde av access till en av ISP:erna och skickade allt trafik genom en och samma ISP för att inte använda de routes vi fått via BGP. Då fick vi istället mer problem, eftersom den nya statiska routen som vi satt upp (default gateway) inte lades in i minnet då det var ”fullt” trots borttagning av allt.
Vi utökade antalet routes som ipv4 får använda sig utav. Då såg vi att det krävdes en omstart av båda routrarna (då båda hade samma fel) så beslutade vi att starta om de. Efter några minuter var de igång och felet var borta.

Vad påverkades av driftstörningen

Samtliga tjänster hos oss via IPv4 påverkades, men inte för alla som försökte nå dem. Om man märkte av problemen eller ej beror på vilken väg ens trafik tog över nätet. De som påverkades upplevde sajter samt e-post som mycket långsam. Under sista delen av felsökningen var samtliga tjänster onåbara över internet.
Trafik som gick via IPv6 påverkades ej förutom vid omstarten av routrar.

Kan samma fel inträffa igen

Nej, inte inom den tidsram vi har för åtgärderna nedan. Vi utökade vårt IPv4 utrymme med ca 15% på routrarna. På de ca 4.5 år som routrarna har varit gång utan omstart eller problem så har routingtabellen för IPv4 växt med ca 3-5%. Eftersom åtgärdena som nämns nedan kommer att utföras nästa år är det inte ett problem.

Förlåt!

Vi ber om ursäkt att det tog oss tid att hitta exakt vad felet berodde på. Vi gör alltid vårt yttersta för att vårt nätverk skall vara stabilt och schemalägger i möjligaste mån servicefönster nattetid samt inte i anslutning t.ex. Black Friday eller dylika dagar då handeln är som högst.
Som många av er, våra kunder, nämnt så har vi väldigt sällan nertider och det är vi stolta över. Våra DDoS skydd har bara senaste veckorna stoppat en större mängd attacker som annars hade fyllt vår internettrafik och inneburit nertid för hela vår miljö.

small_c_popup.png

Viktig information

Numera sköter Fuze Media driften av Cloudside.

Samtliga kunder har fått mejl från oss gällande sitt webbhotell. All drift sköts nu utav Fuze Media.

Har du några frågor så skicka din fråga till supporten på support@fuze.nu eller besök deras hemsida för fler kontaktalternativ.