Elementer av diskundersystemer til servere

Disk- og filundersystemene til en datamaskin er vanligvis ikke gjenstand for spesiell oppmerksomhet fra brukere. Winchester er en ganske pålitelig ting og fungerer som på egen hånd, uten å tiltrekke seg oppmerksomheten til en vanlig bruker i det hele tatt.

Ved å mestre de grunnleggende teknikkene for å jobbe med filer og mapper, bringer en slik bruker dem til full automatisme, uten å tenke på eksistensen av ytterligere verktøy for å vedlikeholde en harddisk. Diskbehandling er fullstendig flyttet til operativsystemet.

Vanskeligheter begynner enten når filsystemet viser en tydelig ytelsesforringelse, eller når det begynner å svikte. En annen grunn til en nærmere studie av dette emnet: installasjon av flere "skruer" på en PC samtidig.

Som enhver kompleks enhet trenger en harddisk regelmessig vedlikehold. Windows 7, selv om det tar seg av noen av disse bekymringene, er det ikke i stand til å løse alle problemene for deg på egen hånd. Ellers er "bremser" garantert over tid. Som et minimum må du kunne gjøre følgende:

  • Rydd opp i filsystemet fra søppel. Konseptet med søppel inkluderer midlertidige filer, nettleserinformasjonskapsler som har spredt seg, duplisert informasjon, etc.
  • Defragmenter harddisken din. Windows-filsystemet er bygget på en slik måte at det brukeren ser som en helhet faktisk er separate fragmenter av filer spredt over den magnetiske overflaten på harddisken, samlet i en kjede: hvert forrige fragment kjenner hvert neste. For å lese filen som helhet, må du sette disse delene sammen, som du må gjøre et stort antall lesesykluser for fra forskjellige steder på overflaten. Det samme skjer ved opptak. Defragmentering lar deg samle alle disse brikkene på ett sted.
  • Se og korriger seksjonsinformasjon.
  • Kunne åpne tilgang til skjulte filer og systemfiler og mapper.
  • Evt. kunne jobbe med flere "skruer" samtidig.

Og utføre noen andre nyttige handlinger. I notatet vårt vil vi ikke diskutere hele spekteret av disse spørsmålene, men bare dvele ved noen få.

Hvordan lese partisjonsinformasjon?

For de som ikke er i det, la oss gi en forklaring: i Windows er det noe slikt som en "snap".

Det er en .msc-kjørbar fil som kjører som en vanlig exe. Alle snap-ins har et enhetlig grensesnitt og er bygget på COM-teknologi - grunnlaget for den interne strukturen til dette operativsystemet.

Diskbehandling-vinduet er også et blunk. Du kan kjøre den ved å skrive i "Kjør"-vinduet navnet på diskmgmt.msc som vist i følgende figur:

Som et resultat vil vi ha et vindu med selve snapin-modulen med overskriften "Diskbehandling". Slik ser denne appen ut:

Dette grensesnittet er intuitivt og enkelt. I det øverste panelet i vinduet ser vi en liste over alle volumer (eller partisjoner) på "skruen" med relatert informasjon om dem, for eksempel:

  • Seksjonsnavn.
  • Seksjonstype.
  • Dens fulle kapasitet.
  • Statusen (ulike seksjoner kan ha forskjellig status).
  • Gjenværende ledig plass uttrykt i gigabyte og prosentandel av totalen.

Og annen informasjon. Det nederste panelet inneholder en liste over stasjoner og partisjoner. Det er herfra du kan utføre operasjoner med volumer og stasjoner. For å gjøre dette, høyreklikk på volumnavnet og velg en bestemt operasjon fra undermenyen "Handlinger".

Den største fordelen med grensesnittet er at alt er samlet her i en haug - det er ikke nødvendig å vandre gjennom forskjellige menyer og vinduer for å gjennomføre planene våre.

Volumoperasjoner

La oss analysere noen ikke-åpenbare operasjoner med partisjoner. La oss først diskutere overgangen fra MBR-formatet til GPT-formatet. Begge disse formatene tilsvarer forskjellige typer oppstartslaster. MBR er et klassisk, men nå utdatert bootloader-format.

Den har eksplisitte begrensninger både i volumvolum (ikke mer enn 2 TB) og i antall volumer - ikke mer enn fire støttes. Ikke forveksle volum og seksjon - dette er noe forskjellige konsepter fra hverandre. Les om forskjellene deres på Internett. GPT-formatet er basert på GUID-teknologi og har ikke disse begrensningene.

Så hvis du har en stor disk, konverter gjerne MBR til GPT. Det er sant, i dette tilfellet vil alle data på disken bli ødelagt - de må kopieres til et annet sted.

Virtualiseringsteknologi har gjennomsyret overalt. Den gikk heller ikke utenom filsystemet. Hvis du ønsker det, kan du lage og montere såkalte "virtuelle disker".

En slik "device" er en vanlig .vhd-fil og kan brukes som en vanlig fysisk enhet - både til lesing og skriving.

Dette åpner for ytterligere muligheter for katalogisering av informasjon. Dette avslutter vår historie. Diskbehandling i Windows 7 er et ganske bredt emne, og du kan oppdage mye nytt ved å fordype deg i det.

16.01.1997 Patrick Corrigan, Mickey Applebaum

Konfigurasjonsalternativer for serverdiskundersystemer er forskjellige, og som et resultat er forvirring uunngåelig. For å hjelpe deg med å forstå dette vanskelige problemet, bestemte vi oss for å vurdere hovedteknologiene og den økonomiske gjennomførbarheten av deres anvendelse. PLATE

Konfigurasjonsalternativer for serverdiskundersystemer er forskjellige, og som et resultat er forvirring uunngåelig. For å hjelpe deg med å forstå dette vanskelige problemet, bestemte vi oss for å vurdere hovedteknologiene og den økonomiske gjennomførbarheten av bruken av dem.

Når det gjelder serverdiskundersystemer, har du mange alternativer å velge mellom, men overfloden gjør det vanskelig å finne systemet som fungerer best for deg. Situasjonen kompliseres av det faktum at du i utvelgelsesprosessen må forholde deg til en betydelig mengde falsk informasjon og markedsføringshype.

Gjennomgangen av hovedteknologiene til serverdiskundersystemer og diskusjonen om hensiktsmessigheten av bruken av dem når det gjelder kostnader, ytelse, pålitelighet og feiltoleranse bør bidra til å forstå essensen av dette problemet.

DISKGRENSESNITT

Enten du spesifiserer en ny server eller oppgraderer en eksisterende, er diskgrensesnittet et kritisk problem. De fleste stasjoner i dag bruker SCSI- eller IDE-grensesnitt. Vi vil se på begge teknologiene, beskrive deres implementeringer og diskutere hvordan de fungerer.

SCSI er et standardisert ANSI-grensesnitt som har flere varianter. Den originale SCSI-spesifikasjonen, nå kalt SCSI-I, bruker en 8-biters datakanal med en maksimal datahastighet på 5 Mbps. SCSI-2 tillater flere variasjoner, inkludert Fast SCSI med en 8-biters datakanal og overføringshastigheter på opptil 10 Mbps; Bred SCSI med 16-bits datakanal og overføringshastighet på opptil 10 Mbps; og Fast/Wide SCSI med 16-bits datalink og overføringshastigheter på opptil 10 Mbps (se tabell 1).

TABELL 1 - SCSI-ALTERNATIVER

SCSI-1 Maksimal ytelse Kanalbredde Frekvens Antall enheter*
5 Mbps 8 sifre 5 MHz 8
SCSI-2
Rask SCSI 10 Mbps 8 sifre 10 MHz 8
Rask/bred SCSI 20 Mbps 16 sifre 10 MHz 8; 16**
* støttede enheter inkluderer HBA ** med ubalansert utgangssignal; differensial

Med bruken av "bred" 16-bit Fast/Wide SCSI, har 8-bitsversjoner noen ganger blitt referert til som "smal" - Narrow SCSI. Flere flere SCSI-implementeringer har nylig dukket opp: Ultra SCSI, Wide Ultra SCSI og SCSI-3. Sammenlignet med mer vanlige alternativer har disse grensesnittene en viss ytelsesfordel, men siden de ennå ikke er veldig utbredt (antall enheter som bruker disse grensesnittene er svært begrenset), vil vi ikke diskutere dem i denne artikkelen.

SCSI-I-kabelsystemet er en linjebuss med mulighet for å koble til opptil åtte enheter, inkludert en vertsbussadapter (HBA). Denne bussdesignen kalles single-ended SCSI SCSI, og kabellengden kan være opptil ni meter. SCSI-2 (erstatter praktisk talt SCSI-I) støtter både single-ended SCSI og differensial SCSI. Differensial SCSI bruker en annen signaleringsmetode enn single-ended SCSI og støtter opptil 16 enheter på en sløyfe på opptil 25 meter. Det gir bedre støydemping, noe som betyr bedre ytelse i mange tilfeller.

Et problem med differensiell SCSI er enhetskompatibilitet. For eksempel er det begrensede varianter av differensielle SCSI-kompatible båndstasjoner og CD-ROM-stasjoner i dag. Differensielle enheter og HBA-er er vanligvis litt dyrere enn enheter med én ende, men de har fordelen av å støtte flere enheter per kanal, lengre sløyfer og, i noen tilfeller, bedre ytelse.

Når du velger SCSI-enheter, bør du være oppmerksom på kompatibilitetsproblemer. Single-ended SCSI og differensial SCSI kan bruke samme ledninger, men single-ended og differensial enheter kan ikke kombineres. Wide SCSI bruker et annet kablingssystem enn Narrow SCSI, så det er ikke mulig å bruke Wide SCSI og Narrow SCSI-enheter på samme kanal.

HVORDAN SCSI FUNGERER

