
Innledning
Informasjonssystemet blir godt definert sett fra brukerens perspektiv i GOST RV 51987 â «et automatisert system, hvor resultatet av driften er presentasjon av utdata for videre bruk». Hvis vi ser pĂ„ den interne strukturen, sĂ„ er i prinsippet ethvert IS et system av sammenkoblede algoritmer realisert i kode. I en bredere forstĂ„else av Turing-Church-teoremet, utfĂžrer algoritmen (og dermed IS) en transformasjon av mange inngangsdata til mange utgangsdata.
Man kan til og med si at meningen med en informasjonssystems eksistens ligger i transformasjonen av inngangsdata. Dermed defineres verdien av IS og hele komplekset av IS gjennom verdien av inngangs- og utgangsdata.
Basert pÄ dette bÞr designprosessen starte med Ä ta utgangspunkt i dataene, og tilpasse arkitekturen og metodene til strukturen og betydningen av disse dataene.
Lagrende data
En nĂžkkelkomponent i forberedelsene til design er Ă„ skaffe egenskaper for alle datamengder planlagt for behandling og lagring. Disse egenskapene inkluderer:
â Datamengde;
â Informasjon om datalivssyklusen (vekst av nye data, levetid, behandling av foreldede data);
â Klassifisering av data ut fra deres pĂ„virkning pĂ„ selskapets kjernevirksomhet (i forhold til konfidensialitet, integritet, tilgjengelighet) sammen med finansielle indikatorer (f.eks. kostnadene ved datatap det siste timen);
â Geografi for behandlingen av data (fysisk plassering av behandlingssystemer);
â Reguleringers krav for hver dataklasse (f.eks. FZ-152, PCI DSS).
Informasjonssystemer
Data lagres ikke bare, men behandles (transformeres) ogsÄ av informasjonssystemer. Neste trinn etter Ä ha innhentet datakarakteristikker er en sÄ fullstendig oversikt som mulig over informasjonssystemene, deres arkitektoniske sÊregenheter, gjensidig avhengighet og krav til infrastruktur i vilkÄrlige enheter for de fire ressurskategoriene:
â Prosessorberegningskraft;
â Mengde RAM;
â Krav til volum og ytelse av lagringssystemet;
â Krav til datanettverket (eksterne kanaler, kanaler mellom komponentene i IS).
Kravene mÄ vÊre til stede for hver tjeneste/mikrotjeneste i informasjonssystemet.
Det er viktig Ä pÄpeke at det er nÞdvendig med data om innvirkningen av informasjonssystemet pÄ selskapets hovedvirksomhet i form av kostnaden av driftsstopper for informasjonssystemet (rubler per time).
Trusselmodell
Det mÄ pÄ plass en formell trusselmodell som beskriver hvilke trusler data/tjenester skal beskyttes mot. Denne modellen omfatter ikke bare aspekter av konfidensialitet, men ogsÄ integritet og tilgjengelighet. Det vil si for eksempel:
â Feil pĂ„ fysisk server;
â Feil pĂ„ top-of-the-rack switch;
â Brudd pĂ„ optisk samband mellom datasentre;
â Feil pĂ„ aktiv lagringslĂžsning totalt.
I noen tilfeller skrives trusselmodeller ikke bare for infrastrukturelle komponenter, men ogsÄ for spesifikke informasjonssystemer eller deres komponenter, som for eksempel svikt i databasesystemet med logisk Þdeleggelse av databasens struktur.
Alle beslutninger innen prosjektet for Ă„ beskytte mot ubeskrevne trusler er overflĂždige.
Regulatoriske krav
Hvis de behandlede dataene faller under spesielle regler fastsatt av regulatorer, er det obligatorisk Ă„ ha informasjon om datasett og regler for behandling/lagring.
MÄlverdier for RPO/RTO
Prosjektering av enhver form for beskyttelse krever tilstedevÊrelse av mÄlverdier for tap av data og mÄlverdier for gjenopprettingstid av tjeneste for hver av de beskrevne truslene.
Ideelt sett bĂžr RPO og RTO ha tilknyttede kostnader for datatap og driftsstans per enhet tid.

