Driftstatus: Vi har normal drift med full reservkapacitet

Resan mot Hyperconverged – del 1

Ja, jag får väl börja med att varna alla för att detta och kommande blogginlägg är ganska tekniska så tycker ni inte om att nörda ner er i teknik så kan ni med fördel läsa några andra av vår blogginlägg.

Optinet har drivit datacenter sedan innan år 2000, det ni! Bland annat grundades Google fyra år efter Optinet så man kan väl säga att vi varit med ett tag.

I början var allt väldigt enkelt, vår första fasta internetförbindelse hade en kapacitet på 256 kbit/s och servrarna körde Windows NT 4.0. Vi har alltid varit ett Microsoftföretag (efter att vi övergav Novell Netware vill säga..) och i början var det inte alltid lätt att hitta serverprodukter för att köra mail och webbhotell på Windows när alla andra körde Linux, men det gick och det blev med tiden bättre och bättre, stabilare och stabilare!

Precis som Google grundades ett annat företag fyra år efter Optinet, nämligen VMware. Deras produkt var till för att virtualisera datorer och servrar. Fram tills nu hade alla PC-baserade datorer varit fysiska, dvs. en server = en fysisk burk. Varje gång ett företag behövde en ny server köpte man en ny burk, även om inte den nyttjades så mycket eller inte gick tungt behövdes en ny burk. Varje burk, server, var dessutom ganska dyr, mellan 50 -100 000:- var (är) inte ovanligt. Det VMware gjorde, var att de gjorde det möjligt att köra flera servrar i samma fysiska burk.

När Microsoft släppte Windows Server 2008 så introducerade de sin Hyper-V funktion. En funktion i Windows server som gör det möjligt att köra virtuella maskiner på samma sätt som i VMware, man kan väl säga att tävlingen var igång (och den lever väl till viss del än) och för oss var ju detta bra eftersom vi alltid varit ett Microsoftinriktat företag hade vi inte nyttjat VMware så mycket.

Det som nu hände var alltså att vi började göra om våra fysiska servrar till virtuella. Vid den här tiden förelåg fortfarande mycket fördomar (som vissa faktisk har kvar än idag :-)) om att vissa saker inte gick att virtualisera. ”Skall man köra terminalserver med bra prestanda, skall man köra SQL, skall man köra Exchange o.s.v. då skall man köra rätt på järnet, inte virtuellt”. Och visst var det säkert rätt då, i vissa fall, att det gick lite långsammare. Det är ju trots allt så att man tillför ytterligare ett operativsystem, som all trafik skall ta sig igenom, så lite långsammare blev det kanske.

Hur som helst så började vi först virtualisera våra egna servrar, t.ex. mailservrar, spamfiltreringsservrar, DNS-servrar, övervakningsservrar etc. Detta är servrar som går ganska lätt, inte disk- eller processorintensiva. Sen började vi även virtualisera filservrar och SQL-servrar. Allt flöt på perfekt, inga problem, tvärt om det som hände var att servrarna blev stabilare, varför då kan man undra?

Jo, när man installerar en fysisk server är man beroende av drivrutiner för hårdvaran, drivrutiner för nätverkskort, hårddiskcontrollers, grafik, USB, m.m. m.m. Om man köper nya servrar regelbundet kommer man till slut att sitta med en uppsjö olika versioner på både hårdvara och drivrutiner, att lyckas få två identiska servrar med exakt samma version av drivrutiner är i princip omöjligt om man inte köpt dem exakt samtidigt. I den virtuella miljön som simulerar hårdvara är det ALLTID samma version på drivrutinerna (i alla fall om man kör Windows Update). Så helt plötsligt har man gått från 1000-tals olika drivrutiner till bara ett tiotal som alla är godkända av Microsoft, så det är inte så konstigt att det fungerar bättre. Sen finns det en rad andra fördelar med att köra virtuellt också, t.ex. kan man göra snapshot innan uppgraderingar, lätt flytta servern till snabbare hårdvara etc. så att virtuellt är framtiden råder det nu ingen tvekan om.

Nu när tekniken blivit mogen började vi så klart att installera många virtuella maskiner i samma fysiska server och till slut så fick det inte plats fler. Antingen blev servern för trött, minnet för litet eller så tog disken slut. Man kan så klart sätta in mer hårddisk, men inte fler än vad servern klarar rent fysiskt (nej, man kopplar inte på USB-diskar i ett datacenter om någon skulle tro det ..). Så man köper nästa server, och nästa, och nästa … Visst vore det praktisk om man i alla fall kunde lösa diskproblemet, om man kunde han en gemensam lagringsplats och bara koppla servarna till denna så man slapp köpa en ny server bara för att disken tog slut. SAN, Storage Area Network är en lösning på detta. Någon gång kring 2005 köpte vi vårt första stora SAN, ett HP EVA SAN som kostade ca 2 miljoner, fast vi köpte det begagnat så vi gav inte riktigt så mycket. I samma veva köpte vi en bandbackup som var så stor att man kunde gå in i den, den var som en liten lekstuga och kunde hantera flera hundra band. Om någon har sett Mission Impossible-filmerna så finns det en scen där Tom Cruise dyker ner i en datahall för att hämta något USB-minne, där är bandstationen ett helt rum, vår var inte riktigt lika stor, men möjligen av samma fabrikat.

När man köper ett så stort SAN som vi gjorde inställer sig en rad andra problem. Tekniken är väldigt proprietär om man säger så, man är helt i händerna leverantören, i vårt fall HP. Alla delar är svindyra, för att prata ren svenska, ingen känner till hur den fungerar, så när man väl fått igång det och de första servrarna kör skarpt är man livrädd för att pilla på det. Genom åren har jag med intresse läst artiklar i IT-pressen om diverse haverier. I ett av de mest kända havererade ett SAN hos Tieto och 1800 servrar låg nere, bla. Apoteket och Svensk Bilprovning drabbades. Jag förstår precis hur sånt här kan hända, med så stora komplexa system är man väldigt försiktig, man pillar inte i onödan. När sedan något händer har man ingen erfarenhet av fel. Man kan väl säga att ända sedan dess har tanken på att bygga ett bättre system funnits och vi har testat ganska mycket genom åren (mer om det i kommande blogginlägg).  Det är några saker man vill uppnå och dessa är:

  • Inte vara beroende av svindyr hårdvara med dyra serviceavtal där bara ett fåtal personer kan hantera tekniken
  • Inte lägga alla ägg i samma korg
  • Alltid kunna testa fel och använda produkter som man redan är bekant med
  • I händelse av ett stort avbrott kunna flytta lasten till annan hårdvara, i värsta fall med hjälp av backup
  • kunna utföra underhålls- och uppdateringsarbeten under drift
  • Utöka kapaciteten under drift samt inte ha några övre gränser att hålla sig till
  • Få ut samma, i närheten av, eller helst bättre prestanda som dyra Enterprise-SAN

Ja, detta vore lite av en dröm, eller hur?