Molntjänster – skillnad på moln och moln

Det snackas mycket om molnet och cloud hosting.

Vad är molnet?

Med molntjänster (även kallat cloud Computing) menar man möjligheten att köra serverbaserade applikationer eller program över Internet. Traditionellt så brukar man hantera applikationer inom ett företag eller en organisation genom att installera applikationen på en egen fysisk server. Dessutom så ansvarar man för drift och underhåll av både server samt applikation själva eller genom att överlåta på en extern IT-leverantör (outsourcing).

Inom molnet är det istället ofta tjänsteleverantörer som svarar för installation på sin server samt ansvarar för drift och underhåll av miljlön i egna datacenter. För att göra allt det här möjligt så brukar tjänsteleverantören använda virtualiserings-teknologi för att kunna dela upp resurserna bland olika applikationer och ”virtuella privata servrar”. På så vis kan man maximera resursutnyttjandet av de fysiska servrarna genom att tilldela precis så mycket resurser som behövs – till skillnad från det resursslöseri man riskerar att ha i en traditionell miljö.

Skillnad på moln och moln

Jag anser att olika leverantörer av molntjänster kan delas in i tre olika kategorier eller nivåer, så kallade tiers. Dessa nivåer är vad som spelar in på kvalité och pris av tjänsten.  Ju högre nivå av tjänsten desto dyrare.

Den främsta skillnaden bland olika tiers är IOPs (operationer per sekund)  kapacitet på deras lagringsplatform. Därefter kommer funktionaliteten.

IO-prestandan är så pass viktig att om du har otur att välja en leverantör som har låg prestanda eller har sparat in på lagringsmiljön kan din virtuella privata server påverkas negativt av långsam läs- och skrivkapacitet. Priset på lagringsutrymme spelar roll på prestanda!

Har man inte högt ställda krav på IOPS prestanda och hellre vill ha maximalt lagringsutrymme så kanske man inte behöver välja de dyrare tiers. Har man dock krav på prestanda så får man nog satsa på de högre tiers.

Nedan har jag försökt klassifiera olika tiers och deras egenskaper:

– Premium tier
Högst driftsäkerhet, dedicerade infrastrukturresurser med flera niors upptid SLA. Deras lagringsmiljö är oftast bland de mest kvalificerade och högpresterande som kostat miljoner att driftsätta.
Oftast egen tekniskt platform som de själva driftar och utvecklar. De lever på sitt namn och har råd att ta betalt.
Dessa leverantörer brukar även leverera sin mjukvara till företag så att de kan hosta privata moln (virtuella miljöer). Ett exempel på dessa leverantörer är VMWare.

– Enterprise tier
Steget under Premium tier. De håller hög nivå på sin infrastruktur men är inte lika stora som premium tier. De har mindre datahallar och licensierar sin mjukvara från Premium tier leverantörer. De satsar även på att kunna leverera vad de lovar vilket driver upp priser någorlunda för lagringsutrymmen (SAN i hundratusenkronors klassen) men är inte lika dyra som Premium.

– Budget tier
Billigaste billiga. Vissa begränsningar i virtualiseringsfunktioner och överbokar gärna sina resurser för att hålla låga priser till slutkunder. De kör ofta mjukvarubaserade filsystem för att kunna maximera tillgängligt lagringsutrymme på bekostnad av IOPs prestanda.   Distribuerade filsystem körs på vanliga konsument SATA diskar som har maximal lagringskapacitet, låg IOPs men även låga priser.

Hur kan man skilja på ett moln från ett annat då?
Priset!
Titta på grundpaketet från leverantören.
Kostar VPS:en man vill beställa bara mellan 50 och 120kr/må så kan man vara säker på att de sparat in på något.  Är lagringsutrymme extremt billigt så kan man vara bombsäker på att det är distribuerade filsystem som använder långsamma SATA diskar för maximalt utrymme.
En start kostnad runt 170kr/mån brukar indikera Enterprise tier och allt ovanför 250kr/mån är Premium. Priserna för lagringsutrymme springer gärna iväg till många tior per GB diskutrymme.

iSCSI och multipathIO

I detta blogginlägg kommer jag använda en hel del begrepp.
Storage area network” förkortat till ”SAN”. ”Hosts” är de servrar eller maskiner även kallade ”iSCSI initiator” som ansluter mot de virtuella diskar som görs tillgänglig för hosts över nätverket. Dessa virtuella diskar över iSCSI kan även benämnas ”iSCSI target”.

Jag fick nyligen möjlighet att börja göra drifttester med Dells nya SAN i samband med att Adminor inhandlade nytt för vår driftmiljö.

MD32x0(i) är den nya generationen som ersätter den äldre Powervault MD3000i. Den nya modellen finns liksom föregångaren med med ”i” version (iSCSI) och SAS storage array ”utan i”. Modellen MD32x0 kan direktanslutas mot 8st serverhosts (upp till 8st direktanslutna, eller 4st i redundant) medan iSCSI varianten drar nytta av gigabit ethernet för upp till 32 hosts.

Det finns alltså följande varianter av ”MD32x0″/”MD32X0i”
iSCSI variant:
MD3220i – plats för 24st 2.5″ diskar
MD3200i – plats för 12st 3.5″ diskar

SAS storage array variant för direktanslutning:
MD322o- samma antal diskar som motsvarande ”i” variant
MD3200 – samma antal diskar som motsvarande ”i” variant

MD32x0(i) kan köras i simplex eller duplex läge. Det som skiljer är att i simplex läge har man bara en controller utan redundans. Med duplex körs controller i mirror-läge med en annan controller. Även prestanda kan förbättras genom duplex läge. En till controller kan alltid köpas till senare, jag vet dock inte ännu ifall man kan blanda SAS storage array RAID controller med SAN iscsi RAID controller.

—–

Att sätta upp ett SAN kräver en hel del planering. Vi hade givetvis en drös egna frågor inför driftsättningen.

Illustration ovan – enkelt utkast över planen för driftsättning.

Hur bör man då koppla upp ett SAN för att erbjuda både redundans och prestanda?
Jo, man väljer så klart multipath I/O.
Följer man best practise papers så bör ett SAN va uppkopplat på dedicerad iSCSI VLAN och dedicerad switchar för iSCSI trafik med flera ”paths” (vägar). Det var precis den lösningen vi själva valde.
Redundanta gigabit switchar, dedicerade iSCSI VLAN och iSCSI paths fördelade jämnt över de två switcharna.

För att få bästa prestanda bör den host som ansluts mot SAN ha minst 2 nätverkskort uppkopplad mot respektive dedicerad switch på iSCSI VLAN. (se bilden ovan) På så vis kan datatrafik fördelas över olika paths och lastbalanseras beroende på multipath policy. I VMWare används ”most recently used” (MRU), ”round robin” (RR) eller ”fixed”.

Har man gjort rätt med adresseringar, subnät och multipath policy så har man ett riktigt kraftpaket i ett iSCSI SAN.

Den slutgiltiga konfigurationen för driftmiljö virtualiseringscluster är:
1x MD3220i (2 controllers i duplex-läge för redundans)
2x redundanta gigabit switchar med multipla vägar för multipath I/O.
4x subnät (ett per iscsi host port grupp) och motsvarande IP-inställningar på hosts
1x Dell M1000 bladchassi med expansionsmöjlighet med fler bladservrar.

Det enda kluriga med MD3220i har egentligen varit managerings-GUI:t som förvisso är mycket bra men har några barnsjukdomar. Vi fick rapportera några  några ”kosmetiska” GUI buggar till Dell 🙂

Ytterligare resurser och källhänvisning:
Att sätta upp multipath I/O och iSCSI med vsphere:
A multivendor post on using iscsi with vmware vsphere