I SCSI er enhetskontrolleren (for eksempel en diskkontroller) og grensesnittet til datamaskinen forskjellige enheter. Datamaskingrensesnittet, HBA, legger til en ekstra grensesnittbuss til datamaskinen for å koble til flere enhetskontrollere: opptil syv enhetskontrollere på en ensidig SCSI-kobling og opptil 15 på en differensialkobling. Teknisk sett kan hver kontroller støtte opptil fire enheter. Ved de høye overføringshastighetene til dagens høykapasitetsstasjoner er imidlertid enhetskontrolleren vanligvis innebygd i stasjonen for å redusere støy og elektrisk støy. Dette betyr at du kan ha opptil syv stasjoner på en enkeltsidig SCSI-kobling og opptil 15 på en differensiell SCSI-kobling.

En av fordelene med SCSI er behandlingen av flere, overlappende kommandoer. Denne overlappende I/O-støtten gir SCSI-stasjoner muligheten til å blande lesing og skriving fullstendig med andre stasjoner i systemet, slik at forskjellige stasjoner kan behandle kommandoer parallelt i stedet for én om gangen.

Siden all intelligensen til SCSI-diskgrensesnittet ligger i HBA, kontrollerer HBA OS-tilgangen til diskene. Som et resultat løser HBA, ikke datamaskinen, oversettelses- og enhetstilgangskonflikter. Generelt betyr dette at, forutsatt at riktig skrevne og installerte drivere brukes, ser ikke datamaskinen og operativsystemet noen forskjell mellom enhetene.

I tillegg, fordi HBA kontrollerer tilgangen mellom datamaskinens interne utvidelsesbuss og SCSI-bussen, kan den løse tilgangskonflikter for dem begge ved å tilby avanserte funksjoner som en link ned/gjenopprettingstjeneste. Break/Recovery lar operativsystemet sende en finn-, lese- eller skrivekommando til en bestemt enhet, hvoretter stasjonen overlates til seg selv for å utføre kommandoen, slik at en annen stasjon på samme kanal kan motta kommandoen i mellomtiden. Denne prosessen forbedrer gjennomstrømningen av diskkanaler med mer enn to disker, spesielt når dataene er stripete eller spredt over diskene. En annen forbedret funksjon er synkron datautveksling, hvorved den totale gjennomstrømningen til diskkanalen og dataintegriteten økes.

IDE

IDE er de facto-standarden mye brukt i x86-baserte PC-er. Dette er bare en generell anbefaling for produsenter, så alle stod fritt til å utvikle en spesifikk IDE for sine enheter og adaptere. Som et resultat viste det seg at produkter fra forskjellige produsenter, og til og med forskjellige modeller fra samme produsent, var inkompatible med hverandre. Når spesifikasjonen har avgjort, har dette problemet nesten forsvunnet, men inkompatibilitet er fortsatt mulig.

I motsetning til SCSI, legger IDE intelligensen på disken i stedet for HBA. HBA for IDE har liten eller ingen intelligens og sender ganske enkelt datamaskinens buss direkte til diskene. Uten et mellomgrensesnitt er antall enheter på én IDE-kanal begrenset til to, og kabellengden er begrenset til tre meter.

Siden all intelligensen til IDE-enheter ligger på enhetene selv, er en av enhetene på kanalen utpekt som kanalmaster, og den innebygde kontrolleren på den andre er deaktivert, og den blir en slave (chanell slave). Hovedenheten kontrollerer tilgang gjennom IDE-kanalen til begge enhetene og utfører alle I/O-operasjoner for dem. Dette er en mulighet for konflikt mellom enheter på grunn av ulike leverandørimplementeringer av IDE-grensesnittet. For eksempel kan en stasjon være utformet for å fungere med et bestemt kontrollerskjema, men verten den er koblet til kan bruke en annen type kontroller. I tillegg bruker de nyere Enhanced IDE (EIDE)-stasjonene et utvidet sett med kommandoer og oversettelsestabeller for å støtte stasjoner med større kapasitet og høyere ytelse. Hvis de er koblet til en gammel standard, IDE-masterstasjon, mister de ikke bare sine avanserte funksjoner, men de gir deg kanskje ikke all tilgjengelig kapasitet. Enda verre, de kan rapportere sin fulle kapasitet til operativsystemet uten å kunne bruke det, og potensielt skade informasjonen på disken.

Muligheten for datakorrupsjon skyldes det faktum at hvert operativsystem oppfatter diskkonfigurasjonsinformasjon på sin egen måte. For eksempel tillater DOS og system-BIOS en maksimal diskkapasitet på 528 MB. NetWare og andre 32-bits systemer har ikke disse begrensningene og er i stand til å lese en hel IDE-stasjon direkte gjennom elektronikken. Når du oppretter flere partisjoner på samme disk fra forskjellige operativsystemer, ser hver av dem kapasiteten og konfigurasjonen forskjellig, og dette kan føre til overlappende partisjonstabeller, som igjen øker risikoen for tap av data på disken betydelig.

Den originale IDE-arkitekturen gjenkjenner ikke stasjoner som er større enn 528 MB og kan bare støtte to enheter per kanal med en maksimal overføringshastighet på 3 Mbps. For å overvinne noen av begrensningene til IDE, ble EIDE-arkitekturen introdusert i 1994. EIDE støtter høyere kapasitet og ytelse, men overføringshastighetene på 9 til 16 Mbps er fortsatt langsommere enn SCSI. I motsetning til 15 enheter per kanal for SCSI, kan den støtte maksimalt fire per kanal. Vær også oppmerksom på at verken IDE eller EIDE gir multitasking-funksjoner. Og derfor kan de ikke gi samme ytelsesnivå som SCSI-grensesnitt i et typisk servermiljø.

Selv om den opprinnelig ble designet for disker, støtter IDE-standarden nå båndstasjoner og CD-ROM-er. Å dele en kanal med en CD-ROM eller båndstasjon kan imidlertid påvirke diskytelsen negativt. Samlet sett gjør ytelsen og skalerbarhetsfordelene til SCSI det til det foretrukne valget fremfor IDE eller EIDE for de fleste avanserte serverapplikasjoner som krever høy ytelse. Imidlertid vil en IDE eller EIDE være tilstrekkelig for applikasjoner på inngangsnivå der ytelse eller utvidbarhet ikke er en stor sak. På samme tid, hvis du trenger diskredundans, er ikke IDE det beste alternativet på grunn av de potensielle problemene knyttet til master-slave-tilnærmingen. I tillegg bør du være på vakt mot mulig partisjonstabelloverlapping og problemer med inkompatibilitet med master-slave-enheter.

Imidlertid er det noen få tilfeller der IDE- og EIDE-grensesnittene kan brukes i avanserte servere. Det er for eksempel vanlig praksis å bruke en liten IDE-stasjon for DOS-partisjonen på NetWare-servere. Det er også mye praktisert å bruke CD-ROM-stasjoner med et IDE-grensesnitt for nedlasting av programvare.

REDUNDANTE DISKSYSTEMER

En annen viktig sak å diskutere når du definerer en serverspesifikasjon er redundans. Det finnes flere metoder for å forbedre påliteligheten til et disksystem med flere disker. De fleste av disse redundansordningene er varianter av RAID (står for "Redundant Array of Inexpensive or Independent Disks"). Den originale RAID-spesifikasjonen ble designet for å erstatte store, dyre stormaskin- og minidatamaskiner med en rekke små, billige disker designet for minidatamaskiner – derav ordet «billig». Dessverre ser du sjelden noe billig i RAID-systemer.

RAID er en serie implementeringer av redundante diskarrayer for å gi ulike nivåer av beskyttelse og dataoverføringshastigheter. Siden RAID involverer bruk av diskarrayer, er SCSI det beste grensesnittet å bruke siden det kan støtte opptil 15 enheter. Det er 6 RAID-nivåer: fra null til femte. Selv om noen produsenter annonserer for sine egne redundansordninger som de refererer til som RAID-6, RAID-7 eller høyere. (RAID-2 og RAID-4 er ikke på nettverksservere, så vi vil ikke snakke om dem.)

Av alle RAID-nivåer har null høyest ytelse og minst sikkerhet. Det forutsetter minst to enheter og synkronisert dataskriving til begge diskene, mens diskene ser ut som én fysisk enhet. Prosessen med å skrive data til flere disker kalles stasjonsspenning, og selve metoden for å skrive disse dataene kalles datastriping. Med striping skrives data til alle disker blokk for blokk; denne prosessen kalles blokkinterleaving. Blokkstørrelsen bestemmes av operativsystemet, men varierer vanligvis fra 2 KB til 64 KB. Avhengig av utformingen av diskkontrolleren og HBA, kan disse sekvensielle skrivingene overlappe, noe som resulterer i økt ytelse. For eksempel kan RAID-0 i seg selv forbedre ytelsen, men det gir ikke feilbeskyttelse. Hvis en stasjon svikter, svikter hele undersystemet, noe som vanligvis resulterer i fullstendig tap av data.

En variant av datainterleaving er dataspredning. Som med striping, skrives data sekvensielt til flere disker som fylles opp. Men i motsetning til striping er det ikke nødvendig å skrive til alle disker; hvis disken er opptatt eller full, kan data skrives til neste tilgjengelige disk - dette lar deg legge til disker til et eksisterende volum. I likhet med RAID-0-standarden, forbedrer kombinasjonen av diskpopulasjon med datastriping ytelsen og øker volumstørrelsen, men gir ikke feilbeskyttelse.

RAID-1, kjent som diskspeiling, innebærer å installere par med identiske disker, der hver disk i paret er et speilbilde av den andre. I RAID-1 skrives data til to identiske eller nesten identiske par med disker: når for eksempel én disk svikter, fortsetter systemet å jobbe med en speilet disk. Hvis de speilvendte diskene deler en felles HBA, vil ytelsen til denne konfigurasjonen, sammenlignet med en enkelt disk, være lavere, siden data må skrives sekvensielt til hver disk.

