Virtualisearre datacenterûntwerp

Virtualisearre datacenterûntwerp

Ynlieding

In ynformaasjesysteem út it eachpunt fan 'e brûker is goed definiearre yn GOST RV 51987 - "in automatisearre systeem, wêrfan it resultaat is de presintaasje fan útfierynformaasje foar folgjende gebrûk." As wy de ynterne struktuer beskôgje, dan is yn essinsje elke IS in systeem fan ferbûne algoritmen dy't yn koade ymplementearre binne. Yn in brede sin fan 'e Turing-Church-proefskrift transformeart in algoritme (of IS) in set ynfiergegevens yn in set útfiergegevens.
Men soe sels sizze kinne dat de transformaasje fan ynfiergegevens de betsjutting is fan it bestean fan in ynformaasjesysteem. Dêrnjonken wurdt de wearde fan 'e IS en it hiele IS-kompleks bepaald troch de wearde fan ynfier- en útfiergegevens.
Op grûn dêrfan moat ûntwerp begjinne en data-oandreaune wêze, arsjitektuer en metoaden oanpasse oan 'e struktuer en betsjutting fan 'e gegevens.

Opsleine gegevens
In wichtige poadium yn tarieding op ûntwerp is it krijen fan de skaaimerken fan alle datasets pland foar ferwurking en opslach. Dizze skaaimerken omfetsje:
- Data folume;
- Ynformaasje oer de libbenssyklus fan gegevens (groei fan nije gegevens, lifespan, ferwurking fan ferâldere gegevens);
- Klassifikaasje fan gegevens út it eachpunt ynfloed op it kearnbedriuw fan it bedriuw (de trijetal fan fertroulikens, yntegriteit, beskikberens) tegearre mei finansjele yndikatoaren (bygelyks de kosten fan gegevensferlies yn 'e lêste oere);
- Geografy fan gegevensferwurking (fysike lokaasje fan ferwurkingssystemen);
- Regeljouwing easken foar eltse gegevens klasse (Bygelyks, Federal Law-152, PCI DSS).

Ynformaasje systemen

Gegevens wurde net allinnich opslein, mar ek ferwurke (omfoarme) troch ynformaasjesystemen. De folgjende stap nei it krijen fan de gegevenskenmerken is de meast folsleine ynventarisaasje fan ynformaasjesystemen, har arsjitektoanyske funksjes, ynterôfhinklikens en ynfrastruktuereasken yn konvinsjonele ienheden foar fjouwer soarten boarnen:
- prosessor komputerkrêft;
- hoemannichte RAM;
- easken foar it folume en prestaasjes fan it gegevensopslachsysteem;
- Easken foar it gegevensoerdrachtnetwurk (eksterne kanalen, kanalen tusken IS-komponinten).
Yn dit gefal moatte d'r easken wêze foar elke tsjinst / mikrotsjinst as ûnderdiel fan 'e IS.
Apart is it nedich om te notearjen dat, foar juste ûntwerp, de beskikberens fan gegevens oer de ynfloed fan 'e IS op' e kearnbedriuw fan it bedriuw yn 'e foarm fan' e kosten fan IS-downtime (roebels per oere) ferplicht is.

Bedriging model

D'r moat in formeel model fan bedrigingen wêze wêrfan it pland is om gegevens / tsjinsten te beskermjen. Boppedat omfettet it bedrigingsmodel net allinich aspekten fan fertroulikens, mar ek yntegriteit en beskikberens. Dy. Bygelyks:
- Mislearjen fan de fysike tsjinner;
- Mislearjen fan de top-of-the-rack switch;
- Fersteuring fan it optyske kommunikaasjekanaal tusken datasintra;
- Mislearjen fan it hiele operasjonele opslachsysteem.
Yn guon gefallen wurde bedrigingsmodellen skreaun net allinich foar ynfrastruktuerkomponinten, mar ek foar spesifike ynformaasjesystemen of har komponinten, lykas in DBMS-mislearring mei logyske ferneatiging fan 'e gegevensstruktuer.
Alle besluten binnen it projekt om te beskermjen tsjin in net beskreaune bedriging binne net nedich.

Regeljouwing easken

As de gegevens dy't wurde ferwurke ûnderwurpen binne oan spesjale regels fêststeld troch tafersjochhâlders, is ynformaasje oer datasets en regels foar ferwurking / opslach nedich.

RPO/RTO-doelen

It ûntwerpen fan elk type beskerming fereasket yndikatoaren foar doelgegevensferlies en hersteltiid foar doeltsjinst foar elk fan 'e beskreaune bedrigingen.
Ideal moatte RPO en RTO byhearrende kosten hawwe fan gegevensferlies en downtime per ienheid tiid.

Virtualisearre datacenterûntwerp

Ferdieling yn boarne pools

Nei it sammeljen fan alle inisjele ynfierynformaasje, is de earste stap om gegevenssets en IP te groepearjen yn pools basearre op bedrigingsmodellen en regeljouwingseasken. It type ferdieling fan ferskate swimbaden wurdt bepaald - programmatysk op it nivo fan systeemsoftware as fysyk.
foarbylden:
- It circuit dat persoanlike gegevens ferwurket is folslein fysyk skieden fan oare systemen;
- Reservekopyen wurde opslein op in apart opslachsysteem.

Yn dit gefal, de puollen kinne wêze ûnfolslein ûnôfhinklik, Bygelyks, twa pools fan Computing boarnen wurde definiearre (prosessor macht + RAM), dy't brûke in inkele gegevens opslach pool en in inkele gegevens oerdracht boarne pool.

Processing macht

Virtualisearre datacenterûntwerp

Abstrakt, de ferwurkingskrêfteasken fan in virtualisearre datasintrum wurde mjitten yn termen fan it oantal firtuele processors (vCPU's) en har konsolidaasjeferhâlding op fysike processors (pCPU). Yn dit bysûndere gefal, 1 pCPU = 1 fysike prosessor kearn (útsein Hyper-Threading). It oantal vCPU's wurdt gearfette oer alle definieare boarnepools (elk kin in eigen konsolidaasjefaktor hawwe).
De konsolidaasjekoëffisjint foar laden systemen wurdt empirysk krigen, basearre op besteande ynfrastruktuer, of troch pilotynstallaasje en loadtesten. Foar ûntladen systemen wurdt "bêste praktyk" brûkt. Spesifyk neamt VMware de gemiddelde ferhâlding as 8:1.

RAM

De totale RAM eask wurdt krigen troch ienfâldige opsomming. It brûken fan RAM-oerabonnemint is net oan te rieden.

Opslach boarnen

Opslach easken wurde krigen troch gewoan optelle alle swimbaden troch kapasiteit en prestaasjes.
Prestaasjeeasken wurde útdrukt yn IOPS kombinearre mei in gemiddelde lês-/skriuwferhâlding en, as nedich, in maksimale antwurdlatens.
Quality of Service (QoS) easken foar spesifike swimbaden of systemen moatte wurde oantsjutte apart.

Data netwurk boarnen

De easken foar gegevensnetwurk wurde krigen troch gewoan alle bânbreedtepools op te tellen.
Kwaliteit fan tsjinst (QoS) en latency (RTT) easken foar spesifike swimbaden of systemen moatte apart wurde oantsjutte.
As ûnderdiel fan 'e easken foar gegevensnetwurkboarnen wurde ek easken oanjûn foar isolaasje en / of fersifering fan netwurkferkear en foarkommende meganismen (802.1q, IPSec, ensfh.).

Arsjitektuer seleksje

Dizze hantlieding omfettet gjin oare karren as x86-arsjitektuer en 100% servervirtualisaasje. Dêrom komt de kar fan komputersubsysteemarsjitektuer del op 'e kar fan servervirtualisaasjeplatfoarm, serverfoarmfaktor en algemiene easken foar serverkonfiguraasje.

It kaaipunt fan kar is de wissichheid fan it brûken fan in klassike oanpak mei skieding fan funksjes fan ferwurkjen, opslaan en ferstjoeren fan gegevens as in konvergente.

klassike arsjitektuer omfettet it brûken fan yntelliginte eksterne subsystemen foar it bewarjen en ferstjoeren fan gegevens, wylst tsjinners bydrage allinnich ferwurkjen macht en RAM oan de mienskiplike pool fan fysike middels. Yn ekstreme gefallen wurde servers folslein anonym, mei net allinich har eigen skiven, mar net iens in systeemidentifikator. Yn dit gefal wurdt it OS of hypervisor laden fan ynboude flashmedia of fan in eksterne gegevensopslachsysteem (boot fan SAN).
Yn it ramt fan klassike arsjitektuer wurdt de kar tusken blêden en rekken foaral makke op basis fan de folgjende prinsipes:
- Kosten-effektyf (gemiddeld binne rack-mount-tsjinners goedkeaper);
- Computational tichtens (heger foar blêden);
- Enerzjyferbrûk en waarmte dissipaasje (blêden hawwe in hegere spesifike ienheid per ienheid);
- Scalability en kontrolearberens (blades fereaskje algemien minder ynspannings foar grutte ynstallaasjes);
- Gebrûk fan útwreiding kaarten (hiel beheind kar foar blêden).
Konvergente arsjitektuer (ek bekind as hyperconverged) giet it om it kombinearjen fan de funksjes fan gegevensferwurking en opslach, wat liedt ta it brûken fan lokale serverskiven en, as gefolch, it ferlitten fan 'e klassike bladefoarmfaktor. Foar konvergearre systemen wurde of rack tsjinners of kluster systemen brûkt, kombinearjen ferskate blade tsjinners en lokale skiven yn ien gefal.

CPU / Unthâld

Om de konfiguraasje korrekt te berekkenjen, moatte jo it type lading foar it miljeu as elk fan 'e ûnôfhinklike klusters begripe.
CPU ferbûn - in omjouwing beheind yn prestaasjes troch prosessorkrêft. It tafoegjen fan RAM sil neat feroarje yn termen fan prestaasjes (oantal VM's per tsjinner).
Unthâld bûn - omjouwing beheind troch RAM. Mear RAM op de tsjinner kinne jo rinne mear VMs op de tsjinner.
GB / MHz (GB / pCPU) - de gemiddelde ferhâlding fan konsumpsje fan RAM en prosessorkrêft troch dizze bepaalde lading. Kin brûkt wurde om te berekkenjen it fereaske bedrach fan ûnthâld foar in opjûne prestaasje en oarsom.

Server konfiguraasje berekkening

Virtualisearre datacenterûntwerp

Earst moatte jo alle soarten lading bepale en beslute oer it kombinearjen of ferdielen fan ferskate komputerpools yn ferskate klusters.
Folgjende, foar elk fan 'e definieare klusters, wurdt de GB / MHz-ferhâlding bepaald op in foarôf bekende lading. As de lading is net bekend fan tefoaren, mar der is in rûch begryp fan it nivo fan prosessor macht benutten, kinne jo gebrûk meitsje fan standert vCPU: pCPU ferhâldingen te bekearen pool easken yn fysike.

Diel foar elk kluster de som fan de easken fan vCPU-pool troch de koeffizient:
vCPUsum / vCPU:pCPU = pCPUsum - fereaske oantal fysike ienheden. kearnen
pCPUsum / 1.25 = pCPUht - oantal kearnen oanpast foar Hyper-Threading
Litte wy oannimme dat it nedich is om in kluster te berekkenjen mei 190 kearnen / 3.5 TB RAM. Tagelyk akseptearje wy in doellading fan 50% fan prosessorkrêft en 75% fan RAM.

pcPU
190
CPU util
50%

Mem
3500
Mem nut
75%

Socket
Kearn
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

Yn dit gefal brûke wy altyd ôfrûnjen nei it tichtstbyste heule getal (=ROUNDUP(A1;0)).
Ut 'e tabel wurdt it dúdlik dat ferskate serverkonfiguraasjes balansearre binne foar de doelyndikatoaren:
- 26 tsjinners 2 * 6c / 192 GB
- 19 tsjinners 2 * 10c / 256 GB
- 10 tsjinners 2 * 18c / 512 GB

De kar fan dizze konfiguraasjes moat dan makke wurde op basis fan ekstra faktoaren, lykas termyske pakket en beskikbere koeling, al brûkte servers, of kosten.

Funksjes fan it kiezen fan in tsjinner konfiguraasje

Wide VM's. As it nedich is om brede VM's te hostjen (fergelykber mei 1 NUMA-knooppunt of mear), wurdt it oanrikkemandearre, as it mooglik is, in tsjinner te selektearjen mei in konfiguraasje wêrmei sokke VM's binnen it NUMA-knooppunt bliuwe kinne. Mei in grut oantal brede VM's is d'r in gefaar fan fragmintaasje fan klusterboarnen, en yn dit gefal wurde tsjinners selektearre wêrmei't brede VM's sa ticht mooglik pleatst wurde.

Single failure domein grutte.

De kar fan servergrutte is ek basearre op it prinsipe fan it minimalisearjen fan it ienige mislearre domein. Bygelyks, as jo kieze tusken:
- 3 x 4 * 10c / 512 GB
- 6 x 2 * 10c / 256 GB
As alle oare dingen gelyk binne, moatte jo de twadde opsje kieze, om't as ien tsjinner mislearret (of wurdt ûnderhâlden), binne net 33% fan 'e klusterboarnen ferlern, mar 17%. Op deselde wize wurdt it oantal VM's en IS's dat troch it ûngelok troffen is mei de helte fermindere.

Berekkening fan klassike opslachsystemen basearre op prestaasjes

Virtualisearre datacenterûntwerp

Klassike opslachsystemen wurde altyd berekkene mei it minste gefal senario, útsein de ynfloed fan 'e operasjonele cache en optimisaasje fan operaasjes.
As basisprestaasje-yndikatoaren nimme wy meganyske prestaasjes fan 'e skiif (IOPSdisk):
- 7.2k - 75 IOPS
- 10k - 125 IOPS
- 15k - 175 IOPS

Dêrnei wurdt it oantal skiven yn 'e skiifpool berekkene mei de folgjende formule: = TotalIOPS * ( RW + (1 –RW) * RAIDPen) / IOPSdisk. Wêr:
- Totaal IOPS - totale fereaske prestaasjes yn IOPS út de skiif pool
- RW - persintaazje fan lêzen operaasjes
- RAIDpen - RAID-straffe foar it selekteare RAID-nivo

Lês mear oer Device RAID en RAID Penalty hjir - Storage prestaasjes. Diel ien. и Storage prestaasjes. Diel twa. и Storage prestaasjes. Diel trije

Op grûn fan it resultearjende oantal skiven wurde mooglike opsjes berekkene dy't foldogge oan de easken foar opslachkapasiteit, ynklusyf opsjes mei opslach op meardere nivo's.
De berekkening fan systemen mei SSD as opslachlaach wurdt apart beskôge.
Funksjes fan berekkeningssystemen mei Flash Cache

flash-cache - in mienskiplike namme foar alle proprietêre technologyen foar it brûken fan flash-ûnthâld as in twadde-nivo-cache. By it brûken fan in flash-cache wurdt it opslachsysteem normaal berekkene om in fêste lading te leverjen fan magnetyske skiven, wylst de peak wurdt betsjinne troch de cache.
Yn dit gefal is it nedich om it loadprofyl en de mjitte fan lokalisaasje fan tagong ta blokken fan opslachvoluminten te begripen. Flash-cache is in technology foar wurkloads mei heul lokale fragen, en is praktysk net fan tapassing foar unifoarm laden folumes (lykas foar analytyske systemen).

Berekkening fan low-end / mid-range hybride systemen

Hybride systemen fan 'e legere en middenklassen brûke opslach op meardere nivo's mei gegevens dy't tusken nivo's ferpleatse op in skema. Tagelyk is de grutte fan it multi-level opslachblok foar de bêste modellen 256 MB. Dizze funksjes tastean ús net te beskôgje tiered opslach technology in technology foar it fergrutsjen fan de produktiviteit, sa't in protte minsken fersin leauwe. Opslach op meardere nivo's yn systemen mei leech- en middenklasse is in technology foar it optimalisearjen fan opslachkosten foar systemen mei útsprutsen load-unevenness.

Foar tiered opslach wurdt de prestaasjes fan 'e boppeste tier earst berekkene, wylst de ûnderste tier fan opslach wurdt beskôge allinich by te dragen oan' e ûntbrekkende opslachkapasiteit. Foar in hybride multi-tier-systeem is it ferplicht om flash-cache-technology te brûken foar it multi-tier-pool om te kompensearjen foar de prestaasjesfermindering foar ynienen ferwaarme gegevens fan it legere nivo.

Mei help fan in SSD yn in Tiered Disk Pool

Virtualisearre datacenterûntwerp

It brûken fan SSDs yn in multi-level skiif pool hat fariaasjes, ôfhinklik fan de spesifike ymplemintaasje fan flash cache algoritmen troch in opjûne fabrikant.
De algemiene praktyk fan opslachbelied foar in skiifpool mei in SSD-nivo is earst SSD.
Lês Allinnich Flash Cache. Foar in read-allinnich flash-cache komt de opslachlaach op 'e SSD mei signifikante lokalisaasje fan skriuwen, nettsjinsteande de cache.
Lês / skriuw Flash-cache. Yn it gefal fan flash-cache wurdt de skriuw-cache-grutte earst ynsteld op 'e maksimale cache-grutte, en de SSD-opslachtier ferskynt allinich as de cache-grutte net genôch is om de heule lokale wurkdruk te tsjinjen.
SSD- en cacheprestaasjes wurde elke kear makke op basis fan de oanbefellings fan 'e fabrikant, mar altyd foar it slimste gefal.

Boarne: www.habr.com

Add a comment