Oppdeling i ressurspooler
Etter Ă„ ha samlet all innledende informasjonsinnhold, er det fĂžrste steget Ă„ gruppere datasett og informasjonssystemer i pooler, basert pĂ„ trusselmodeller og regulatoriske krav. Det bestemmes hvilken type inndeling av forskjellige pooler som benyttes â programmatisk pĂ„ systemnivĂ„ eller fysisk.
Eksempler:
â Konturene som behandler personopplysninger er helt fysisk adskilt fra andre systemer;
â Sikkerhetskopier lagres pĂ„ separate lagringslĂžsninger.
Poolene kan ogsÄ ha ufullstendig uavhengighet, for eksempel kan det defineres to pooler for databehandlingsressurser (prosessorkraft + RAM), som bruker et felles lagringsomrÄde og et felles datakommunikasjonsressursomrÄde.
Prossessorbasert kapasitet

De abstrakte behov for prosessorstÞrrelse i en virtualisert datasenter mÄles i antall virtuelle prosessorer (vCPU) og konsolideringsfaktoren deres pÄ fysiske prosessorer (pCPU). I dette spesifikke tilfellet er 1 pCPU = 1 fysisk prosessorkjerne (uten hensyn til Hyper-Threading). Antallet vCPU summeres over alle definerte ressursbassenger (hver av dem kan ha sin egen konsolideringsfaktor).
Konsolideringsfaktoren for belastede systemer oppnÄs empirisk, basert pÄ den eksisterende infrastrukturen eller ved pilotinstallasjon og belastningstesting. For ubearbeidede systemer brukes «beste praksis». Spesifikt angir VMware en gjennomsnittlig konsolideringsfaktor pÄ 8:1.
RAM
Den totale behovet for arbeidsminne oppnÄs ved enkel summering. Bruk av overbookede minne anbefales ikke.
Lagringsressurser
Kravene til lagringsressurser fÄs ved enkel summering av alle bassenger etter volum og ytelse.
Ytelseskravene uttrykkes i IOPS kombinert med det gjennomsnittlige forholdet mellom lesing/skriving og ved behov maksimal responstid.
Krav til tjenestekvalitet (QoS) mÄ spesifiseres separat for bestemte bassenger eller systemer.
Nettverksressurser
Kravene til nettverkskapasitet oppnÄs ved enkel summering av alle bassenger.
Krav til tjenestekvalitet (QoS) og forsinkelser (RTT) mÄ spesifiseres separat for bestemte bassenger eller systemer.
Innenfor kravene til nettverksressurser mÄ ogsÄ krav til isolasjon og/eller kryptering av nettverkstrafikk og foretrukne mekanismer (802.1q, IPSec osv.) angis.
Valg av arkitektur
I denne veiledningen vurderes det ikke noe annet valg enn x86-arkitektur og 100% servervirtualisering. Derfor reduseres valget av databehandlingssubsystemets arkitektur til valget av servervirtualiseringsplattform, serverformfaktor og generelle krav til serverkonfigurasjon.
NĂžkkelpunktene i valget er avklarte valg mellom den klassiske tilnĂŠrmingen som skiller funksjonene for behandling, lagring og overfĂžring av data eller konvergerende.
Klassisk arkitektur inneber Ă„ bruke intelligente eksterne lagrings- og datatransfer systemer, mens serverne bare tilfĂžrer den fysiske ressursbeholdningen prosessorkraft og RAM. I ytterste fall blir serverne helt anonyme og har ikke bare egne disker, men heller ikke et systemidentifikator. I slike tilfeller brukes det Ă„ starte OS eller hypervisor fra innebygde flash-minner eller fra et eksternt lagringssystem (boot from SAN).
Innen klassisk arkitektur gjĂžres valget mellom blad (blade) og rack-servere fĂžrst og fremst ut fra fĂžlgende prinsipper:
â Kostnadseffektivitet (rack-servere er i gjennomsnitt billigere);
â Beregningsdybde (blader har hĂžyere tetthet);
â StrĂžmforbruk og varmedannelse (blader har hĂžyere spesifikk forbruk per enhet);
â Skalerbarhet og hĂ„ndterbarhet (blader krever generelt mindre innsats ved store installasjoner);
â Bruk av utvidelseskort (det er et svĂŠrt begrenset utvalg for blader).
Konvergent arkitektur (ogsÄ kjent som hyperkonvergent) innebÊrer en fusjon av data behandlings- og lagringsfunksjoner, noe som fÞrer til bruken av lokal disker i serverne og dermed oppgivelsen av formfaktoren til klassiske blader. For konvergerte systemer brukes enten rack-servere eller klyngesystemer som kombinerer flere bladere servere og lokale disker i et enkelt kabinett.
CPU / Minne
For Ä beregne konfigurasjonen riktig mÄ man forstÄ typen belastning for miljÞet eller hver av de uavhengige klyngene.
CPU bound â et miljĂž som er begrenset av prosesseringskraften til CPU. Tillegget av mer RAM vil ikke endre noe med hensyn til ytelsen (antall VM pĂ„ serveren).
Memory bound â et miljĂž som er begrenset av RAM. Mer RAM pĂ„ serveren lar deg kjĂžre flere VM-er.
GB / MHz (GB / pCPU) â det gjennomsnittlige forholdet mellom RAM-forbruket til denne spesifikke belastningen og prosessorkraften. Kan brukes til Ă„ beregne nĂždvendig minnevolum ved angitt ytelse og omvendt.
Beregning av serverkonfigurasjon