Novell snevret inn definisjonen av speiling og la til konseptet tosidig. I følge Novell-terminologien refererer speiling til diskpar når de er koblet til en server eller datamaskin via en enkelt HBA, mens duplisering refererer til speilede diskpar koblet via separate HBAer. Redundans gir redundans for hele diskkanalen, inkludert HBAer, kabler og disker, og gir noen ytelsesforbedringer.

RAID-3 krever minst tre identiske stasjoner. Dette blir ofte referert til som "n minus 1" (n-1) teknologi fordi den maksimale systemkapasiteten er gitt av det totale antallet stasjoner i matrisen (n) minus en stasjon for paritet. RAID-3 bruker en skrivemetode som kalles bit interleaving, hvor data skrives til alle disker bit for bit. For hver byte skrevet på n-diskene, skrives en paritetsbit til "paritetsdisken". Dette er en ekstremt langsom prosess fordi før paritetsinformasjon kan genereres og skrives til "paritetsdisken", må data skrives til hver av de n diskene i matrisen. Du kan øke ytelsen til RAID-3 ved å synkronisere diskrotasjonsmekanismene slik at de fungerer strengt i takt. På grunn av ytelsesbegrensninger har imidlertid bruken av RAID-3 falt dramatisk, og svært få serverprodukter basert på RAID-3 selges i dag.

RAID-5 er den mest populære implementeringen av RAID i nettverksservermarkedet. Som RAID-3 krever den minst tre identiske disker. Imidlertid, i motsetning til RAID-3, striper RAID-5 datablokker uten å bruke en dedikert disk for paritet. Både dataene og kontrollsummen skrives over hele matrisen. Denne metoden tillater uavhengig lesing og skriving til disken, og lar operativsystemet eller RAID-kontrolleren utføre flere samtidige I/O-er.

I RAID-5-konfigurasjoner er disken bare tilgjengelig når paritetsinformasjon eller data leses/skrives fra den. Som et resultat har RAID-5 bedre ytelse enn RAID-3. I praksis kan ytelsen til RAID-5 noen ganger matche eller til og med overgå ytelsen til enkeltdisksystemer. Denne ytelsesforbedringen avhenger selvfølgelig av mange faktorer, inkludert hvordan RAID-arrayen er implementert og hvilke native muligheter serveroperativsystemet har. RAID-5 gir også det høyeste nivået av dataintegritet av enhver standard RAID-implementering fordi både data og paritet er skrevet i stripet form. Siden RAID-5 bruker blokkstriping i stedet for bitstriping, er det ingen ytelsesfordeler med spinnsynkronisering.

Noen produsenter har lagt til utvidelser til sine RAID-5-systemer. En av disse utvidelsene er tilstedeværelsen av en "hot-spare" disk innebygd i arrayet. Hvis en stasjon svikter, erstatter hot spare-enheten umiddelbart krasjstasjonen og kopierer dataene tilbake til seg selv med paritetsgjenoppretting i bakgrunnen. Men husk at gjenoppbygging av en RAID-5-disk resulterer i et alvorlig fall i serverytelsen. (For mer informasjon om hot-swap- og hot-spare-stasjoner, se sidefeltet "Hot" Drive-funksjoner.)

RAID-systemer kan organiseres både ved hjelp av programvare lastet på serveren og ved hjelp av prosessoren for drift, og ved hjelp av en spesialisert RAID-kontroller.

Programvareimplementerte RAID-systemer tar opp en betydelig mengde systemprosessorressurser, så vel som systemminne, noe som reduserer serverytelsen betydelig. Programvare RAID-systemer er noen ganger inkludert som en funksjon i operativsystemet (som det gjøres med Microsoft Windows NT Server) eller som et tredjeparts tillegg (som det gjøres med NetWare og Macintosh-operativsystemet).

Maskinvarebaserte RAID-systemer bruker en dedikert RAID-arraykontroller; den har vanligvis sin egen prosessor, cache og ROM-programvare for disk I/O og paritet. Å ha en dedikert kontroller for å utføre disse operasjonene frigjør serverprosessoren til å utføre andre funksjoner. I tillegg, fordi prosessor- og adapterprogramvaren er spesifikt innstilt for RAID-funksjonalitet, gir de bedre disk I/O-ytelse og dataintegritet enn programvarebaserte RAID-systemer. Dessverre har maskinvarebaserte RAID-kontrollere en tendens til å være dyrere enn deres programvarebaserte konkurrenter.

SPEIL, DUPLIKERING OG FYLLING

Noen operativsystemer, inkludert NetWare og Windows NT Server, tillater diskspeiling på tvers av flere diskkanaler, og gir dermed et ekstra lag med redundans. Som nevnt tidligere, kaller Novell sistnevnte tilnærming diskduplisering. Når kombinert med diskfylling, kan duplisering gi bedre ytelse enn enkeltdisksystemer og kan generelt utkonkurrere hardware RAID-5-implementeringer. Siden hver halvdel av et speilet par disker bruker en separat diskkanal, kan skriving til disker, i motsetning til tilfellet når diskene er på samme HBA, skrives samtidig. Duplisering tillater også delt søk - prosessen med å dele leseforespørsler mellom diskkanaler for raskere utførelse. Denne funksjonen dobler diskleseytelsen ettersom begge kanalene søker etter forskjellige blokker parallelt fra samme datasett. Det reduserer også ytelsespåvirkningen når du skriver til disk, siden en kanal kan lese data mens den andre skriver.

NetWare støtter opptil åtte diskkanaler (noen SCSI-adaptere har flere kanaler), noe som betyr at du kan ha flere kanaler for hvert duplisert par. Du kan til og med velge å organisere opptil åtte separate speilkanaler. Windows NT Server tilbyr også programvarebasert speiling og duplisering, men støtter ennå ikke parallellskriving og separate søk.

Det er fire hovedfaktorer å vurdere når du velger et redundant disksystem: ytelse, kostnad, pålitelighet og feilbeskyttelse.

Når det gjelder ytelse, er de innebygde egenskapene til serveroperativsystemet en viktig faktor, spesielt når diskredundans spiller inn. Som tidligere nevnt gir NetWare-diskduplisering kombinert med diskfyll bedre ytelse enn maskinvare- eller programvare-RAID. Imidlertid er ytelsen til hardware RAID generelt overlegen ytelsen til de innebygde disktjenestene til Windows NT Server. Generelt sett har teknologien og ytelsen til RAID-systemer gjennom årene blitt stadig bedre.

Et annet potensielt ytelsesproblem med RAID-systemer er datagjenoppretting i tilfelle en katastrofe. Inntil nylig, hvis en stasjon feilet, måtte du slå av RAID-arrayen for å gjenopprette den. Dessuten, hvis du ønsket å endre størrelsen på matrisen (øke eller redusere kapasiteten), måtte du ta en fullstendig sikkerhetskopi av systemet, og deretter rekonfigurere og reinitialisere matrisen, og slette alle data under denne prosessen. I begge tilfeller er systemet utilgjengelig på en stund.

For å løse dette problemet har Compaq utviklet Smart Array-II-kontrolleren, som lar deg utvide kapasiteten til en array uten å reinitialisere den eksisterende array-konfigurasjonen. Andre produsenter, inkludert Distributed Processing Technology (DPT), har annonsert at kontrollerene deres vil utføre lignende funksjoner i en ikke så fjern fremtid. Mange av de nye arrayene har verktøy for ulike operativsystemer som kan brukes til å gjenopprette arrayet etter å ha erstattet en skadet enhet uten å slå av serveren. Vær imidlertid oppmerksom på at disse verktøyene spiser opp mye serverressurser og dermed påvirker systemytelsen negativt. For å unngå denne typen vanskeligheter, bør restaurering av systemet utføres uten arbeidstid.

Det har vært mange diskusjoner i industrien og RAID-leverandørpublikasjoner om forskjellen i kostnad mellom speiling, duplisering og RAID-implementeringer. Speiling og duplisering gir 100 % dobling av disker og (hvis dupliserte) HBA-er, mens RAID-implementeringer har én HBA og/eller RAID-kontroller pluss én disk mer enn kapasiteten du ønsker å ende opp med. I følge disse argumentene er RAID billigere fordi antallet disker som kreves er mindre. Dette kan være sant hvis ytelsesbegrensningene til programvare-RAID-implementeringene som følger med operativsystemet, slik som de som finnes i Windows NT, er tolerable for deg. I de fleste tilfeller er det imidlertid nødvendig med en dedikert RAID-kontroller for å oppnå tilstrekkelig ytelse.

Disker og standard SCSI-adaptere er relativt rimelige, mens en høykvalitets RAID-kontroller kan koste opptil $4500. For å bestemme kostnadene for systemet ditt, må du vurdere de optimale konfigurasjonene for alle komponenter. For eksempel, hvis du trenger omtrent 16 GB adresserbar diskplass, kan du implementere en speilet konfigurasjon med to 9 GB disker per kanal og få litt overflødig kapasitet. Når det gjelder RAID-5, av ytelses- og pålitelighetsgrunner, er det bedre å holde seg til fem 4 GB-disker for å øke antallet datastripingspindler og dermed den generelle ytelsen til arrayet.

Med et eksternt diskundersystem vil en speilkonfigurasjon koste omtrent $10 500 per 18 GB tilgjengelig plass. Dette tallet er basert på faktiske utsalgspriser: $2000 for én stasjon, $250 for en HBA og $300 for hvert eksternt diskundersystem inkludert kabler. Et RAID-5-system konfigurert med 16 GB adresserbar plass ved bruk av fem 4 GB-disker vil koste rundt $12 800. Dette tallet er basert på faktiske utsalgspriser for en DPT RAID-5-array.

