
När det kommer till att bygga molninfrastruktur så är stabilitet alltid #1 prioritering. Med stabilitet menar jag att tjänsten alltid ska vara tillgänglig.
Tidigare har detta skett på server nivå. I en server finns olika komponenter. Många av dessa komponenter går att göra redundanta i den mening att man har två nätaggregat så om ett går sönder fungerar fortfarande server utan avbrott. Man brukar också ha två eller fler lagringsenheter i RAID som replikerar data mellan lagringsenheterna. Om en lagringsenhet går sönder fungerar fortfarande allt som tänkt.
Problemet är att man bara kan göra så många komponenter redundanta. Det går till exempelvis inte att göra självaste moderkortet eller CPU redundant så om det går sönder går server ned. Man kan uppskatta en 2-5% risk att någon sådan komponent går sönder per år. Det kanske inte låter mycket men vi på hostup har helrack som kan fylla 42 st servrar. Med så pass många servrar är det i princip garanterat att någon server kommer få problem någon gång under året som påverkar någon enstaka kund.
När saker går ned orsakar det inte bara problem för våra kunder utan också problem för oss. Tekniker måste felsöka och åtgärda problemet direkt oavsett om det är mitt i natten eller på en helgdag.
Lösningen – redundans på servernivå
Eftersom vi vet att servrar kommer gå sönder förr eller senare så är vår lösning att få redundans på servernivå. Med detta menar vi att om en eller flera server går sönder samtidigt så ska saker fortfarande fungera som det ska.
Vi uppnår detta genom att använda oss av Ceph Replication 3. Ceph är lagring över nätverket och Replication 3 betyder att din data replikeras till 3 olika servers. Det fungerar lite som RAID-1 men istället för att replikera det två gånger replikeras det 3 gånger. Även om två servers går sönder samtidigt är all data fortfarande är tillgänglig. Skillnaden är bara att detta är på servernivå. Två hela servers kan gå sönder eller tas ned för underhåll medan allt fortfarande fungerar som det ska.
Detta eliminerar inte bara risken nästan för nertid hos våra kunder utan gör det också så att våra tekniker kan åtgärda eventuella problem på kontorstid.
Dessutom får vi med Ceph hotspare. Om en server går ned byggs redundansen upp igen till att klara av att ytterligare två servers ska gå ned inom några timmar. Vår servers använder sig av 100G anslutningar och endast NVMe så det går riktigt snabbt!
Redundans på nätverksnivå
Att ha redundans på servernivå är bra, men självklart måste allt annat också bli redundant. Saker går sönder och det är bara att acceptera.
Vårt nätverk har numera redundant gateway. Vi får detta genom att ha 3 nätverksswitchar i vPC. Det är en slags teknik vilket tillåter två av dem att gå sönder medan allt fortfarande fungerar som det ska.
Ena switchen är en 100G switch som fungerar som primary (bond1). De två andra är 25 GbE switchar i LACP läge (bond0). Här går den publika trafiken men i fall Ceph switchen skulle gå sönder kan trafiken gå genom dessa också, isolerade på sitt egna vlan så klart!
Varje switch är dessutom uppkopplad mot 4 olika internetleverantörer.