Design av virtualiserad datacenter

Design av virtualiserad datacenter

Introduktion

Informationssystemet definieras vĂ€l ur anvĂ€ndarens perspektiv i GOST RV 51987 – "ett automatiserat system vars resultat av dess funktion Ă€r presentationen av utdata för vidare anvĂ€ndning". Om vi betraktar den interna strukturen sĂ„ Ă€r i grund och botten varje IS ett system av genomförda algoritmer i kod. I en bredare mening av Turing-Churchs tes genomför algoritmen (och dĂ€rmed IS) en transformation av mĂ„nga ingĂ„ngsdata till mĂ„nga utgĂ„ngsdata.
Man kan till och med sÀga att meningen med en informationssystems existens ligger i transformationen av ingÄngsdata. Följaktligen definieras vÀrdet av IS och hela komplexet av IS genom vÀrdet av ingÄende och utgÄende data.
Baserat pÄ detta bör designen inledas med och ta hÀnsyn till data, vilket anpassar arkitektur och metoder till datans struktur och betydelse.

Lagrade data
Ett nyckels steg i förberedelserna för design Àr att erhÄlla egenskaperna för alla dataset som planeras att behandlas och lagras. Dessa egenskaper inkluderar:
— DatamĂ€ngd;
— Information om livscykeln för data (tillvĂ€xt av nya data, livslĂ€ngd, behandling av förĂ„ldrad data);
— Klassificering av data ur perspektivet av pĂ„verkan pĂ„ företagets huvudverksamhet (de tre hörnstenarna sekretess, integritet, tillgĂ€nglighet) tillsammans med finansiella indikatorer (t.ex. kostnaden för dataförlust under den senaste timmen);
— Geografi för databehandling (fysisk plats för behandlingssystem);
— Regelverkskrav för varje dataklass (t.ex. Federal Law-152, PCI DSS).

Informationssystem

Data lagras inte bara, utan bearbetas ocksÄ (transformeras) av informationssystem. NÀsta steg efter att ha fÄtt dataegenskaper Àr att göra en sÄ fullstÀndig inventering av informationssystemen som möjligt, deras arkitektoniska egenskaper, ömsesidiga beroenden och krav pÄ infrastruktur i enhetliga mÄtt för fyra typer av resurser:
— Processorkraft;
— MĂ€ngd RAM;
— Krav pĂ„ volym och prestanda för lagringssystem;
— Krav pĂ„ datakommunikationsnĂ€t (externa kanaler, kanaler mellan IS-komponenter).
Krav mÄste finnas för varje tjÀnst/mikrotjÀnst inom IS.
Det Àr sÀrskilt viktigt att notera den information som Àr nödvÀndig för korrekt design, som angett i form av kostnaden för driftstopp av IS (i rubel per timme).

Hotmodell

Det mÄste finnas en formell hotmodell som skyddar data/tjÀnster. Denna hotmodell omfattar inte bara aspekter av konfidentialitet utan Àven integritet och tillgÀnglighet. D.v.s. till exempel:
— Fel pĂ„ den fysiska servern;
— Fel pĂ„ top-of-the-rack-switchen;
— Avbrott i den optiska kommunikationskanalen mellan datacenter;
— Fel pĂ„ den operationella lagringslösningen helt.
I vissa fall skrivs hotmodeller inte bara för infrastrukturella komponenter utan ocksÄ för specifika IS eller deras komponenter, sÄsom ett fel i DBMS med logisk förstöring av datakonstruktionen.
Alla beslut inom projektet för att skydda mot odefinierade hot Àr överflödiga.

Regulatoriska krav

Om de behandlade uppgifterna omfattas av sÀrskilda regler som stÀlls av regulatorer, behövs nödvÀndigtvis information om datamÀngder och regler för behandling/lagring.

MÄl RPO/RTO

Design av alla typer av skydd krÀver nÀrvaro av indikatorer för mÄl för datarförlust och mÄltid för ÄterstÀllande av tjÀnsten för varje av de beskrivna hoten.
Idealt sett bör RPO och RTO ha associerade kostnader för datarförlust och driftstopp per tidsenhet.

Design av virtualiserad datacenter

Delning av resurspooler