Mange RAID-systemer inkluderer "proprietære" komponenter designet av produsenten. På et minimum er de "merkede" saken og bakpanelet. HBA-er og RAID-kontrollere er også ofte proprietære. Noen produsenter bruker også ikke-standard holdere og dekk for skiver. Noen gir dem separat til en rimelig pris, noen - bare sammen med disken og som regel til en høy pris. Sistnevnte tilnærming kan være kostbar når du trenger å fikse eller utvide systemet. En annen måte leverandøren driver deg inn i et hjørne er ved å tilby diskadministrasjon og overvåkingsprogramvare som bare fungerer med spesifikke komponenter. Ved å unngå ikke-standard komponenter når det er mulig, kan kostnadene vanligvis holdes nede.

Når du sammenligner påliteligheten til redundante disksystemer, er det to faktorer å vurdere: muligheten for systemfeil eller feil på noen av komponentene, og muligheten for tap av data på grunn av komponentfeil. (Dessverre kan RAID eller speiling ikke redde deg fra hovedårsaken til tap av data - brukerfeil!)

P = t / Tc,

hvor t er driftstiden og Tc er den kombinerte tiden mellom feil på komponentene.

Når man kjører uten feil i et år (8760 timer) og en hypotetisk disk Tc på 300 000 timer, blir sannsynligheten for feil 3 %, eller litt mindre enn én av 34 tilfeller. enhver komponent øker. Både RAID og speiling øker sjansen for feil, men reduserer sjansen for tap av data.

Tabell 2, hentet fra Storage Dimensions-bulletinen med tittelen "Fault-Tolerant Storage Systems for Continuous Networking", viser sannsynligheten for feil beregnet ved hjelp av formelen ovenfor versus sannsynligheten for tap av data for fire polstrede disker, en RAID-array med fem disker, og åtte speildisker. (Forutsatt at alle stasjoner har samme størrelse og at alle tre systemene gir samme brukbare kapasitet. For en bulletin, besøk siden Lagringsdimensjoner: http://www.storagedimensions.com/raidwin/wp-ovrvw.html.)

TABELL 2 - SIKKERHETSESTIMATER

Mens speiling kombinert med stasjonsfyll har en høyere statistisk sannsynlighet for en diskfeil, har den også en mye lavere sannsynlighet for tap av data hvis en disk feiler. Med et riktig utformet redundant system kan også gjenopprettingstiden bli betydelig kortere.

Dette eksemplet tar ikke hensyn til mange faktorer. For å få et statistisk korrekt tall, må gjennomsnittstiden mellom feil på alle disksystemkomponenter, inkludert HBAer, båndkabler, strømledninger, vifter og strømforsyninger, beregnes. Disse beregningene forteller selvfølgelig bare hva som kan skje gitt påliteligheten til de foreslåtte komponentene, men det er slett ikke nødvendig at dette vil skje.

Når du velger et disksystem, må du tydelig vite hvilke komponenter som ikke er duplisert. I RAID-systemer kan dette inkludere HBA-er, RAID-kontrollere, strømforsyninger, strømkabler og båndkabler. En av fordelene med duplisering med separate diskundersystemer på hver kanal er eliminering av de fleste enkeltsteder der feil kan oppstå.

KONKLUSJON

Generelt er SCSI-enheter et bedre valg for et serverdiskundersystem enn IDE- eller EIDE-stasjoner. Det er enkelt å få SCSI-stasjoner opp til 9 GB per stasjon, mens dagens EIDE-stasjoner har en maksimal kapasitet på ca 2,5 GB. Med flere dual-link HBA-er kan den totale SCSI-kapasiteten lett overstige 100 GB, mens EIDE-grensen er 10 GB. SCSI har også bedre ytelse; dessuten lider ikke SCSI av problemene som master-slave-tilnærmingen i IDE/EIDE medfører.

Hvis du trenger diskredundans, er det flere alternativer. Novell NetWare-redundans kombinert med diskfyll gir både utmerket ytelse og feilbeskyttelse. Maskinvarebasert RAID er også et godt valg, men har vanligvis lavere ytelse og høyere kostnader. Hvis du bruker Windows NT og ytelsen er viktig for deg, kan maskinvare-RAID være det beste alternativet.

Patrick Corrigan er president og seniorkonsulent/analytiker i The Corrigan Group, et konsulent- og opplæringsfirma. Han kan kontaktes på: [e-postbeskyttet] eller via Compuserve: 75170.146. Mickey Applebaum er senior nettverkskonsulent hos GSE Erudite Software. Han kan kontaktes på: [e-postbeskyttet]

INTRODUSERER FUNKSJONER AV DISKE UNDERSYSTEMET

"Hot" funksjoner til diskundersystemer

Begrepene hot-swap, hot spare og hot-rebuild, mye brukt for å beskrive de spesifikke funksjonene til diskundersystemer, blir ofte misforstått.

"Hot Swap" er en funksjon som lar deg fjerne en defekt disk fra diskundersystemet uten å slå av systemet. Hot swap-støtte er en maskinvarefunksjon i diskundersystemet, ikke RAID.

I hot-swappable systemer er harddisker vanligvis montert på sleder som lar jordingsstiftene mellom stasjonen og chassiset forbli tilkoblet lenger enn strøm- og kontrollerlinjene. Dette beskytter stasjonen mot skade fra statisk utladning eller elektrisk lysbue mellom kontaktene. Hot-swappable disker kan brukes i både RAID-arrayer og speilvendte disksystemer.

"Varmgjenoppretting" refererer til systemets evne til å gjenopprette den opprinnelige diskkonfigurasjonen automatisk etter at en defekt disk er erstattet.

Hot reservedeler er innebygd i en RAID-array og blir vanligvis stående inaktiv til de trengs. På et tidspunkt etter at hot spare erstatter den defekte stasjonen, må du erstatte den mislykkede stasjonen og konfigurere matrisen på nytt.

Et hot-swappable disksystem med hot spare-disker har ikke nødvendigvis muligheten til å hot-recovery. "Hot Swap" lar deg ganske enkelt raskt, trygt og enkelt fjerne/installere en stasjon. En "hot spare" ser ut til å gi en "hot rebuild" ettersom den lar en defekt stasjon i en RAID-array erstattes umiddelbart, men den mislykkede stasjonen må fortsatt erstattes før en gjenoppbyggingskommando må gis. I dag krever alle RAID-systemer som er tilgjengelige for PC-plattformen et visst nivå av brukerintervensjon for å starte gjenoppretting av data - i det minste på nivået for lasting av NLM-modulen på NetWare-serveren eller ved å trykke på startknappen i NT Server-applikasjonsmenyen.



Målet med feiltolerante arkitekturer er å gi et informasjonssystem med lave vedlikeholdskostnader og null nedetid. Utilstrekkelig systemtilgjengelighet kan føre til store økonomiske tap for selskapet. Dette beløpet består av kostnadene for redusert produktivitet til ansatte på grunn av en systemfeil, kostnadene for arbeid som ikke kan utføres før systemet er gjenopprettet, kostnaden for å reparere mislykkede elementer i systemet. Derfor, når du implementerer virksomhetskritiske applikasjoner, er det verdt å tenke på at kostnadene for nedetid på grunn av systemfeil rettferdiggjør den betydelige investeringen i installasjon av feiltolerante arkitekturer.

For å bygge et feiltolerant system, er det nødvendig å ta hensyn til flere av hovedkomponentene. Påliteligheten til diskundersystemet er kritisk. La oss se på hovedkarakteristikkene til feiltolerante diskundersystemer og dvele ved implementeringen av dem ved hjelp av RAID-teknologi.

Hva ligger bak feiltoleransen til diskundersystemet

Det feiltolerante systemet oppdager automatisk defekte komponenter, og bestemmer deretter svært raskt årsaken til feilen og rekonfigurerer disse komponentene.

Nøkkelpunktet for å lage et feiltolerant system er å gi beskyttende redundans basert på både maskinvare og programvare. Denne redundansen implementerer feildeteksjonsalgoritmer som brukes sammen med diagnostiske algoritmer for å identifisere årsaken til feilen.

Det er tre hovedfeildeteksjonsmetoder. Den første er innledende testing (Initial Testing), som utføres av produsenten før den endelige integreringen av systemet. På dette stadiet identifiseres maskinvarefeil som kan oppstå under produksjon og montering av systemkomponenter.

Den andre metoden, Concurrent Online Testing, refererer til tidspunktet for normal systemdrift. Denne metoden ser hovedsakelig etter de feilene som kan ha dukket opp etter installasjonen av systemet. En av de mest kjente testmetodene på nett er paritetskontroll. Den sikrer at hver byte med data som overføres gjennom et datasystem når sin neste komponent intakt. Paritetsmetoden oppdager bare tilstedeværelsen av en feil og kan ikke bestemme hvilken bit som mangler. Derfor brukes den sammen med en feilrettingskode, som bestemmer nøyaktig hvilke data som går tapt, slik at systemet kan gjenopprette dem raskt.

Til slutt er den tredje feildeteksjonsmetoden redundanstesting. Den bekrefter at systemets feilsikre funksjoner fungerer som de skal.

Et feiltolerant system må gi failover til en alternativ enhet i tilfelle feil, og også informere administratoren om eventuelle konfigurasjonsendringer slik at han kan gjenopprette feilede komponenter før duplikatene deres slutter å fungere. For å gjøre dette må systemet sende meldinger til administratorens konsoll, logge alle feil til disk for periodisk gjennomgang, og også kunne sende en ekstern melding hvis det oppsto en feil i fravær av en administrator på arbeidsplassen hans.

Når man velger et feiltolerant system, må man også vurdere dets evne til å tilpasse seg nye teknologier, siden datamaskiner og diskenheter med høyere ytelse vises i en fantastisk hastighet.

Til slutt, brukere bør ikke glemme at i den beste implementeringen av feiltoleranse, må de med jevne mellomrom sikkerhetskopiere data på tape eller optisk disk for å sikre deres sikkerhet i tilfelle en katastrofe som er mer global enn svikt i noen komponent i systemet. Feiltoleranse vil neppe redde i tilfelle brann, jordskjelv eller terrorbombe.

RAID-diskundersystemer

Mens mange faktorer påvirker systemytelsen, for eksempel strømbrudd eller overoppheting, er ingenting viktigere enn å beskytte dataene på harddiskene dine. En diskfeil forårsaker en forlenget systemnedetid fordi dataene må rekonstrueres før programmet kan gjenopptas.

I 1987 publiserte tre forskere fra University of Berkeley en artikkel som beskrev metoder for å gi feiltoleranse ved bruk av arrays av små (3,5- og 5,25-tommers) diskstasjoner som kan oppnå ytelsesegenskapene til en enkelt stor dyr disk (Single Large Expensive Disk) - SLED) i stormaskiner. Denne teknologien kalles RAID – Redundant Array of Inexpensive Disks (Redundant Array of Inexpensive Disks). Nedenfor skal vi se på hovedkarakteristikkene til de seks RAID-nivåene.

