Hvis du har brug for, at din server eller pc kører hurtigt, men også gemmer tonsvis af dataDet typiske dilemma er tydeligt: ​​Skal jeg gå efter hastigheden på en SSD eller de billige terabyte mekaniske harddiske? I Windows Server-økosystemet er svaret meget mere interessant, fordi du ikke behøver at vælge: du kan blande begge verdener ved hjælp af lagerpladser og lagerniveauer.
Windows Server 2012 R2 introducerede meget kraftfuld funktionalitet som har udviklet sig med efterfølgende versioner, og som muliggør opbygning af hybride volumener, hvor de hotteste dele af dataene befinder sig i SSD Mens størstedelen af ​​dataene gemmes på traditionelle harddiske, administreres alt dette automatisk af systemet, så du behøver ikke at flytte filer manuelt, medmindre du vil finjustere funktionaliteten.
Hvad er lagerpladser og lagerniveauer?
Lagerpladser er det softwaredefinerede lagerlag i Windows Server.Det giver dig mulighed for at gruppere fysiske diske (SATA, SAS, NVMe, endda nogle iSCSI eller FC) i en eller flere opbevaringsbassinerUd fra disse grupper oprettes virtuelle diske, som systemet ser som normale volumener, men i virkeligheden arbejder du på et virtualiseringslag, der giver dig robusthed, fleksibilitet og, i vores tilfælde, lagdeling.
Lagerniveauer tilføjer intelligens oven på disse puljer.Et niveau er i bund og grund en delmængde af kapacitet, der er knyttet til en medietype: et hurtigt niveau til SSD'er/NVMe og et kapacitetsniveau til harddiske. Systemet analyserer med jævne mellemrum, hvilke blokke der bruges hyppigst, og flytter dem til det hurtige niveau, hvorved sjældent tilgåede data henvises til harddisken. Det minder om, hvad et automatiseret hybridsystem gør, men styres indefra Windows Server og er fuldt konfigurerbart.
Nøglen er, at lagdeling fungerer på blokniveau, ikke på filniveau.Det betyder, at den ikke blot flytter hele filer mellem SSD og HDD, men også arbejder med datafragmenter. En enkelt fil kan have sine mest brugte dele gemt på SSD'en og resten på HDD'en, hvilket maksimerer udnyttelsen af ​​hver gigabyte af den hurtigere del.
I praksis får du det bedste fra begge verdener.: den hastighedsoplevelse, vi forbinder med en SSD til de fleste adgange, med prisen pr. TB for et stort sæt mekaniske diske, uden at man behøver at investere i et avanceret SAN-array.
Disktyper, fysiske og logiske sektorer: hvorfor de er vigtige i lagerpladser