Efter att ha samlat in all initial information Ă€r det första steget att gruppera uppsĂ€ttningar av data och IS i pooler, baserat pĂ„ hotmodeller och regulatoriska krav. Typen av uppdelning av olika pooler bestĂ€ms – antingen programvarumĂ€ssigt pĂ„ nivĂ„ med systemprogramvara eller fysiskt.
Exempel:
— Konturen som behandlar personuppgifter Ă€r helt fysiskt Ă„tskild frĂ„n andra system;
— SĂ€kerhetskopior lagras pĂ„ en separat lagringslösning.

Poolerna kan emellertid vara med ofullstÀndig sjÀlvstÀndighet, till exempel definieras tvÄ pooler av datorkraft (processorkraft + RAM) som anvÀnder en gemensam datalagringspool och en gemensam dataöverföringspool.

Processorkraft

Design av virtualiserad datacenter

Abstracta behov av processorstyrka i virtualiserade datacenter mÀts i antalet virtuella processorer (vCPU) och graden av deras konsolidering pÄ fysiska processorer (pCPU). I detta specifika fall motsvarar 1 pCPU = 1 fysiskt processor kÀrna (utan att ta hÀnsyn till Hyper-Threading). Antalet vCPU sammanrÀknas över alla definierade resurspooler (var och en av dem kan ha sin egen konsolideringsgrad).
Konsolideringsgraden för belastade system erhÄlls empiriskt, baserat pÄ befintlig infrastruktur, eller vid pilotinstallation och belastningstestning. För icke-belastade system anvÀnds "best practices". Specifikt anges medelvÀrdet av VMware som 8:1.

RAM

Det totala behovet av RAM fÄr genom enkel summering. AnvÀndning av överskrivning av RAM rekommenderas inte.

Lagringsresurser

Krav pÄ lagringsresurser fÄs genom att enkelt summera alla pooler efter volym och prestanda.
Prestandakrav uttrycks i IOPS i kombination med det genomsnittliga förhÄllandet mellan lÀsning/skrivning och vid behov högsta svarstid.
Specifika krav pÄ kvaliteten av tjÀnsten (QoS) för specifika pooler eller system mÄste anges sÀrskilt.

NĂ€tverksresurser

Krav pÄ nÀtverksresurser fÄs genom att enkelt summera alla poolers bandbredd.
Specifika krav pÄ kvaliteten av tjÀnsten (QoS) och latens (RTT) för specifika pooler eller system mÄste anges sÀrskilt.
Inom kraven pÄ nÀtverksresurser anges Àven krav pÄ isolering och/eller kryptering av nÀtverkstrafik och föredragna mekanismer (802.1q, IPSec etc.).

Val av arkitektur

I denna handledning behandlas inget annat val Àn x86-arkitekturen och 100% virtualisering av servrar. DÀrför Àr valet av arkitektur för datorsystemet begrÀnsat till valet av servervirtualiseringsplattform, serverformfaktor och allmÀnna krav pÄ serverkonfiguration.

En nyckelfaktor vid valet Àr tydlighet i anvÀndningen av den klassiska metoden med uppdelning av funktionerna för bearbetning, lagring och överföring av data eller konvergerande.

Klassisk arkitektur innebÀr anvÀndning av intelligenta externa lagrings- och datatransportsystem, medan servrar endast bidrar med processorkraft och RAM till den gemensamma poolen av fysiska resurser. I extrema fall blir servrar helt anonyma, utan egna diskar eller ens ett systemidentifierare. I sÄdana fall anvÀnds en operativsystem- eller hypervisorstart frÄn inbyggda flashmedia eller ett externt lagringssystem (boot from SAN).
Inom klassisk arkitektur görs valet mellan blad (blade) och rack (rack) frÀmst utifrÄn följande principer:
— Kostnadseffektivitet (i genomsnitt Ă€r rackservrar billigare);
— BerĂ€kningsdensitet (blad har högre densitet);
— Energikonsumtion och vĂ€rmeutveckling (blad har högre specifik vĂ€rmeutveckling per enhet);
— Skalbarhet och hanterbarhet (blad krĂ€ver allmĂ€nt mindre arbete vid stora installationer);
— AnvĂ€ndning av expansionskort (valet för blad Ă€r mycket begrĂ€nsat).
Konvergent arkitektur (Àven kÀnd som hyperkonvergent) innebÀr en kombination av databehandling och lagring, vilket leder till att servrarnas lokala diskar anvÀnds och dÀrmed avstÄr frÄn formfaktorn av klassiska blad. För konvergerande system anvÀnds antingen rackservrar eller klustersystem som kombinerar flera bladservrar och lokala diskar i ett enda chassi.