RAID-nivåer har forskjellige ytelsesegenskaper og forskjellige kostnader. RAID 0 (dupleksmetode) er den raskeste, etterfulgt av RAID 3 eller RAID 5 (avhengig av poststørrelser). Kostnaden for hver metode avhenger av den totale mengden diskplass som kreves. For eksempel, for små til mellomstore filer, kan speiling være billigere enn RAID 3 eller 5.

Når du velger et feiltolerant diskundersystem, må du også huske på programvare for automatisk datagjenoppretting ved feil. Når det gjelder en LAN-filserver, er det viktig at data kan gjenopprettes med minimal innsats fra LAN-administratoren og med minimalt tap for serverbrukere. For eksempel, for RAID 0, er gjenoppbygging ganske enkelt å kopiere dataene fra den sekundære stasjonen til den gjenoppbygde eller erstattede stasjonen. For RAID 3-, 4- og 5-systemer leverer produsenter programvare som gjenoppretter data etter XOR-segmenter. Disse programmene kjører i bakgrunnen, slik at brukerne kan fortsette arbeidet mens de gjenoppretter. RAID-systemer med innebygde smarte prosessorer er i stand til å gjenoppbygge mye raskere enn sine motparter som bruker programvare som kjører på hovedsystemets prosessor.

Tradisjonelle RAID-systemer har ubestridelige fordeler, men de skaper også mange problemer. Ulike nivåer av RAID gir ulik ytelse og pris, og administratorer må finne det beste alternativet for et gitt system. Dagens RAID-diskundersystemer er ganske komplekse å administrere og konfigurere. Å øke diskplass og rekonfigurere et delsystem er også en tidkrevende og arbeidskrevende prosess.

For å takle disse problemene utvikles nye diskarray-teknologier med muligheten til å automatisk konfigurere til ulike nivåer som ikke lenger passer inn i det tradisjonelle rammeverket med spesifiserte RAID-nivåer. Vi skal se på produkter av denne typen fra Hewlett-Packard og EMC.

Hewlett-Packard AutoRAID

Etter fire år med hardt arbeid har Hewlett-Packards lagringsdivisjon utviklet en ny teknologi som utnytter redundansen til tradisjonell RAID samtidig som den eliminerer mange av dens mangler. AutoRAID-diskundersystemet velger automatisk RAID-nivået som oppfyller kravene til brukere, og implementerer også en rekke andre viktige funksjoner.

Kjernen i teknologien er et sett med disfor å administrere datablokkadresser. Tradisjonelle diskarrayer, som RAID 4 eller 5, bruker statiske, forhåndsdefinerte algoritmer for å oversette adressene til vertsdatablokker til diskadresser. AutoRAID-utviklerne forlot denne tilnærmingen og foretrakk å bruke dynamiske algoritmer for intelligent å kartlegge enhver blokkadresse på verten til en hvilken som helst disk i matrisen. Denne visningen kan endres under drift av systemet.

Dynamiske algoritmer lar kontrolleren flytte data som er lagret i en diskarray til et hvilket som helst sted på en disk uten å påvirke verken dataene eller hvordan de adresseres av vertsdatamaskinen. Denne teknologien gjør det mulig å konvertere fra ett RAID-nivå til et annet. Basert på tilgjengelig informasjon om de forskjellige ytelsesegenskapene til forskjellige RAID-nivåer, tilpasser diskundersystemet seg dynamisk for best å møte behovene til vertsdatamaskinen.

En annen viktig mulighet for denne tilnærmingen er enkel blanding av disker av forskjellige størrelser og ytelse i ett undersystem. Noen tradisjonelle diskarrayer har lignende fasiliteter, men i dem er konfigurasjonen av et delsystem en kompleks og langvarig prosess. Konfigurasjon i AutoRAID er rask og enkel. En av administratorens oppgaver når du konfigurerer en diskarray, er å lage virtuelle disker fra den tilgjengelige fysiske plassen. Brukere arbeider med virtuelle disker som undersystemkontrolleren presenterer for dem som fysiske. Når du konfigurerer en tradisjonell diskarray, må en administrator kjenne til egenskapene til hver fysiske disk for å gruppere dem sammen for å lage virtuelle disker. AutoRAID frigjør administratoren fra disse kompleksiteten. Nå er det nok for ham å vite den totale mengden minne i diskarrayen. Administratoren bestemmer mengden minne som kreves for hver virtuelle disk, hvoretter kartleggingsalgoritmene automatisk vil gruppere de fysiske diskene for å sikre mest mulig effektiv bruk av tilgjengelig plass og gi den høyeste ytelsen.

Å rekonfigurere et delsystem er også enkelt. En av de vanligste årsakene til omkonfigurering er behovet for å øke diskplass. Tradisjonelle RAID-undersystemer løser dette problemet på to måter. Den første er å legge til nok disker til å opprette en ny redundansgruppe. Denne metoden kan være ganske dyr. I det andre tilfellet lagrer administratoren alle data på en reservedisk, legger til nye disker, rekonfigurerer hele undersystemet og gjenoppretter dataene. Selvfølgelig vil denne prosessen ta lang tid, hvor systemet ikke fungerer.

Det ser mye enklere ut å rekonfigurere for å legge til ekstra diskplass. Det er nok for administratoren å installere nye disker og lage en annen virtuell disk. Dette arbeidet gjøres interaktivt og tar noen sekunder.

Denne enkle systemrekonfigurasjonen er avhengig av den dynamiske kartteknologien implementert i AutoRAID. Hver disk i arrayet behandles som en sekvens av blokker. Etter hvert som nye disker legges til, legges blokkene deres til den totale mengden av tilgjengelig minne. Kartleggingsalgoritmer lar kontrolleren bruke hver blokk uavhengig, noe som resulterer i bedre ytelse, kostnader og systemtilgjengelighet.

En unik funksjon ved AutoRAID-teknologien er automatisk og direkte bruk av nye disker for å forbedre ytelsen til diskundersystemet. Når en ny stasjon er installert, omfordeles dataene jevnt over alle stasjonene i undersystemet. Denne prosessen kalles balansering og kjører i bakgrunnen mellom vertsdatamaskinoperasjoner. Jevn distribusjon av data på tvers av alle disker skaper flere muligheter til å utføre flere dataoperasjoner samtidig. For transaksjonsbehandlingssystemer betyr en økning i antall parallelle operasjoner en økning i den totale ytelsen.

En annen innovasjon av den beskrevne teknologien er basert på balanseringsmetoden - den såkalte "active hot spare" (active hot spare). Funksjonen til en aktiv hot spare er den samme som den til en hot spare i en tradisjonell array. Hvis en stasjon feiler, starter undersystemkontrolleren umiddelbart en gjenoppbyggingsprosess som rekonstruerer tapte data på reservestasjonen og gjenoppretter undersystemredundans. I konvensjonelle arrays brukes ikke reservestasjonen før noe skjer med systemet, siden den inneholder ledig plass for gjenopprettede data. Midlertidig lagring opprettes noen ganger på en varm reservestasjon, men den må kasseres så snart en stasjon feiler.

HP AutoRAID-teknologi bruker varme reservedeler for å forbedre subsystemytelsen. Balanseringsprosessen distribuerer brukerdata på tvers av alle disker i systemet, inkludert hot spare-disken (jo flere disker som brukes til data, jo bedre ytelse). Samtidig, på hver disk, er en del av plassen reservert for datagjenoppretting i tilfelle feil. Rekonstruerte data under systemgjenoppbyggingsprosessen vil bli lagret på reserveområdet til hver av diskene i arrayet.

EMC RAID-S

EMC, en produsent av lagringssystemer, tilbyr en ny implementering av RAID-teknologi, RAID-S, som gir forbedret ytelse og databeskyttelse og eliminerer mange av manglene til tradisjonelle RAID-systemer.

RAID-S kan ikke tilordnes til ett RAID-nivå. Ved å bruke nye fremskritt innen maskinvare, programvare og skjerm, kombinerer EMC de positive aspektene ved RAID 4, 5 og RAID 6 med nye teknologier for å lage et nytt databeskyttelsessystem. RAID-S-diskarrayer er designet for bruk i systemer i stormaskinklassen.

RAID-S vil tillate brukere å bygge lagringssystemer som bidrar til å skape den beste balansen mellom ytelse, databeskyttelse og systemtilgjengelighet. RAID-S lar deg velge det RAID-nivået som passer best for organisasjonens behov. I tillegg lar EMC deg kombinere RAID-S-teknologi, RAID 1-diskarray og andre firmadisklagringssystemer i ett system.

For eksempel kan en stor bank operere online transaksjonsbehandlingssystemer for å betjene sine kunder, samt batchbehandlingssystemer for administrative oppgaver. Hver applikasjon har sine egne lagrings- og tilgangskrav. EMC-disksystemer vil gi hver av dem det nødvendige nivået av tilgjengelighet og databeskyttelse.

Stadier av RAID Excellence