FÞrst mÄ vi identifisere alle typer belastning og ta en beslutning om Ä kombinere eller skille forskjellige beregningspuljer i ulike klynger.
Deretter bestemmes forholdet GB / MHz for hver av de definerte klustrene med en kjent belastning. Hvis belastningen ikke er kjent pÄ forhÄnd, men det er en omtrentlig forstÄelse av prosessorens belastningsnivÄ, kan man bruke standardforholdene vCPU:pCPU for Ä oversette kravene fra puljene til fysisk.
For hver klynge deler vi summen av vCPU-kravene pÄ forholdet:
vCPU_summ / vCPU:pCPU = pCPU_summ â nĂždvendig antall fysiske kjerner
pCPU_summ / 1.25 = pCPU_ht â antall kjerner med justering for Hyper-Threading
La oss anta at vi mÄ gjÞre beregninger for en klynge med 190 kjerner / 3.5 TB RAM. Her tar vi en mÄlet belastning pÄ 50% av prosessorkraften og 75% for RAM.
pCPU
190
CPU-util
50%
Minne
3500
Minne-util
75%
Socket
Kjerne
Srv / CPU
Srv Minne
Srv / Minne
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 dette tilfellet bruker vi alltid avrunding til nĂŠrmeste hele oppover (=ROUNDUP(A1;0)).
Fra tabellen blir det tydelig at flere konfigurasjoner av servere er balanserte etter mÄlverdiene:
â 26 servere 2*6c / 192 GB
â 19 servere 2*10c / 256 GB
â 10 servere 2*18c / 512 GB
Valget mellom disse konfigurasjonene mÄ baseres pÄ tilleggsskader som varmeutvikling og tilgjengelig kjÞling, allerede eksisterende servere, eller kostnad.
Egenskaper ved valg av serverkonfigurasjon
Bred VM. NÄr det er behov for Ä plassere brede VM (sammenlignbare med 1 NUMA-nod og mer), anbefales det Ä velge en serverkonfigurasjon som tillater slike VM Ä forbli innenfor NUMA-noden. NÄr vi har mange brede VM, oppstÄr det en risiko for fragmentering av klyngeressursene, og i slike tilfeller velges servere som muliggjÞr en tettere plassering av brede VM.
StÞrrelsen pÄ domenet for enkeltfeil.
Valget av serverstÞrrelse styres ogsÄ av prinsippet om Ä minimere domenet for enkeltfeil. For eksempel ved valg mellom:
â 3 x 4*10c / 512 GB
â 6 x 2*10c / 256 GB
Ved ellers like betingelser mÄ man velge det andre alternativet, ettersom nÄr en server svikter (eller er under vedlikehold) gÄr ikke 33% av klynge ressursene tapt, men 17%. PÄ samme mÄte reduseres antallet VM-er og IS-er som ble berÞrt av hendelsen med det halve.
Beregning av klassisk lagringsytelse

Klassisk lagringsytelse beregnes alltid ut fra worst case scenario, uten Ă„ ta hensyn til innvirkningen av hurtigminnekontroller og optimering av operasjoner.
Som grunnleggende ytelsesparametre tar vi hensyn til den mekaniske ytelsen fra disken (IOPSdisk):
â 7.2k â 75 IOPS
â 10k â 125 IOPS
â 15k â 175 IOPS
Deretter beregnes antall disker i diskpoolen etter fĂžlgende formel: = TotalIOPS * ( RW + (1 âRW) * RAIDPen) / IOPSdisk. Hvor:
â TotalIOPS â samlet nĂždvendig ytelse i IOPS fra diskpoolen
â RW â prosentandel av leseoperasjoner
â RAIDpen â RAID-straff for valgt RAID-nivĂ„
Mer om RAID-enhet og RAID-straff finnes her â og og
Basert pÄ det beregnede antallet disker, beregnes mulige alternativer som tilfredsstiller lagringskapasitetskravene, inkludert alternativer med flertrinnslagring.
Beregning av systemer med SSD som lagringsnivÄ vurderes separat.
Egenskaper ved beregning av systemer med Flash Cache
Flash Cache â det generelle navnet for alle merkespesifikke teknologier som bruker flash-minne som et sekundĂŠrt cache. Ved bruk av flash-cache beregnes lagringsytelsen vanligvis for Ă„ imĂžtekomme stabil belastning fra magnetiske disker, mens toppbelastningen dekkes av cachen.
Det er nÞdvendig Ä forstÄ lastprofilen og graden av lokalisering av forespÞrslene til volumene. Flash-cache er en teknologi for belastninger med hÞy lokalisering av forespÞrslene, og er praktisk talt ikke anvendbar for jevnt belastede volumer (som for eksempel for analysesystemer).
Beregning av hybrid systemer low-end / mid-range
Hybrid systemer av lav og middels klasse bruker flertrinnslagring med dataoverfÞring mellom nivÄene etter en tidsplan. I denne sammenheng har beste modeller et lagringsblokkstÞrrelse pÄ 256 MB. Disse egenskapene lar oss ikke betrakte flertrinnslagringsteknologien som en ytelsesÞkningsmetode, som mange feilaktig antar. Flertrinnslagring i systemer av lav og middels klasse er en kostnadsoptimeringsteknologi for lagringssystemer med tydelig ujevn belastning.
For multi-tiered storage, performance at the upper tier is primarily calculated, while the lower storage tier is considered only as a supplementary source of storage capacity. For a hybrid multi-tiered system, the use of flash cache technology in the multi-tier pool is essential to compensate for performance drops for suddenly heated data from the lower tier.
Using SSD in a multi-tier disk pool

The use of SSD in a multi-tier disk pool varies depending on the specific implementation of flash cache algorithms by the manufacturer.
The general practice for storage policy for a disk pool with SSD level is SSD first.
Read Only Flash Cache. For read-only flash cache, the storage level on SSD appears with significant localization of write operations regardless of the cache.
Read / Write Flash Cache. In the case of write flash cache, the maximum cache size is set first, and the storage level on SSD appears only when the cache size is insufficient to handle the entire localized load.
The performance of SSD and cache is calculated each time based on the manufacturer's recommendations, but always for the worst-case scenario.
Kilde: habr.com