CPU / Minne

För korrekt berÀkning av konfigureringen behöver man förstÄ typen av belastning för miljön eller varje oberoende kluster.
CPU bound – en miljö som Ă€r begrĂ€nsad av processorkraft. Att lĂ€gga till RAM förĂ€ndrar ingenting nĂ€r det gĂ€ller prestanda (antal VM pĂ„ servern).
Memory bound – en miljö som Ă€r begrĂ€nsad av RAM-minnet. Mer RAM pĂ„ servern tillĂ„ter att fler VM kan startas.
GB / MHz (GB / pCPU) – det genomsnittliga förhĂ„llandet mellan den specifika belastningens minnes- och processorkraft. Kan anvĂ€ndas för att berĂ€kna det nödvĂ€ndiga minnesvolymen vid angiven prestanda och vice versa.

BerÀkning av serverkonfiguration

Design av virtualiserad datacenter

Först mÄste man identifiera alla typer av belastning och besluta om man ska kombinera eller separera olika berÀkningspooler över olika kluster.
DÀrefter bestÀms för varje definierat kluster förhÄllandet GB / MHz vid kÀnd belastning. Om belastningen inte Àr kÀnd i förvÀg, men man har en ungefÀrlig förstÄelse av nivÄerna för CPU-belastning, kan man anvÀnda standardkvoter för vCPU:pCPU för att översÀtta kraven för pooler till fysiska.

För varje kluster delar vi summan av kraven pÄ vCPU med kvoten:
vCPU_samling / vCPU:pCPU = pCPU_samling – det nödvĂ€ndiga antalet fysiska kĂ€rnor
pCPU_samling / 1.25 = pCPU_ht – antalet kĂ€rnor justerat för Hyper-Threading
Anta att vi behöver berÀkna ett kluster med 190 kÀrnor / 3.5 TB RAM. Vi antar hÀr att mÄlet Àr 50% belastning pÄ CPU och 75% pÄ RAM.

pCPU
190
CPU util
50%

Mem
3500
Mem util
75%

Socket
Core
Srv / CPU
Srv Mem
Srv / Mem

2
6
25,3
128
36,5

2
8
19,0
192
24,3

2
10
15,2
256
18,2

2
14
10,9
384
12,2

2
18
8,4
512
9,1

I det hÀr fallet anvÀnder vi alltid avrundning uppÄt till nÀrmaste heltal (=ROUNDUP(A1;0)).
Det framgÄr tydligt av tabellen att flera serverkonfigurationer Àr balanserade med tanke pÄ mÄlen:
— 26 servrar 2*6c / 192 GB
— 19 servrar 2*10c / 256 GB
— 10 servrar 2*18c / 512 GB

Valet av dessa konfigurationer mÄste göras med hÀnsyn till ytterligare faktorer, sÄsom vÀrmeutveckling och tillgÀnglig kylning, redan anvÀnda servrar eller kostnader.

SĂ€rskildheter vid val av serverkonfiguration

Breda VM. Vid behov av att placera breda VM (jÀmförbara med 1 NUMA-nod och mer) rekommenderas det att vÀlja en serverkonfiguration som hÄller dessa VM inom en NUMA-nod sÄ mycket som möjligt. Vid ett stort antal breda VM finns det en risk för fragmentering av klustrets resurser, och i dessa fall vÀljs servrar som möjliggör att placera breda VM sÄ tÀtt som möjligt.

Storleken pÄ ett domÀn för enskilt fel.

Valet av serverstorlek görs ocksÄ med principen om att minimera domÀnen för enskilt fel. Till exempel vid valet mellan:
— 3 x 4*10c / 512 GB
— 6 x 2*10c / 256 GB
Vid lika villkor bör det andra alternativet vÀljas, eftersom om en server gÄr ner (eller underhÄlls) förloras inte 33% av klustrets resurser, utan 17%. PÄ samma sÀtt minskar antalet VM och ISer som pÄverkas av en incident med hÀlften.