RAID 0. RAID 0 er ikke iboende feiltolerant, men det kan forbedre ytelsen betydelig. I et konvensjonelt system skrives data sekvensielt til disken til dens kapasitet er oppbrukt. RAID 0 distribuerer data over diskene i arrayet som følger. Hvis det for eksempel brukes fire plater, skrives dataene til det første sporet på den første platen, deretter til det første sporet på den andre platen, det første sporet på den tredje og det første sporet på den fjerde. Dataene skrives deretter til det andre sporet på den første platen, og så videre. Denne distribusjonen av data lar deg lese og skrive data på fire disker samtidig og øker dermed systemytelsen. På den annen side, hvis en av stasjonene svikter, må du også gjenopprette data på alle fire stasjonene.

RAID 1. RAID 1 implementerer dataspeiling/dupleksing ved å lage en andre kopi av dataene på en separat disk for hver disk i arrayet. Dupleksing, i tillegg til dataene på disken, dupliserer også adapterkortet og kabelen, noe som gir enda mer redundans. Metoden for å lagre to kopier av data er en pålitelig måte å implementere et feiltolerant diskundersystem, og den har funnet bred anvendelse i moderne arkitekturer.

RAID 2. RAID 2 distribuerer data på diskene til arrayet bit for bit: den første biten skrives på den første disken, den andre biten skrives på den andre disken, og så videre. Redundans leveres av flere ekstra disker hvor feilrettingskoden er skrevet. Denne implementeringen er dyrere fordi den krever mer redundansoverhead: en matrise med 16 til 32 primære disker må ha tre ekstra disker for å lagre korreksjonskoden. RAID 2 gir høy ytelse og pålitelighet, men bruken er hovedsakelig begrenset til forskningsdatamaskinmarkedet på grunn av høye minimumskrav til diskplass. Nettverksfilservere bruker for øyeblikket ikke denne metoden.

RAID 3. RAID 3 distribuerer data på diskene i arrayet byte for byte: den første byten skrives på den første disken, den andre byten skrives på den andre disken, og så videre. Redundans gir én ekstra disk, hvor summen av datamodulo 2 (XOR) for hver av hoveddiskene skrives. På denne måten deler RAID 3 opp datafilpostene, lagrer dem på flere disker samtidig og gir svært raske lesinger og skrivinger. XOR-segmenter på den sekundære stasjonen kan oppdage enhver feil i diskundersystemet, og spesiell programvare vil avgjøre hvilken stasjon i matrisen som har feilet. Bruken av byte-vis distribusjon av data tillater samtidig lesing eller skriving av data fra flere disker for filer med svært lange poster. Bare én lese- eller skriveoperasjon kan utføres om gangen.

RAID 4. RAID 4 ligner på RAID 3, bortsett fra at data er stripet over disker i blokker. En ekstra disk brukes også til å lagre XOR-segmenter. Denne implementeringen er nyttig for filer med svært korte skrivinger og en høyere frekvens av lesing enn skriving, da flere lesinger kan utføres samtidig med riktig blokkstørrelse på disken. Imidlertid er bare én skriveoperasjon om gangen fortsatt tillatt, siden alle skriveoperasjoner bruker den samme sekundære stasjonen for å beregne kontrollsummen.

RAID 5. RAID 5, i likhet med RAID 4, bruker blokk-for-blokk datadistribusjon, men XOR-segmenter er fordelt over alle diskene i arrayet. Dette lar deg utføre flere skriveoperasjoner samtidig. RAID 5 er også nyttig for korte skrivefiler.

Live migrasjon

Spesielt en live datamigreringsstrategi lar deg lagre de mest aktive dataene i RAID 1, som har høyest ytelse, og mindre aktive data i den billigere RAID 5. I de fleste systemer er aktivt brukte data en liten del av alle lagret informasjon. Dermed vil hoveddelen av dataene bli lagret på RAID 5. Denne teknologien gir systemadministratorer to viktige fordeler. For det første frigjør det dem fra smerten ved å tenke på hvilket RAID-nivå de skal velge. For det andre optimaliserer diskundersystemet kontinuerlig ytelsen og kostnadene ved disklagring, slik tilfellet vil være når en administrator bruker all sin arbeidstid på å justere systemet.

Funksjoner ved implementeringen av RAID-S:

    RAID-S beregner den redundante feilrettingskoden på diskdrivernivå, ikke på undersystemkontrollernivå. Dette avlaster kontrolleren, frigjør den fra å behandle I/O-forespørsler, og forbedrer derved ytelsen til diskundersystemet.

    I RAID-S partisjoneres ikke data på tvers av fysiske disker som i tradisjonelle RAID-implementeringer, men blir stående urørt på disken. Dette lar deg bruke eksisterende overvåkings- og I/O-delsysteminnstillinger

    uten ytterligere opplæring av personalet.

    Siden dataene ikke er stripet på tvers av disker, selv om flere disker feiler samtidig, vil informasjonen om de gjenværende volumene i RAID-S-gruppen fortsatt være tilgjengelig for applikasjoner på vertsmaskinen.

    RAID-S implementerer avansert teknologi og er forberedt for enkel integrering av fremtidige teknologier, og beskytter brukernes langsiktige investeringer.

Materialet er delt inn i tre deler: A - teori, B - praksis, C - lage en multiboot-flash-stasjon.

A. Generell teori (populær).

1. Strykejern.

Alle fysiske enheter som vi bruker hver dag til å lagre informasjon (HDD, CD-ROM, flash-stasjon og til og med disketter) er blokk-I/O-enheter. De kan kobles til en datamaskin gjennom ulike grensesnitt: IDE, SATA, eSATA, USB. Operativsystemet gir en enkelt gjennomsiktig måte for brukeren og appliå lese/skrive informasjon fra/til disse mediene.

Drivere kommuniserer direkte med maskinvare. En driver er et program som er lastet inn i operativsystemet. Det er et lag mellom OS og enheter, som representerer OS med et standard programmeringsgrensesnitt for blokk I/O-enheter.

2. Data på den fysiske disken.

Disse enhetene kalles blokkenheter fordi informasjon skrives og leses på dem i blokker (sektorer, klynger) med en fast størrelse. Blokkstørrelsen er et multiplum av 512 byte. Blokktilnærmingen er nødvendig for å sikre den høye hastigheten til diskundersystemet.

Selve disken er formatert (partisjonert) på et lavt nivå (fra fabrikk). Disken består av sylindre. En sylinder er en sirkel på en skiveplate. De første sylindrene er plassert i midten av skiveplaten, den siste - på ytterkanten. Hver sylinder er delt inn i sektorer. Sektorer organiserer blokker på en disk. I tillegg til selve dataene, registreres informasjon i blokkene for feilkontroll. Kontrolleren inne på harddisken jobber med denne informasjonen og er ikke synlig fra utsiden. Driveren sender kommandoer til diskkontrolleren på nivået "les 10 blokker 10 sylinder 20 sektor".

All nyttelastdata skrevet til media er organisert i seksjoner. I Windows er hver partisjon vanligvis representert som en logisk stasjon (C, D, E, ...). På flyttbare medier (flash-stasjon, CD, diskett) opprettes som regel en enkelt partisjon, på interne harddisker, tvert imot, er det vanligvis flere partisjoner. Dataene i en partisjon er organisert i et filsystem.

Hver partisjon kan uavhengig sette sin egen blokkstørrelse - klyngestørrelsen. Den justerer hastighet/økonomi-balansen. En blokk er den minste adresserbare enheten med diskplass. En klynge kombinerer flere blokker - dette er den minste adresserbare enheten i en partisjon.

Dermed etableres følgende logiske hierarki (fra bunn til topp): blokk, sektor, sylinder - klynge - seksjon - fil, katalog.

I de fleste filsystemer kan en fil oppta en eller flere klynger. Derfor, hvis filstørrelsen er mindre enn klyngestørrelsen, vil filen okkupere hele klyngen. Enhver fil på disken vil bli tildelt et antall byte som er et multiplum av klyngestørrelsen. Noen filsystemer er i stand til å dele en klynge i flere filer (pakking), men dette er snarere et unntak (foreløpig). Dermed, jo større klyngestørrelsen er, desto høyere hastighet og desto mer plass går det bort på halvfylte klynger.

3. Fysisk diskoppsett.

Partisjonsstørrelsen måles også i blokker. Det er derfor, når du partisjonerer en disk, kan størrelsen uttrykt i byte korrigeres litt av programmet.

Siden det kan være flere partisjoner på en disk, må de være oppført et sted sammen med grensene og egenskapene til hver partisjon. For dette brukes partisjonstabellen, som er plassert i begynnelsen av den fysiske disken (begynnelsen av disken er dens første blokk i samsvar med adresseringen). I det klassiske tilfellet er det en del av MBR (master boot record), som opptar hele den første blokken. Hele partisjonstabellen er tildelt 64 byte. Hver tabelloppføring består av adressene til begynnelsen og slutten av partisjonen, partisjonstypen, antall sektorer i partisjonen og partisjonens "opptatt"-flagg, og opptar 16 byte. Dermed er det maksimale antallet partisjoner på en disk begrenset til fire (16 × 4 = 64).

Det skjedde historisk, men over tid ble det åpenbart at 4 seksjoner ikke alltid er nok. Løsningen på problemet er funnet. De partisjonene som er merket i diskhodet (i MBR) kalles Primær (primær). De bør fortsatt være opptil 4 inkludert. I tillegg ble konseptet med utvidede (utvidede) seksjoner introdusert. En utvidet partisjon inkluderer én eller flere underpartisjoner og inneholder ikke et filsystem. Selv er han en fullverdig primærseksjon.

Fordi underpartisjonene til den utvidede partisjonen ikke er oppført i diskpartisjonstabellen, kan de ikke merkes som oppstartbare. Den oppstartbare partisjonen er partisjonen som operativsystemet starter å starte opp fra. Det er flagget i partisjonstabelloppføringen. Dermed kan kun én av de 4 primærseksjonene merkes. En utvidet partisjon kan ikke startes opp fordi den ikke har et filsystem.

Markeringen av en utvidet seksjon er beskrevet i begynnelsen. Analogt med MBR, er det en EBR (Extended boot record) plassert i den første sektoren. Den beskriver utformingen av de logiske stasjonene til denne utvidede partisjonen.

En optisk plate og en flash-stasjon har vanligvis bare én partisjon, siden en mindre inndeling ikke gir mening der. Vanligvis, når du brenner en CD, brukes filsystemet ISO 9660. Et diskbilde med dette filsystemet kalles et ISO-bilde. Det brukes ofte isolert fra en fysisk disk som en beholder for dataoverføring, siden ethvert bilde er en bitvis nøyaktig kopi av et fysisk medium.

4. Filsystem.

Hver diskpartisjon beregnet for datalagring (det vil si alle partisjoner unntatt den utvidede) er formatert i henhold til et eller annet filsystem. Formatering er prosessen med å lage en filsystemstruktur på et sted på en disk - en partisjon. Filsystemet organiserer brukerdata i form av filer som ligger i et eller annet hierarki av kataloger (mapper, kataloger).

Strukturen til kataloger og filer i en partisjon er klassisk beskrevet i en filtabell. Vanligvis opptar et bord litt plass i begynnelsen av en seksjon. Etter tabellen skrives selve dataene. Dermed lages et system hvor strukturen beskrives separat, og dataene (filene) lagres separat.

Hvis en fil slettes fra disken, fjernes den fra filtabellen. Plassen den tok opp på disken er merket som ledig. Men det er ingen fysisk rensing av dette stedet. Når en plate skrives til, skrives dataene til ledig plass. Derfor, hvis du oppretter en ny fil etter å ha slettet den, er det en mulighet for at den vil bli skrevet til stedet for den slettede. Med rask formatering (brukes i de aller fleste tilfeller) av partisjonen er det bare tabellen som også overskrives. Prosedyren for å gjenopprette filer etter sletting eller formatering er basert på disse funksjonene.

Under drift kan det oppstå fysisk skade på disken. Noen blokker kan bli uleselige. Disse blokkene kalles "bads" (dårlig sektor). Hvis en dårlig disk treffer mens du leser en disk, oppstår det en I/O-feil. Avhengig av hvor den dårlige blokken dukket opp og hvor mange av dem som dukket opp, kan enten deler av innholdet i filene eller deler av filtabellen gå tapt.

Når du prøver å skrive til en dårlig blokk, må diskkontrolleren fastslå problemet og tildele en ny plass på diskoverflaten for denne blokken, og fjerne det gamle stedet fra bruk (flytt dårlig blokk). Den gjør dette usynlig for OS og drivere, på egen hånd. Dette skjer så lenge det er en reserve av plass for overføring.

5. Arbeid med en disk.

Operativsystemet gir muligheten til å arbeide med disker på fil-, partisjons- og enhetsnivå. Den spesifikke implementeringen av tilgang til hvert nivå avhenger av det spesifikke operativsystemet. Men i alle fall er det felles at en fysisk disk og hvilken som helst av dens partisjoner kan nås på samme måte som en vanlig binær fil. Det vil si at du kan skrive data til den, du kan lese data fra den. Slike funksjoner er spesielt nyttige for å lage og gjenopprette diskbilder, diskkloning.

I UNIX-operativsystemer er alle lagringsenheter representert som filer i /dev-katalogen:

    sda, sdb, sdc, ... - fysiske disker (HDD, inkludert eksterne, flash-stasjoner, IDE-stasjoner);

    fd0, fd1 - flopper.

Partisjonene på hver av diskene er tilgjengelige som sda1, sda2, sd3, ...

Diskene er nummerert i den rekkefølgen BIOS ser dem. Partisjonsnummerering - i rekkefølgen partisjoner ble opprettet på disken.

For å lage et bilde (et bilde er en bit-for-bit kopi av informasjon plassert på en disk eller i en partisjon) av en hel disk (for eksempel den første i henhold til BIOS - sda), må du trekke fra data fra / dev / sda til en hvilken som helst annen fil som er spesielt opprettet for bildet ved hjelp av en sekvensiell kopi programfilinnhold. For å skrive et bilde til en fil, må du bruke det samme programmet for å trekke data fra bildet i /dev/sda. Analogt kan du lage/gjenopprette et bilde av en partisjon (for eksempel den første på den første disken - sda1) ved å gå til /dev/sda1 i stedet for /dev/sda.

6. Montering.

For å "gjøre" en diskenhet til et sett med filer og kataloger som kan nås, må den monteres. Det er ikke noe slikt som en mount på Windows. Der kobles partisjoner ganske enkelt til logiske stasjoner (C:, D:, E, ...). Informasjon om hvilken bokstav som skal tildeles til hvilken stasjon er lagret i selve OS.

I UNIX er konseptet med montering grunnleggende for arbeid med disker og gir mye mer fleksibilitet enn Windows. Montering er prosessen med å koble en diskbildekilde (enten selve disken eller en fil med bildet) til en katalog i UNIX-filsystemet. Filsystemet i UNIX starter fra ett punkt - fra rotkatalogen (/), og det er ingen logiske stasjoner C, D, E.

Ved begynnelsen av oppstarten av UNIX-familiens OS, er diskpartisjonen merket som root (root) montert i rotkatalogen /. OS-tjenestekataloger som ligger i roten til filsystemet, bør opprettes på diskpartisjonen. Andre partisjoner kan monteres til dem, eller filer kan skrives direkte til hovedpartisjonen (montert til /).

Nøkkelpunktet er at en diskbildekilde (en blokkenhet, en bildefil eller en katalog til et allerede montert filsystem) kan monteres til en hvilken som helst katalog på et hvilket som helst filsystem-nesting-nivå som starter med /. Dermed er forskjellige logiske partisjoner på en fysisk disk representert av kataloger i et enkelt filsystem, i motsetning til separate filsystemer med forskjellige logiske disker i Windows (hvor hver disk behandles som et autonomt filsystem som har sin egen rot).

For å montere, må du spesifisere bildefilsystemet, monteringsalternativer og katalogen som skal bindes til.

På grunn av denne fleksibiliteten kan du binde en katalog til flere forskjellige steder i filsystemet, lage et diskbilde og montere det uten å skrive det til disk, åpne ISO-bildet. Og alt dette gjøres uten bruk av tredjepartsverktøy.

7. MBR - bagasjerom.

I begynnelsen av en fysisk disk er det vanligvis en MBR (master boot record). Dette er oppstartsområdet på disken. Når datamaskinen starter opp, bestemmer BIOS hvilken disk som er den primære (primære) og ser etter en MBR på den. Hvis den blir funnet, overføres kontrollen til den. Hvis ikke, vises en feilmelding om at oppstartsdisken ikke ble funnet.

I MBR, i tillegg til partisjonstabellen (beskrevet ovenfor), er det en programkode som lastes inn i minnet og kjøres. Det er dette programmet som skal bestemme oppstartspartisjonen på disken og overføre kontrollen til den. Overføringen av kontroll er lik: den første blokken (512 byte) av oppstartspartisjonen plasseres i RAM og kjøres. Den inneholder programkoden som starter oppstarten av operativsystemet.

På grunn av det faktum at kontroll fra BIOS overføres til programmet som er registrert på disken når datamaskinen startes opp, er det mulig å gjøre valget av oppstartspartisjonen mer fleksibelt. Dette er hva GRUB- og LILO-lasterne, som er mye brukt i UNIX-verdenen, gjør. Det er foreløpig ingen vits i å bruke den siste bootloaderen på moderne datamaskiner. Med GRUB kan du gi brukeren valget om hvilken partisjon som skal startes og hvordan.

GRUB-koden er for stor til å passe inn i MBR. Derfor er den installert på en separat partisjon (vanligvis den som er montert på /boot) med et FAT-, FFS- eller Ext2-filsystem. MBR inneholder kode som laster GRUB-koden fra en spesifikk partisjon og overfører kontroll til den.

GRUB selv eller ved hjelp av brukeren bestemmer fra hvilken partisjon oppstarten skal skje. Når det gjelder en Winsows-partisjon, overføres kontrollen ganske enkelt til den på samme måte som den ville vært fra en vanlig MBR. Når det gjelder Linux, utfører bootloaderen mer komplekse handlinger. Den laster OS-kjernen inn i minnet og overfører kontroll til den.

Å sikkerhetskopiere oppstartsområdet til en disk er like enkelt som å sikkerhetskopiere en hel disk eller en enkelt partisjon. Poenget er at MBR opptar de første 512 bytene på /dev/sda-disken. Derfor, for en MBR-sikkerhetskopi, må du trekke fra de første 512 bytene av /dev/sda til en fil, og for å gjenopprette, tvert imot, må du trekke filen inn i /dev/sda.

Når vi snakker om diskundersystemressurser, kan vi nevne tre av dem: mengden plass, lese- og skrivehastigheten i MB/s, og lese-skrivehastigheten i antall input/output-operasjoner per sekund (Input/Output) per sekund, IOPS eller ganske enkelt I/O).

La oss snakke om volum først. Jeg vil gi betraktninger som bør styres etter, og et eksempel på regnestykket.

Betraktninger er som følger:

Diskplass er okkupert av selve diskfilene på den virtuelle maskinen. Derfor må du forstå hvor mye plass de trenger;

Hvis vi planlegger å bruke tynne disker for hele eller deler av VM, bør vi planlegge deres første volum og påfølgende vekst (heretter betyr tynne disker den tilsvarende typen vmdk-filer, det vil si den tynne klargjøringsfunksjonen i ESX (dvs. ) implementering) Faktum er at den tynne klargjøringsfunksjonaliteten kan implementeres på et lagringssystem uavhengig av ESX(i), og jeg mener ikke funksjonaliteten til lagringssystemer);

Som standard, for hver VM, oppretter hypervisoren en personsøkingsfil som er like stor som RAM-en. Denne personsøkingsfilen ligger i VM-mappen (standard) eller på en separat LUN;

Hvis du planlegger å bruke øyeblikksbilder, bør du også planlegge et sted for dem. Følgende hensyn kan tas som utgangspunkt:

Hvis øyeblikksbilder vil eksistere i en kort periode etter opprettelse, for eksempel bare for tidspunktet for sikkerhetskopiering, reserverer vi ti prosent av VM-diskstørrelsen for dem;

Hvis øyeblikksbilder vil bli brukt med en gjennomsnittlig eller uforutsigbar intensitet, er det fornuftig for dem å legge rundt 30 % av VM-diskstørrelsen;

Hvis øyeblikksbilder for VM-er brukes aktivt (noe som er relevant i scenarier der VM-er brukes til testing og utvikling), kan volumet de opptar være flere ganger større enn den nominelle størrelsen på virtuelle disker. I dette tilfellet er det vanskelig å gi eksakte anbefalinger, men en dobling av størrelsen på hver VM kan tas som utgangspunkt. (Heretter refererer et øyeblikksbilde til den tilsvarende funksjonaliteten til ESX(i). Faktum er at øyeblikksbilder kan implementeres på et lagringssystem uavhengig av ESX(i), og jeg mener ikke funksjonaliteten til lagringssystemer.)

En eksempelformel ser slik ut:

Mengde plass for en gruppe VM-er = Antall VM-er x (Diskstørrelse x T +

Diskstørrelse x S + Minnestørrelse - Minnestørrelse x R).

T - koeffisient av tynne disker. Hvis slike disker ikke brukes, er det lik 1. Hvis de er det, er det vanskelig å gi et abstrakt estimat, avhengig av applikasjonens natur i VM. I hovedsak tar tynne disker opp mindre lagringsplass enn diskens nominelle størrelse. Så - denne koeffisienten viser hvilken andel av den nominelle størrelsen som er okkupert av virtuelle maskindisker;

S er størrelsen på øyeblikksbilder. 10/30/200 prosent, avhengig av lengden på kontinuerlig bruk;

R er prosentandelen av reservert minne. Det reserverte minnet passer ikke inn i swap-filen, swap-filen lages i en mindre størrelse. Størrelsen er lik: mengden VM-minne minus mengden reservert minne.

Estimerte inngangsdata, for eksempel, se Tabell. 1.3.

Tabell 1.3. Data for planlegging av volumet til diskundersystemet

Vi får et estimat på nødvendig volum:

Infrastrukturgruppe - 15 x (20 + 20 x 10 % + 2 - 2 x 0) = 360 GB;

Applikasjonsservere - 20 x (40 + 40 x 10 % + 2 - 2 x 0) = 920 GB;

Kritiske servere - 10 x (100 + 100 x 10 % + 6 - 6 x 0,5) = 1130 GB;

Test og midlertidig - 20 x (20 x 30 % + (20 x 30 %) x 200 % + 2 - 2 x 0) = = 400 GB.

Derfor kan vi lage to LUN-er på 1,4 TB hver og fordele virtuelle maskiner mellom dem omtrent likt. Eller lag 4-5 LUN-er på 600800 GB hver og plasser maskiner fra forskjellige grupper på forskjellige LUN-er. Begge alternativene (og de i mellom) er akseptable. Valget mellom dem gjøres basert på andre preferanser (for eksempel organisatorisk).

En annen ressurs i diskundersystemet er ytelse. Når det gjelder virtuelle maskiner, er ikke MB/s-hastighet et pålitelig kriterium, fordi når et stort antall VM-er får tilgang til de samme diskene, er tilgangene inkonsekvente. For en virtuell infrastruktur er en viktigere egenskap antall input/output-operasjoner (IOPS, Input/Output per sekund). Diskundersystemet til infrastrukturen vår må tillate flere av disse operasjonene enn de virtuelle maskinene ber om.

Hva er banen for gjeste-OS-tilgang til fysiske disker i det generelle tilfellet:

1. Gjeste-OSet sender forespørselen til SAS/SCSI-kontrollerdriveren (som emulerer hypervisoren for den).

2. Driveren sender den til den virtuelle SAS/SCSI-kontrolleren selv.

3. Hypervisoren avskjærer den, kombinerer den med forespørsler fra andre VM-er og sender felleskøen til den fysiske kontrollerdriveren (HBA i tilfelle FC og maskinvare iSCSI eller Ethernet-kontroller i tilfelle NFS og programvare iSCSI).

4. Sjåføren sender forespørselen til kontrolleren.

5. Kontrolleren overfører den til lagringssystemet, via et datanettverk.

6. Lagerkontrolleren godtar forespørselen. Denne forespørselen er en lese- eller skriveoperasjon fra et LUN- eller NFS-volum.

7. En LUN er en "virtuell partisjon" på en RAID-array som består av fysiske disker. Det vil si at forespørselen sendes av lagringskontrolleren til stasjonene i det RAID-arrayet.

Hvor kan være flaskehalsen til diskundersystemet:

Mest sannsynlig på nivå med fysiske disker. Antall fysiske disker i RAID-arrayet er viktig. Jo flere av dem, desto bedre kan lese- og skriveoperasjoner parallelliseres. Dessuten, jo raskere (i I/O-termer) selve diskene er, jo bedre;

Ulike nivåer av RAID-arrayer har forskjellig ytelse. Det er vanskelig å gi fullstendige anbefalinger, fordi i tillegg til hastighet, varierer RAID-typer også i kostnad og pålitelighet. De grunnleggende hensynene er imidlertid:

RAID-10 er den raskeste, men minst effektive bruken av diskplass, fratrukket 50 % for feiltoleransestøtte;

RAID-6 er den mest pålitelige, men lider av lav skriveytelse (30-40 % av RAID-10 ved 100 % skriving), selv om lesing fra den er like rask som RAID-10;

RAID-5 er et kompromiss. Skriveytelsen er bedre enn RAID-6 (men dårligere enn RAID-10), lagringseffektiviteten er høyere (kapasiteten til kun én disk tas for feiltoleranse). Men RAID-5 lider av alvorlige problemer forbundet med langvarig datagjenoppretting etter en diskfeil i tilfelle av moderne høykapasitetsdisker og store RAID-grupper, hvor den forblir ubeskyttet mot en annen feil (som blir til RAID-0) og taper dramatisk i opptreden;

RAID-0, eller "RAID with Zero Fault Tolerance", kan ikke brukes til å lagre meningsfulle data;

Innstillinger for lagringssystem, spesielt cachen for lagringskontrolleren. Å studere dokumentasjonen til lagringssystemet er viktig for riktig konfigurasjon og drift;

Datanettverk. Spesielt hvis du planlegger å bruke IP-lagring, iSCSI eller NFS. Jeg vil på ingen måte si at det ikke er nødvendig å bruke dem - slike systemer har blitt utnyttet i lang tid og av mange. Det jeg sier er at du bør prøve å sørge for at lasten som overføres til det virtuelle miljøet vil ha nok nettverksbåndbredde med den planlagte båndbredden.

Den resulterende hastigheten til diskundersystemet følger av hastigheten til diskene og algoritmen for parallellisering av disktilganger fra kontrolleren (som betyr typen RAID og lignende funksjoner). Forholdet mellom antall leseoperasjoner og antall skriveoperasjoner er også viktig - vi tar dette forholdet fra statistikk eller fra dokumentasjonen for applikasjoner i våre VM-er.

La oss ta et eksempel. La oss anta at våre VM-er vil skape en belastning på opptil 1000 IOps, hvorav 67 % vil være lesing og 33 % - skriving. Hvor mange og hvilke disker trenger vi i tilfelle vi bruker RAID-10 og RAID-5?

I en RAID-10-matrise er alle disker involvert i leseoperasjoner på en gang, og bare halvparten er involvert i skriveoperasjoner (fordi hver blokk med data skrives til to disker samtidig). I en RAID-5-matrise deltar alle disker i lesing, men hver blokk skrives med overhead knyttet til beregning og endring av kontrollsummen. Du kan tenke på en enkelt skriving til en RAID-5-array som forårsaker fire skrivinger direkte til diskene.

Skriv - 1000 x 0,33 % = 330 x 2 (siden bare halvparten av diskene er involvert i skrivingen) = 660 IOps.

Totalt trenger vi 1330 IOps fra disker. Hvis vi deler 1330 med antall IOps deklarert i ytelseskarakteristikkene til en disk, får vi det nødvendige antallet disker i en RAID-10-matrise for den spesifiserte belastningen.

Lesing - 1000 x 0,67 % = 670 IOps;

Skriv - 1000 x 0,33 % = 330 x 4 = 1320 IOps.

Totalt trenger vi 1990 IOps fra disker.

I følge produsentens dokumentasjon håndterer én SAS 15k-harddisk 150-180 IOps. Én SATA 7.2k-stasjon - 70-100 IOps. Det er imidlertid en oppfatning om at det er bedre å fokusere på litt forskjellige tall: 50-60 for SATA og 100-120 for SAS.

La oss avslutte eksemplet.

Ved bruk av RAID-10 og SATA trenger vi 22-26 disker.

Ved bruk av RAID-5 og SAS trenger vi 16-19 disker.

Det er åpenbart at beregningene jeg har gitt er ganske omtrentlige. Lagringssystemer bruker ulike typer mekanismer, først og fremst caching - for å optimere driften av lagringssystemet. Men som et utgangspunkt for å forstå størrelsesprosessen for diskundersystem, er denne informasjonen nyttig.

Bak kulissene er metodene for å oppnå antallet IOPS som kreves for VM og lese-til-skrive-forholdet. For en eksisterende infrastruktur (når du flytter den til virtuelle maskiner), kan disse dataene innhentes ved hjelp av spesielle informasjonsinnsamlingsverktøy, for eksempel VMware Capacity Planner. For den planlagte infrastrukturen - fra dokumentasjonen for søknader og din egen erfaring.