Før du begynder at oprette virtuelle diskpuljer og diske, er det en god idé at forstå, hvordan disksektorer fungerer.I årevis brugte harddiske (HDD'er) fysiske og logiske sektorer på 512 byte, et designprincip, som mange operativsystemer var baseret på. Med springet til kapaciteter på flere terabyte skiftede producenter til drev med fysiske sektorer på 4096 byte.
Det er her, tre meget almindelige familier af optegnelser kommer i spil.Der findes tre typer 512-byte drev: klassiske 512-byte drev, 512e (emulerede 512-byte drev) og 4Kn (native 4K) drev. I 512e drev skriver disken fysisk i 4 KB blokke, men controlleren accepterer 512-byte anmodninger og grupperer dem sammen. I 4Kn drev kommunikerer selve operativsystemet i 4 KB blokke og styrer bagudkompatibilitet med ældre applikationer.
I lagerområder og lagdelingsscenarier er dette relevant, fordi puljens logiske sektorstørrelse skal være konsistent.Praktisk regel: Hvis alle diske er native 4K, kan du oprette puljen med en logisk sektorstørrelse på 4096 bytes. Hvis der er 512- eller 512e-diske i blandingen, er det klogt at definere puljen med en logisk sektorstørrelse på 512 bytes. Dette undgår ydeevneforringelser på grund af forkert justering og konstante interne omskrivninger.
Windows Server tilbyder en brugergrænseflade til administration af lagerpladser, men ikke alt kan gøres fra guiden.Især kan den logiske sektorstørrelse for puljen kun defineres ved hjælp af PowerShell med cmdlets som f.eks. Ny opbevaringspool specificerer -Standard for logisk sektorstørrelseEnhver, der ønsker at få mest muligt ud af deres niveauer, bør tage et øjeblik til at gennemgå dette punkt, før de febrilsk klikker på Næste.
Opret en hybrid storage-pool med SSD'er og harddiske

Det første praktiske trin er at samle de diske, der skal være en del af lagerpuljen.I laboratorier gøres dette normalt med virtuelle maskiner (for eksempel to virtuelle diske, der simulerer 256 GB SSD'er og to harddiske på 1 TB), men logikken er den samme i rigtig hardware: SATA/SAS/NVMe-diske tilsluttet serveren, initialiseret og klar.
Fra Server Manager, i afsnittet Fil- og lagertjenester, kan du få adgang til lagergrupperDer vil du se den primære gruppe med de diske, der er tilgængelige til pooling. Guiden "Ny lagerpulje" giver dig mulighed for at navngive puljen, vælge de diske, der skal være en del af den, og i bund og grund pakke al kapaciteten i en enkelt logisk ressource.
Når puljen er oprettet, vises alle diske som en del af puljen, men Windows er muligvis ikke klar over, hvilket medie der er en SSD, og ​​hvilket der er en harddisk.I virtuelle miljøer er det faktisk almindeligt, at de alle vises som "Ukendt" eller endda alle som SSD'er. For at konfigurere niveauerne korrekt skal de mærkes.
PowerShell er det perfekte værktøj til at korrigere medietypeMed cmdlet'en Set-PhysicalDisk -MediaType Du kan manuelt angive, hvilke diske der skal betragtes som SSD'er, og hvilke harddiske der skal betragtes som, enten ved hjælp af det venlige navn (FriendlyName) eller ved hjælp af UniqueId. Når du har opdateret Server Manager, vil du se, at feltet "Media Type" endelig skelner mellem de to.
I mere avancerede implementeringer anbefales det også at deaktivere poolens skrivecache. Hvis du har til hensigt at bruge niveaujustering på volumenniveau og ikke ønsker, at et andet cachelag skal forstyrre, lader PowerShell dig gøre det igen. Set-StoragePool -WriteCacheSizeDefault 0sikre, at lagdelingsadfærden vil være som forventet.
Virtuelle diske med lagerniveauer: enkelt, spejl og paritet

Når puljen er klar, er næste trin at oprette en virtuel disk, der udnytter niveauerne.Fra selve Server Manager kan du starte guiden "Ny virtuel disk" på den pågældende pulje, tildele et navn og, meget vigtigt, markere feltet ud for "Opret lagerniveauer på denne virtuelle disk". Dette er den indstilling, der aktiverer hybrid SSD+HDD-funktionaliteten.
Det virtuelle disklayout bestemmer robusthedDu har tre hovedmuligheder: Simpelt (ligner RAID 0, højere ydeevne men ingen fejltolerance), Spejl (to- eller trevejs spejling, svarende til RAID 1/10) og Paritet (Paritet, svarende til RAID 5/6). Der er én vigtig begrænsning: Hvis du aktiverer lagerniveauer på den virtuelle disk, forsvinder paritetsindstillingen, og kun Simpel eller Spejlet er tilbage.
For laboratorier og hurtig testning giver et simpelt design kombineret med niveauer allerede et godt indblik i systemets adfærd.I produktion er det dog almindeligt at bruge et filspejl med mindst to SSD'er og to harddiske, så man kan miste ét drev af hver type uden at miste data. Den brugbare kapacitet vil naturligvis være lavere på grund af redundansen.
En anden vigtig detalje er udbuddetTiered-diske skal oprettes med fast provisionering; tynd provisionering understøttes ikke, når storage-tiers er aktive. Dette giver mening: mekanismen til at flytte blokke mellem tiers skal have stabile mappings af logiske og fysiske adresser, uden dynamiske lag derimellem, der ændrer størrelser undervejs.
Guiden lader dig også definere, hvor meget plads der skal tages fra hvert niveauFor eksempel kan du oprette en virtuel disk på 100 GB bestående af 10 GB SSD og 90 GB HDD. Internt ved systemet, at de 10 GB er den hurtige del, og vil koncentrere de hurtige blokke der, mens HDD'en fungerer som billigere masselagring. Intet forhindrer dig i at øge størrelsen på et af niveauerne senere, hvis antallet af kolonner og diske tillader det.
Oprettelse af volumener, filsystemer og verificering af konfiguration
Når den virtuelle disk er oprettet, er den normale procedure at fortsætte med guiden for at generere et volumen.Det er konceptuelt det samme som at partitionere en fysisk disk: du vælger, hvilken del af kapaciteten der skal bruges (det kan være hele eller en del af den), du vælger et drevbogstav eller monteringspunkt, og du vælger filsystemet, typisk NTFS eller ReFS afhængigt af scenariet.
I moderne virtualiserings- og backupmiljøer anbefaler Microsoft ReFSisær når du kombinerer disse typer volumener med teknologier som System Center Data Protection Managers (DPM) Modern Backup Storage. ReFS er optimeret til blokkloning, accelereret detektion og reparation af korruption samt effektiv håndtering af VHDX-filer, hvilket gør det til et godt valg til lagdelte pools og store volumener.
Volumener beregnet til generelle data, delte filer eller traditionelle applikationer kan fortsætte med at bruge NTFS uden problemer.Det vigtige er at være konsekvent: Hvis du skal bruge DPM 2016 eller nyere med MBS, er det bedst at tilbyde ReFS-volumener på Storage Spaces, helst med en procentdel af SSD som det hurtigste niveau.
Når volumenet er samlet, er det en god idé at kontrollere dets egenskaber. Både i Server Manager og i Disk Management vil du se, at den annoncerede logiske størrelse matcher den, der er defineret på den virtuelle disk, men hvis du ser på puljen, vil du opdage, at der er forbrugt mere råkapacitet på grund af robusthed (spejling) og de interne reserver, der er nødvendige til lagdeling.
I laboratoriesammenhænge er det også interessant at oprette en anden virtuel disk uden niveauer på den samme pulje.For tydeligt at se, hvilke muligheder der forsvinder, når du aktiverer lagerniveauer: Paritet bliver tilgængelig, tynd provisionering er aktiveret osv. Denne sammenligning hjælper dig med at internalisere de arkitektoniske forskelle mellem lagdelte og ikke-lagdelte volumener.
Hvordan flyttes data egentlig mellem SSD og HDD?
Tiering-systemets interne funktion i Storage Spaces er baseret på periodiske adgangsanalyser.Systemet overvåger, hvilke blokke der læses og skrives hyppigst, og reorganiserer distributionen lydløst efter en planlagt tidsplan, hvor de varmeste blokke flyttes til SSD-niveauet og de koldeste blokke til HDD-niveauet. Dette er ikke øjeblikkeligt eller øjeblikkeligt, når man kopierer en stor fil, men snarere en kontinuerlig optimeringsproces.
Mange administratorer bliver overraskede, når de tester med en stor fil og ser, at SSD'en ikke fyldes op med det samme.Ved skrivning kommer harddiskens egne caches (dens interne buffere) først i spil, og afhængigt af konfigurationen kan yderligere caches såsom Storage Bus Cache eller journalmekanismer også anvendes. SSD-laget fungerer ikke altid som en direkte skrivecache i stil med en RAID-accelerator.
Det, der burde ske, er, at efter en vis tids- og brugsanalyse vil de ofte tilgåede blokke af den fil migrere til SSD'en.Hvis læsetests viser, at SSD'en har ringe aktivitet, bør du overveje, om adgangen er gentagende nok til at markere disse blokke som aktive, eller om belastningsfordelingen ikke fremtvinger den forventede adfærd.
I nogle tilfælde spiller den relative størrelse af SSD-niveauet sammenlignet med harddisken også en rolle.Hvis SSD'en repræsenterer en ubetydelig procentdel af den samlede kapacitet, skal algoritmen meget aggressivt prioritere, hvad der betragtes som "hot", og din specifikke test er muligvis ikke repræsentativ. En typisk anbefalet størrelse til backupscenarier med DPM er for eksempel at allokere omkring 4% af det samlede antal til SSD til metadata og kritiske blokke.
Ud over automatisk tiering giver Windows dig mulighed for manuelt at fastgøre bestemte filer til SSD'en.Med PowerShell og kommandoer som dem i File Storage Tiers kan du markere en ISO-fil eller database til at forblive forankret i det hurtige niveau; du kan også fortryde denne beslutning senere med supplerende cmdlets, der returnerer kontrollen til systemet.
Storage Spaces Direct (S2D) og softwaredefineret klyngelagring
Når vi går fra en enkelt server til en fuld klynge, kommer Storage Spaces Direct (S2D) i spil.Denne teknologi, der findes i Windows Server Datacenter og Azure Stack HCI, udvider ideen om Storage Spaces til et sæt noder og skaber en softwarelagringsbus, der får alle de lokale diske på alle serverne til at ligne et delt chassis.
S2D kombinerer flere nøglekomponenterValideret hardware (x86-servere med NVMe-, SSD- og HDD-diske), et hurtigt RDMA-netværk (RoCE eller iWARP ved 10 GbE eller højere), switch-through-klyngen fejl som fundament for høj tilgængelighed og selve storagebus-softwaren. Oven i alt dette defineres pools, virtuelle diske, robusthed (spejling, paritet) og naturligvis lager- og cacheniveauer.
Den hyperkonvergerede arkitekturmodel (HCI) er nok den mest populæreHyper-V virtuelle maskiner og S2D-lagring deler de samme noder, hvilket forenkler infrastrukturen og reducerer omkostningerne sammenlignet med et traditionelt SAN. Der er også en konvergeret model, hvor lagringsklyngen er uafhængig og eksponeret til beregningsklyngen via Scale-Out File Server og SMB3.
S2D automatiserer meget af rebalancering og caching-arbejdetNår du tilføjer nye diske eller endda nye noder, omfordeler puljen sig selv automatisk. Det hurtigst tilgængelige medie bruges som en altid-på-cache, hvilket forbedrer ydeevnen af ​​arbejdsbelastninger som virtuelle maskiner eller SQL Server-databaser betydeligt.
Selvom teorien er meget attraktiv, kræver S2D omhyggelig planlægning.Valideret kataloghardware, et veldesignet netværk, forståelse af robusthedstilstande (tovejs- eller trevejsspejling, paritet, sletningskodning) og frem for alt en god daglig overvågnings- og administrationsstrategi. Værktøjer som Cluster Manager, PowerShell og tredjepartsløsninger er afgørende for at undgå at gå i blinde.
Modern Backup Storage (MBS) i DPM og brugen af ​​lagdelte volumener
System Center Data Protection Manager (DPM) 2016 introducerede Modern Backup Storage (MBS) For at reducere pladsforbruget med omkring 50 %, accelerere diskbackups med op til tre gange og bedre administrere arbejdsbelastninger er MBS i høj grad afhængig af ReFS, blokkloning og selvfølgelig lagerplads.
Ideen er enkel: i stedet for at bruge to volumener pr. datakilde (en initial og en til differentialer), konsoliderer MBS og udnytter filsystemets avancerede funktioner.De volumener, som DPM bruger til lagring, formateres automatisk i ReFS, forudsat at de er blevet præsenteret på basisdiske (ingen dynamiske diske) og helst på Storage Spaces.
Med DPM 2019 og nyere tages et yderligere skridt ved at understøtte lagdelte volumener som native storage.Det betyder, at den diskenhed, hvor DPM gemmer sikkerhedskopier, kan sikkerhedskopieres af både et SSD-lag og et HDD-lag. Det praktiske resultat er en yderligere forbedring på mellem 50 % og 70 % i udførelsestiden for visse sikkerhedskopier, da metadata og kritiske blokke gemmes i det hurtige lag.
Microsoft anbefaler at reservere cirka 4% af den samlede kapacitet som SSD-lager. I dette scenarie har ReFS tilladelse til at bruge denne del som den primære placering for sine metadata. Fra DPM's perspektiv er der ikke behov for yderligere konfiguration: den ser blot en ReFS-volumen og forbruger den som forventet.
Konfigurationen af ​​MBS med lagdelt lagring følger et ret klart flow.Forbered de fysiske diske, opret Storage Pool med den passende logiske sektorstørrelse (normalt 4K, hvis alle diske understøtter det), indstil MediaType (SSD/HDD) korrekt, deaktiver skrive-caching på poolniveau, definer niveauerne (et for ydeevne, et for kapacitet), og opret en ReFS-diskenhed, der kombinerer begge niveauer. Denne diskenhed eksponeres derefter for DPM, som integrerer den som disklagring.
DPM tilbyder PowerShell-cmdlets til yderligere finjustering af administrationUpdate-DPMDiskStorage til at tildele navne og etiketter til volumener baseret på datakildetype, volumenudelukkelse med Set-DPMGlobalProperty for at forhindre menneskelige fejl ved tilføjelse af lagerplads og endda muligheder for datamigrering mellem volumener, når du fornyer lagerarrays eller udvider kapaciteten.
Understøttede konfigurationer, robusthed og kolonnestørrelser i Storage Spaces
Windows Storage Spaces understøtter forskellige forbindelsestopologier og niveauer af robusthedDu kan bruge SAS-, SATA- og endda iSCSI- eller Fibre Channel-LUN'er i visse tilfælde, dog med begrænsninger (for eksempel understøttes kun simple virtuelle diske med iSCSI/FC i visse konfigurationer).
Med hensyn til modstandsdygtighed har du tre hovedtyperSimple (ingen redundans, maksimal ydeevne og kapacitet), Mirror (to eller tre kopier af dataene, fremragende ydeevne og god fejltolerance) og Parity (balance mellem kapacitet og beskyttelse, med nogle omkostninger i skriveydelse). Hver har et minimum antal fysiske diske, der kræves, og specifikke krav til, hvad der understøttes eller ikke understøttes i SAN'et.
Konceptet kolonnestørrelse er en anden vigtig faktor ved design af skalerbare poolsKolonnen definerer, hvordan data fordeles på tværs af fysiske diske, og hvor mange drev der skal tilføjes på én gang, når du vil udvide en virtuel disk. Et højere antal kolonner (op til 8) giver normalt bedre ydeevne, men tvinger dig til at skalere i multipla af denne værdi.
Som standard bestemmer systemet antallet af kolonner baseret på de tilgængelige diske, når der oprettes virtuelle diske eller volumener.Hvis du vil kontrollere denne parameter, kan du bruge cmdlets som f.eks. Sæt-Modstandsdygtighedsindstilling at justere standardantallet af spejl- eller paritetskolonner i en bestemt pulje og tilpasse det til dine ydeevnebehov og fremtidig vækst.
Når det kommer til at blande robusthed med lagdeling, er der også nuancer.For eksempel kan du oprette et SSD-lag konfigureret til spejling og et HDD-lag konfigureret til paritet og kombinere dem i et enkelt robust lagdelt volumen. På denne måde drager den kritiske og mest aktive del af dataene fordel af den bedste ydeevne og redundans, mens de mindre aktive data drager fordel af effektiviteten af ​​paritet.
Bedste praksis, almindelige problemer og laboratorietricks
I laboratoriemiljøer er det meget almindeligt at "narre" systemet til at teste konfigurationer uden rigtig SSD-hardware.Virtualiseringssoftware som VMware Workstation eller Hyper-V giver dig mulighed for at oprette virtuelle diske, som Windows ser som generiske SAS-drev, og med PowerShell kan du udpege nogle som SSD'er og andre som HDD'er. På denne måde simulerer du et hybridmiljø uden at bruge penge.
Et almindeligt trick er at bruge scripts til at omtildele MediaType for bestemte diske.For eksempel kan du liste diskene i en pulje ved hjælp af Get-PhysicalDisk, finde FriendlyName eller UniqueId for hver enkelt og bruge Set-PhysicalDisk til at navngive dem. Derefter vil den nye virtuelle diskguide vise de lagdelte lagringsmuligheder korrekt.
På den mindre behagelige side støder mange administratorer på situationer, hvor SSD-niveauet tilsyneladende ikke gør noget.Store filkopier, der mætter harddisken, ydeevnegrafer, hvor SSD'erne næsten ikke registrerer nogen aktivitet, og generelt en følelse af, at systemet fuldstændigt ignorerer det hurtige niveau. I disse tilfælde er det værd at kontrollere flere ting: SSD-niveauets størrelse, type belastning (gentagen adgang eller ej), om der er yderligere aktive caches, og om niveauoptimeringscyklussen har haft tid til at virke.
En anden almindelig kilde til frustration er Storage Bus CacheDenne funktion kan forbedre ydeevnen dramatisk i visse scenarier, men den fejler nogle gange, når den er aktiveret, og viser fejl om utilstrækkelige ressourcer. Af og til forsøger det script, der aktiverer den, at bruge den maksimalt mulige plads og støder på begrænsninger i størrelsesrunden, svarende til de fejl, der vises, når du vælger "Brug maksimal plads", når du opretter en virtuel disk fra den grafiske brugergrænseflade.
Hvis du støder på disse kryptiske beskeder, er en nyttig strategi at reducere den ønskede størrelse for niveauerne en smule. (hvilket efterlader et par gigabyte uallokeret) og genskab den virtuelle disk via PowerShell, hvor du angiver eksplicitte størrelser i stedet for at lade guiden beregne automatisk. Dette undgår afrundingsproblemer, der efterlader systemet uden intern plads.
Glem endelig ikke, at du kan fastlåse specifikke filer til SSD-niveauet, når det er nødvendigt.Hvis du har en stor ISO-fil, database eller et sæt VHDX-filer, som du vil køre med fuld hastighed, giver File Storage Tiering-cmdlet'erne dig den finjusterede kontrol. Og hvis dine prioriteter ændrer sig, skal du blot fortryde den fastgørelse for at lade den automatiske algoritme tage over igen.
Ved effektivt at kombinere Storage Spaces, storage-tiers, ReFS og værktøjer som S2D og DPMDet er muligt at bygge yderst kapable lagringsløsninger på standardhardware, intelligent blande SSD'er og harddiske for at skabe servere og klynger, der yder lynhurtigt, hvor det er nødvendigt, vedligeholder enorme datamængder til lave omkostninger og frem for alt giver dig fleksibiliteten til at tilpasse infrastrukturen til dine reelle behov uden at være afhængig af proprietære arrays eller astronomiske budgetter.