BerÀkning av klassisk lagringssystem prestanda

Design av virtualiserad datacenter

Klassisk lagringssystem berÀknas alltid utifrÄn vÀrsta scenariot (worst case scenario), utan att ta hÀnsyn till den operativa cachen och optimeringen av operationerna.
Som grundlÀggande prestandaindikatorer tar vi den mekaniska prestandan frÄn disken (IOPSdisk):
— 7.2k – 75 IOPS
— 10k – 125 IOPS
— 15k – 175 IOPS

DĂ€refter berĂ€knas antalet diskar i diskpoolen enligt följande formel: = TotalIOPS * ( RW + (1 –RW) * RAIDPen) / IOPSdisk. DĂ€r:
— TotalIOPS – den totala nödvĂ€ndiga prestandan i IOPS frĂ„n diskpoolen
— RW – procentandelen av lĂ€soperationer
— RAIDpen – RAID-straff för den valda RAID-nivĂ„n

Mer om RAID-enheter och RAID-straff beskrivs hĂ€r — Prestanda för lagringssystem. Del ett. och Prestanda för lagringssystem. Del tvĂ„. och Prestanda för lagringssystem. Del tre

Baserat pÄ det berÀknade antalet diskar berÀknas möjliga alternativ som uppfyller kraven pÄ lagringskapacitet, inklusive alternativ med fler-nivÄ lagring.
BerÀkning av system med SSD som lagringsnivÄ behandlas separat.
Egenskaper för berÀkning av system med Flash Cache

Flash Cache – en allmĂ€n benĂ€mning pĂ„ alla proprietĂ€ra teknologier som anvĂ€nder flashminne som andra nivĂ„ns cache. Vid anvĂ€ndning av flash-cache berĂ€knas lagringssystem vanligtvis för att hantera den etablerade belastningen frĂ„n magnetdiskar, medan den maximala belastningen hanteras av cachen.
Vid detta tillfÀlle Àr det nödvÀndigt att förstÄ belastningsprofilen och graden av lokalisering av Ätkomst till lagringens volymblock. Flash-cache Àr en teknologi för belastningar med hög lokaliseringsgrad av förfrÄgningar, och Àr praktiskt taget oanvÀndbar för jÀmnt belastade volymer (som till exempel för analytiska system).

BerÀkning av hybrida system low-end / mid-range

Hybrida system i lÄg och medelklass anvÀnder fler-nivÄ lagring med databehandling mellan nivÄerna enligt schema. I detta fall Àr blockstorleken för fler-nivÄ lagring hos de bÀsta modellerna 256 MB. Dessa egenskaper gör det omöjligt att betrakta teknologin för fler-nivÄ lagring som en teknologi för att öka prestanda, som mÄnga felaktigt tror. Fler-nivÄ lagring i lÄg- och medelklassystem Àr en teknik för att optimera lagringskostnader för system med uttalad ojÀmn belastning.

För flernivÄlagring berÀknas först och frÀmst prestandan för den övre nivÄn, medan den nedre lagringsnivÄn endast anses bidra med den saknade lagringskapaciteten. För ett hybrid flernivÄsystem Àr det nödvÀndigt att anvÀnda flash cache-teknik för den flernivÄpoolen för att kompensera för prestandafallet för data som plötsligt blivit varma frÄn den nedre nivÄn.

AnvÀndning av SSD i flernivÄdiskpoolen

Design av virtualiserad datacenter

AnvÀndningen av SSD i flernivÄdiskpoolen har variationer beroende pÄ egenskaperna hos algoritmerna för flash cache frÄn denna tillverkare.
AllmÀn praxis för lagringspolicy för diskpool med SSD-nivÄ Àr SSD först.
Read Only Flash Cache. För flashcache endast för lÀsning uppstÄr lagringsnivÄn pÄ SSD vid betydande lokalisering av skrivoperationer oavsett cachen.
Read / Write Flash Cache. Vid skrivcache faststÀlls först den maximala cachekapaciteten, och lagringsnivÄn pÄ SSD uppstÄr endast vid otillrÀcklig cachestorlek för att hantera hela den lokalisering belastningen.
PrestandaberÀkningen för SSD och cachar görs varje gÄng baserat pÄ tillverkarens rekommendationer, men alltid för det sÀmsta fallet.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster