U kunt het systeem installeren op refs. ReFS-bestandssysteem. Voordelen en vooruitzichten. Beperkingen van het ReFS-bestandssysteem

Ik had het al een keer aangekondigd op mijn blog, toen was er eigenlijk nog niets over bekend, en nu is de tijd aangebroken voor een korte maar consistentere kennismaking met de nieuw gemaakte ReFS.

20 jaar later

Alles heeft echter zijn limiet, en dat geldt ook voor de mogelijkheden van bestandssystemen. Tegenwoordig hebben de mogelijkheden van NTFS hun grenzen bereikt: het scannen van grote opslagmedia kost te veel tijd, “Journal” vertraagt ​​de toegang en de maximale bestandsgrootte is bijna bereikt. Microsoft realiseerde zich dit en implementeerde een nieuw bestandssysteem in Windows 8 - ReFS (Resilient File System - fouttolerant bestandssysteem). Er wordt gezegd dat ReFS betere gegevensbescherming biedt op grote, snelle harde schijven. Het heeft zeker zijn nadelen, maar het is moeilijk om erover te praten totdat het werkelijk wijdverbreide gebruik in Windows 8 begint.

Laten we dus voorlopig proberen de interne structuur en voordelen van ReFS te begrijpen.

ReFS was oorspronkelijk bekend onder de codenaam "Protogon". Ongeveer een jaar geleden vertelde ik er voor het eerst over aan het grote publiek Stefanus Sinofsky- President van de Windows-divisie bij Microsoft, verantwoordelijk voor de ontwikkeling en marketing van Windows en Internet Explorer.

Hij vertelde het met deze woorden:

“NTFS is tegenwoordig het meest gebruikte, geavanceerde en veelzijdige bestandssysteem. Maar terwijl we Windows opnieuw vormgeven (en momenteel Windows 8 aan het ontwikkelen zijn), stoppen we daar niet. Daarom introduceren we met Windows 8 ook een compleet nieuw bestandssysteem. ReFS is bovenop NTFS gebouwd en behoudt dus kritische compatibiliteitsmogelijkheden terwijl het is ontworpen en ontwikkeld om te voldoen aan de behoeften van de volgende generatie opslagtechnologieën en -scenario's.

In Windows 8 zal ReFS alleen worden geïntroduceerd als onderdeel van Windows Server 8, dezelfde aanpak die we hebben gevolgd bij het introduceren van alle voorgaande bestandssystemen. Uiteraard krijgen clients op applicatieniveau toegang tot ReFS-gegevens op dezelfde manier als NTFS-gegevens. "We mogen niet vergeten dat NTFS nog steeds de toonaangevende bestandssysteemtechnologie voor pc's is."

We zagen ReFS inderdaad voor het eerst in het serverbesturingssysteem Windows Server 8. Het nieuwe bestandssysteem is niet helemaal opnieuw ontwikkeld. ReFS gebruikt bijvoorbeeld dezelfde API-toegangsinterfaces als NTFS om bestanden te openen, sluiten, lezen en schrijven. Ook zijn veel bekende functies gemigreerd van NTFS, bijvoorbeeld schijfversleuteling Bitlocker En symbolische verbanden voor bibliotheken. Maar het verdween bijv. datacompressie en nog een aantal andere functies.

De belangrijkste innovaties van ReFS zijn gericht op het creëren en beheren van bestands- en mapstructuren. Hun taak is om automatische foutcorrectie, maximale schaalbaarheid en werking in de Always Online-modus te garanderen.

ReFS-architectuur

De schijfimplementatie van ReFS-structuren verschilt fundamenteel van andere Microsoft-bestandssystemen. Microsoft-ontwikkelaars konden hun ideeën implementeren door het concept van B±trees in ReFS te gebruiken, dat bekend is uit databases. Mappen in een bestandssysteem zijn gestructureerd als tabellen met bestanden als records. Deze krijgen op hun beurt specifieke attributen die als subtabellen worden toegevoegd, waardoor een hiërarchische boomstructuur ontstaat. Zelfs vrije schijfruimte is georganiseerd in de vorm van tabellen.

Samen met een echte 64-bits nummering van alle systeemelementen elimineert dit het optreden van knelpunten tijdens verdere schaalvergroting

Als gevolg hiervan werd de kern van het systeem in ReFS de objecttabel: een centrale map waarin alle tabellen in het systeem worden vermeld. Deze aanpak heeft een belangrijk voordeel: ReFS heeft het complexe logbeheer verlaten en nieuwe informatie over het bestand in de vrije ruimte vastgelegd - dit voorkomt dat het wordt overschreven.

« Bladeren van de catalogus" zijn getypte records. Er zijn drie hoofdtypen vermeldingen voor een mapobject: de mapingang, de indexingang en de geneste objectingang. Al dergelijke records worden verpakt als een afzonderlijke B-boom met een map-ID; de wortel van deze boom is een blad van de B±boom van de “Directory”, waarmee u vrijwel elk aantal records in een map kunt inpakken. Op het onderste niveau van de bladen van de B±boom van een map bevindt zich allereerst een directorydescriptorrecord met basisgegevens over de map (naam, “standaardinformatie”, bestandsnaamattribuut, enz.).

Verderop in de catalogus zijn geplaatst indexvermeldingen: korte structuren met gegevens over de items in de map. Deze records zijn veel korter dan in NTFS, waardoor de kans kleiner is dat ze het volume overbelasten met metagegevens.

Aan het einde staan ​​de catalogusvermeldingen. Voor mappen bevatten deze elementen de naam van het pakket, de mapidentificatie in de “Directory” en de structuur van de “standaardinformatie”. Er is geen identificatie voor bestanden; in plaats daarvan bevat de structuur alle basisgegevens over het bestand, inclusief de root van de B±boom met bestandsfragmenten. Dienovereenkomstig kan het bestand uit vrijwel elk aantal fragmenten bestaan.

Net als NTFS maakt ReFS een fundamenteel verschil tussen bestandsinformatie (metadata) en bestandsinhoud (gebruikersgegevens). Beide hebben echter in gelijke mate beschermende functies. Metagegevens worden standaard beschermd met behulp van checksums; dezelfde bescherming (indien gewenst) kan worden gegeven aan gebruikersgegevens. Deze controlesommen bevinden zich op veilige afstand van elkaar op de schijf - dit maakt het gemakkelijker om gegevens te herstellen in geval van een fout.

De grootte van de metadata van een leeg bestandssysteem is ongeveer 0,1% van de grootte van het bestandssysteem zelf (dat wil zeggen ongeveer 2 GB op een volume van 2 TB). Sommige kernmetagegevens worden gedupliceerd voor een grotere robuustheid tegen fouten

De ReFS-optie die we zagen Windows Server 8 Bèta, biedt ondersteuning voor slechts 64 KB dataclusters en 16 KB metadataclusters. Voorlopig wordt de parameter “Clustergrootte” genegeerd bij het maken van een ReFS-volume en wordt deze altijd op standaard ingesteld. Bij het formatteren van het bestandssysteem is de enige beschikbare optie voor het selecteren van de clustergrootte ook 64 KB.

Laten we eerlijk zijn: deze clustergrootte is meer dan genoeg om bestandssystemen van elke grootte te organiseren. Een neveneffect is echter een merkbare redundantie in de gegevensopslag (een bestand van 1 byte op schijf neemt een volledig blok van 64 KB in beslag).

ReFS-beveiliging

Vanuit het perspectief van de bestandssysteemarchitectuur beschikt ReFS over alle tools die u nodig hebt om bestanden veilig te herstellen, zelfs na een grote hardwarefout. Het belangrijkste nadeel van het journaalsysteem in het NTFS-bestandssysteem en soortgelijke systemen is dat het bijwerken van de schijf eerder opgenomen metagegevens kan beschadigen als er een stroomstoring optreedt tijdens de opname - dit effect heeft al een stabiele naam gekregen: het zogenaamde. " gebroken record».

Om te voorkomen gebroken records hebben ontwikkelaars van Microsoft gekozen voor een nieuwe aanpak waarbij delen van metadatastructuren hun eigen identificatiegegevens bevatten, wat het mogelijk maakt om het eigendom van de structuren te verifiëren; metadatalinks bevatten 64-bit checksums van de blokken waarnaar wordt verwezen.

Elke wijziging in de metadatastructuur vindt plaats in twee fasen. Eerst wordt een nieuwe (gewijzigde) kopie van de metagegevens gemaakt in de vrije schijfruimte, en pas daarna, indien succesvol, verplaatst een atomaire update-operatie de link van het oude (onveranderde) naar het nieuwe (gewijzigde) metagegevensgebied. Hier kunt u het doen zonder te loggen, waardoor de gegevensintegriteit automatisch behouden blijft.

Het beschreven schema is echter niet van toepassing op gebruikersgegevens, dus eventuele wijzigingen in de inhoud van het bestand worden rechtstreeks naar het bestand geschreven. Het verwijderen van een bestand gebeurt door de metadatastructuur opnieuw op te bouwen, waarbij de vorige versie van het metadatablok op schijf behouden blijft. Met deze aanpak kunt u verwijderde bestanden herstellen tot het punt waarop u ze overschrijft met nieuwe gebruikersgegevens.

Een apart onderwerp is ReFS-fouttolerantie in geval van schijfschade. Het systeem kan alle vormen van schijfschade detecteren, inclusief verloren of op de verkeerde plaats opgeslagen documenten, evenals de zogenaamde. beetje verval(verslechtering van gegevens op de media)

Wanneer de optie "integer streams" is ingeschakeld, controleert ReFS ook de inhoud van bestanden en schrijft bestandswijzigingen altijd naar een locatie van derden. Dit zorgt ervoor dat reeds bestaande gegevens niet verloren gaan wanneer deze worden overschreven. Controlesommen worden automatisch bijgewerkt wanneer gegevens worden geschreven, dus als er tijdens het schrijven een fout optreedt, beschikt de gebruiker nog steeds over een verifieerbare versie van het bestand.


Een ander interessant onderwerp met betrekking tot ReFS-beveiliging is de interactie met Opslagruimten. ReFS en Opslagruimten ontworpen om elkaar aan te vullen als twee componenten van één enkel gegevensopslagsysteem. Naast het verbeteren van de prestaties Opslagruimten bescherm gegevens tegen gedeeltelijke en volledige schijfstoringen door kopieën op meerdere schijven op te slaan. Tijdens leesfouten Opslagruimten kan kopieën lezen, en in geval van schrijffouten (zelfs als de mediagegevens volledig verloren gaan tijdens het lezen/schrijven), is het mogelijk om de gegevens “transparant” opnieuw te distribueren. Zoals de praktijk laat zien, heeft een dergelijke storing meestal niets met de media te maken - het treedt op als gevolg van gegevenscorruptie, of als gevolg van het verlies van gegevens of het opslaan ervan op de verkeerde plaats.

Dit zijn precies de soorten fouten die ReFS kan detecteren met behulp van checksums. Nadat een fout is gedetecteerd, neemt ReFS contact op Opslagruimten om alle mogelijke kopieën van de gegevens te lezen, en selecteert de gewenste kopie op basis van het controleren van de controlesommen. Hierna geeft het systeem Opslagruimten opdracht om beschadigde kopieën te herstellen op basis van correcte kopieën. Dit alles gebeurt transparant vanuit toepassingsoogpunt.

Zoals vermeld op de Microsoft-website gewijd aan WindowsServer 8, zijn controlesommen altijd ingeschakeld voor ReFS-metagegevens, op voorwaarde dat het volume wordt gehost op mirrored Opslagruimten, is automatische correctie ook ingeschakeld. Alle intacte stromen worden op dezelfde manier beschermd. Hierdoor ontstaat een end-to-end oplossing met hoge integriteit voor de gebruiker, waarbij relatief onbetrouwbare opslag zeer betrouwbaar kan worden gemaakt.

De genoemde integriteitsstromen beschermen de bestandsinhoud tegen alle soorten gegevenscorruptie. In sommige gevallen is dit kenmerk echter niet van toepassing.

Sommige toepassingen geven bijvoorbeeld de voorkeur aan een zorgvuldig beheer van de bestandsopslag met een specifieke sortering van bestanden op schijf. Omdat integrale threads blokken opnieuw toewijzen telkens wanneer de inhoud van een bestand verandert, is de bestandsindeling te onvoorspelbaar voor deze toepassingen. Databasesystemen zijn hiervan een goed voorbeeld. In de regel houden dergelijke applicaties onafhankelijk controlesommen van de bestandsinhoud bij en hebben ze de mogelijkheid om gegevens te controleren en corrigeren door directe interactie met API-interfaces.


Ik denk dat het duidelijk is hoe ReFS handelt in het geval van schijfschade of opslagfouten. Het kan moeilijker zijn om gegevensverlies geassocieerd met “ beetje verval“wanneer de schade aan zelden leesbare delen van de schijf, die niet tijdig wordt opgemerkt, snel begint toe te nemen. Tegen de tijd dat dergelijke corruptie wordt gelezen en gedetecteerd, kan dit al gevolgen hebben gehad voor de kopieën, of kunnen de gegevens verloren zijn gegaan als gevolg van andere fouten.

Om het proces te overwinnen beetje verval heeft Microsoft een achtergrondsysteemtaak toegevoegd die periodiek metagegevens en integriteitsstroomgegevens opruimt op een ReFS-volume dat zich op een gespiegelde opslagruimte bevindt. Opschoning vindt plaats door alle extra kopieën te lezen en deze op juistheid te controleren met behulp van ReFS-controlesommen. Als de controlesommen niet overeenkomen, worden de kopieën met fouten gecorrigeerd met goede kopieën.

Er blijft een dreiging bestaan ​​die grofweg ‘de nachtmerrie van een systeembeheerder’ kan worden genoemd. Er zijn gevallen, zij het zeldzaam, waarin zelfs een volume op een gespiegelde ruimte kan worden beschadigd. Het geheugen van een defect systeem kan bijvoorbeeld gegevens beschadigen, die vervolgens op de schijf terecht kunnen komen en overtollige kopieën kunnen beschadigen. Bovendien kunnen veel gebruikers besluiten om geen gespiegelde opslagruimten onder ReFS te gebruiken.

In dergelijke gevallen, wanneer een volume beschadigd raakt, voert ReFS een “herstel” uit, een functie die gegevens verwijdert uit de naamruimte op het werkvolume. Het doel ervan is om onherstelbare schade te voorkomen die de beschikbaarheid van correcte gegevens zou kunnen beïnvloeden. Als bijvoorbeeld een enkel bestand in een map beschadigd raakt en niet automatisch kan worden hersteld, zal ReFS dat bestand verwijderen uit de naamruimte van het bestandssysteem, waarbij de rest van het volume wordt hersteld.

We zijn eraan gewend dat het bestandssysteem een ​​beschadigd bestand niet kan openen of verwijderen, en dat de beheerder er niets aan kan doen.

Maar omdat ReFS beschadigde gegevens kan herstellen, kan een beheerder het bestand herstellen vanaf een back-up, of de applicatie gebruiken om het opnieuw te maken, waardoor het systeem niet hoeft te worden afgesloten. Dit betekent dat de gebruiker of beheerder niet langer offline schijfverificatie en -reparatie hoeft uit te voeren. Voor servers maakt dit het mogelijk om grote hoeveelheden gegevens te implementeren zonder het risico van een lange levensduur van de batterij als gevolg van corruptie.


ReFS in de praktijk

Natuurlijk kunnen de bruikbaarheid en het gemak (of de omgekeerde eigenschappen) van ReFS alleen worden beoordeeld nadat computers met Windows 8 wijdverspreid zijn geworden en er minstens zes maanden actief mee zijn verstreken. In de tussentijd hebben potentiële G8-gebruikers meer vragen dan antwoorden.

Dit bijvoorbeeld: zal het in Windows 8 mogelijk zijn om eenvoudig en eenvoudig gegevens van het NTFS-systeem naar ReFS te converteren en omgekeerd? Vertegenwoordigers van Microsoft zeggen dat er geen ingebouwde functie is voor het converteren van formaten, maar dat informatie nog steeds kan worden gekopieerd. De reikwijdte van ReFS ligt voor de hand: in eerste instantie kan het alleen worden gebruikt als een grote gegevensbeheerder voor de server (in feite wordt het al gebruikt). Er zullen nog geen externe schijven met ReFS zijn - alleen interne. Het is duidelijk dat ReFS in de loop van de tijd zal worden uitgerust met meer functies en het oudere systeem zal kunnen vervangen.

Microsoft zegt dat dit hoogstwaarschijnlijk zal gebeuren met de release van het eerste updatepakket voor Windows 8

Microsoft beweert ook ReFS te hebben getest:

“met behulp van een complexe, uitgebreide reeks van tienduizenden tests die in meer dan twintig jaar voor NTFS zijn gemaakt. Deze tests bootsen de complexe implementatieomstandigheden na waarvan we denken dat het systeem ermee te maken kan krijgen, zoals stroomstoringen, problemen die vaak verband houden met schaalbaarheid en prestaties. Daarom kunnen we zeggen dat het ReFS-systeem klaar is voor testimplementatie in een beheerde omgeving.”

Tegelijkertijd geven de ontwikkelaars echter toe dat ReFS, omdat het de eerste versie van een groot bestandssysteem is, waarschijnlijk voorzichtigheid zal vereisen bij het omgaan met:

“We karakteriseren ReFS voor Windows 8 niet als een bètaversie. Het nieuwe bestandssysteem zal klaar zijn voor release wanneer Windows 8 de bètafase verlaat, omdat niets belangrijker is dan de betrouwbaarheid van gegevens. In tegenstelling tot elk ander aspect van het systeem vereist het dus een conservatieve benadering bij het eerste gebruik en testen.”

Mede om deze reden zal ReFS volgens een stappenplan worden ingevoerd. Eerst - als opslagsysteem voor Windows Server, vervolgens - als opslag voor gebruikers, en ten slotte - als opstartvolume. Er is echter al eerder gebruik gemaakt van een soortgelijke “voorzichtige aanpak” bij het uitbrengen van nieuwe bestandssystemen.

Nog niet zo lang geleden werd een publieke bètaversie van Microsoft Windows 8 Server uitgebracht met ondersteuning voor het aangekondigde ReFS-bestandssysteem (Resilient File System), voorheen bekend onder de codenaam “Protogon”. Dit bestandssysteem wordt aangeboden als alternatief voor het NTFS-bestandssysteem, dat zich door de jaren heen heeft bewezen in het segment van op Microsoft-producten gebaseerde dataopslagsystemen, met zijn verdere migratie naar het gebied van clientsystemen.

Het doel van dit artikel is een oppervlakkige beschrijving van de structuur van het bestandssysteem, de voor- en nadelen ervan, evenals een analyse van de architectuur ervan vanuit het oogpunt van het behoud van de gegevensintegriteit en de vooruitzichten voor gegevensherstel in geval van schade of verwijdering door de gebruiker. Het artikel onthult ook een onderzoek naar de architectonische kenmerken van het bestandssysteem en de potentiële prestaties ervan.

Windows Server 8 Bèta

De bestandssysteemoptie die beschikbaar is in deze versie van het besturingssysteem ondersteunt alleen dataclusters van 64 KB en metadataclusters van 16 KB. Het is nog niet duidelijk of er ondersteuning zal zijn voor ReFS-bestandssystemen met andere clustergroottes: momenteel wordt de Cluster Size-parameter bij het maken van een ReFS-volume genegeerd en altijd op standaard ingesteld. Bij het formatteren van de FS is 64 KB de enige beschikbare optie om de clustergrootte te selecteren. Hij is ook de enige die wordt genoemd in de ontwikkelaarsblogs.

Deze clustergrootte is ruim voldoende om bestandssystemen van elke praktische omvang te organiseren, maar leidt tegelijkertijd tot aanzienlijke redundantie in de gegevensopslag.

Architectuur van bestandssysteem

Ondanks veelvuldige vermeldingen van de overeenkomsten tussen ReFS en NTFS op een hoog niveau, hebben we het alleen over de compatibiliteit van sommige metadatastructuren, zoals “standaardinformatie”, “bestandsnaam”, compatibiliteit in de waarden van sommige attribuutvlaggen, enz. De schijfimplementatie van ReFS-structuren verschilt fundamenteel van andere Microsoft-bestandssystemen.

De belangrijkste structurele elementen van het nieuwe bestandssysteem zijn B+-bomen. Alle elementen van de bestandssysteemstructuur worden weergegeven door B+-bomen met één niveau (lijsten) of meerdere niveaus, waardoor u vrijwel alle bestandssysteemelementen aanzienlijk kunt schalen. Samen met een echte 64-bits nummering van alle systeemelementen elimineert dit het optreden van knelpunten tijdens verdere schaalvergroting.

Afgezien van het hoofdrecord van de B+-boom hebben alle andere records de grootte van een volledig metadatablok (in dit geval 16 KB); tussenliggende (adres) knooppunten hebben een kleine totale grootte (ongeveer 60 bytes). Daarom is er meestal een klein aantal boomniveaus nodig om zelfs zeer grote structuren te beschrijven, wat een vrij gunstig effect heeft op de algehele prestaties van het systeem.

Het belangrijkste structurele element van het bestandssysteem is de “Directory”, gepresenteerd in de vorm van een B+-boom, waarbij de sleutel het nummer van het mapobject bevat. In tegenstelling tot andere vergelijkbare bestandssystemen is een bestand in ReFS geen afzonderlijk sleutelelement van de “Directory”, maar bestaat het alleen als een item in de map die het bevat. Het kan vanwege dit architectonische kenmerk zijn dat harde koppelingen naar ReFS niet worden ondersteund.

“Bladeren van de Directory” zijn getypte records. Er zijn drie hoofdtypen vermeldingen voor een mapobject: de mapingang, de indexingang en de geneste objectingang. Al dergelijke records worden verpakt als een afzonderlijke B+-boom met een map-ID; de wortel van deze boom is een blad van de B+-boom van de “Directory”, waarmee u vrijwel elk aantal records in een map kunt inpakken. Op het onderste niveau in de bladeren van de B+-structuur van een map bevindt zich voornamelijk een directorydescriptor-item met basisinformatie over de map (zoals naam, "standaardinformatie", bestandsnaamattribuut, enz.). De datastructuren hebben veel gemeen met die van NTFS, hoewel er een aantal verschillen zijn, waarvan de belangrijkste de afwezigheid is van een getypte lijst met benoemde attributen.

Vervolgens staan ​​in de directory de zogenaamde indexitems: korte structuren die gegevens bevatten over de elementen in de map. Vergeleken met NTFS zijn deze records veel korter, waardoor de last van het volume met metagegevens wordt verminderd. Als laatste zijn de items in de directory-items opgenomen. Voor mappen bevatten deze elementen de naam van het pakket, de mapidentificatie in de “Directory” en de structuur van de “standaardinformatie”. Voor bestanden is er geen identificatie, maar in plaats daarvan bevat de structuur alle basisgegevens over het bestand, inclusief de root van de B+ boom van bestandsfragmenten. Dienovereenkomstig kan het bestand uit vrijwel elk aantal fragmenten bestaan.

Op schijf bevinden bestanden zich in blokken van 64 KB, hoewel ze op dezelfde manier worden geadresseerd als metadatablokken (in clusters van 16 KB). Bestandsgegevens “residentie” worden niet ondersteund op ReFS, dus een bestand van 1 byte op schijf zal een volledig blok van 64 KB in beslag nemen, wat leidt tot aanzienlijke opslagredundantie bij kleine bestanden; aan de andere kant vereenvoudigt het het beheer van vrije ruimte en gaat het toewijzen van vrije ruimte voor een nieuw bestand veel sneller.

De grootte van de metadata van een leeg bestandssysteem is ongeveer 0,1% van de grootte van het bestandssysteem zelf (dat wil zeggen ongeveer 2 GB op een volume van 2 TB). Sommige kernmetagegevens worden gedupliceerd voor een betere fouttolerantie.

Mislukkingsbestendig

Er was geen doel om de stabiliteit van de bestaande ReFS-implementatie te testen. Vanuit het oogpunt van de bestandssysteemarchitectuur beschikt het over alle noodzakelijke hulpmiddelen voor veilig bestandsherstel, zelfs na een ernstige hardwarestoring. Delen van metadatastructuren bevatten hun eigen identificatiegegevens, waardoor u het eigendom van de structuren kunt controleren; Metagegevenskoppelingen bevatten 64-bits controlesommen van de blokken waarnaar wordt verwezen, waardoor het mogelijk wordt de integriteit van het blok dat via de koppeling wordt gelezen te evalueren.

Het is vermeldenswaard dat er geen controlesommen van gebruikersgegevens (bestandsinhoud) worden berekend. Aan de ene kant schakelt dit het integriteitscontrolemechanisme in het datagebied uit, aan de andere kant versnelt het de werking van het systeem vanwege het minimale aantal wijzigingen in het metadatagebied.

Elke wijziging in de metadatastructuur wordt in twee fasen uitgevoerd: eerst wordt een nieuwe (gewijzigde) kopie van de metadata gemaakt in de vrije schijfruimte, en vervolgens, indien succesvol, draagt ​​een atomaire update-operatie de link over van de oude (ongewijzigde) naar het nieuwe (gewijzigde) metadatagebied. Met deze strategie (Copy-on-Write (CoW)) kunt u het doen zonder loggen, waardoor de gegevensintegriteit automatisch behouden blijft.

Het bevestigen van dergelijke wijzigingen op de schijf duurt mogelijk niet lang genoeg, waardoor verschillende statuswijzigingen in het bestandssysteem in één kunnen worden gecombineerd.

Dit schema is niet van toepassing op gebruikersgegevens, dus eventuele wijzigingen in de inhoud van het bestand worden rechtstreeks naar het bestand geschreven. Het verwijderen van een bestand gebeurt door de metadatastructuur opnieuw op te bouwen (met behulp van CoW), waardoor de vorige versie van het metadatablok op schijf behouden blijft. Dit maakt herstel van verwijderde bestanden mogelijk voordat ze worden overschreven door nieuwe gebruikersgegevens.

Redundante gegevensopslag

In dit geval hebben we het over het verbruik van schijfruimte als gevolg van het gegevensopslagschema. Voor testdoeleinden is de geïnstalleerde Windows Server gekopieerd naar een ReFS-partitie van 580 GB. De grootte van de metagegevens op een leeg bestandssysteem was ongeveer 0,73 GB.

Bij het kopiëren van een geïnstalleerde Windows Server naar een partitie met ReFS nam de redundantie van de opslag van bestandsgegevens toe van 0,1% op NTFS tot bijna 30% op ReFS. Tegelijkertijd werd ongeveer 10% van de redundantie toegevoegd vanwege metadata. Als gevolg hiervan namen “gebruikersgegevens” van 11 GB (meer dan 70 duizend bestanden) op NTFS, rekening houdend met metadata, 11,3 GB in beslag, terwijl op ReFS dezelfde gegevens 16,2 GB in beslag namen; dit betekent dat de redundantie van gegevensopslag op ReFS bijna 50% bedraagt ​​voor dit soort gegevens. Bij een klein aantal grote bestanden wordt dit effect uiteraard niet waargenomen.

Werkingssnelheid

Omdat we het over Beta hebben, zijn er geen metingen van de FS-prestaties uitgevoerd. Vanuit het oogpunt van de FS-architectuur kunnen enkele conclusies worden getrokken. Bij het kopiëren van meer dan 70.000 bestanden naar ReFS ontstond er een B+-boom van de “Directory” met 4 niveaus in grootte: “root”, gemiddeld niveau 1, gemiddeld niveau 2, “bladeren”.

Het zoeken naar mapkenmerken (ervan uitgaande dat de boomwortel in de cache is opgeslagen) vereist dus 3 keer lezen van blokken van 16 KB. Ter vergelijking: op NTFS duurt deze bewerking één keer lezen van 1-4 KB groot (ervan uitgaande dat de $MFT-locatiekaart in de cache is opgeslagen).

Voor het vinden van bestandskenmerken op map en bestandsnaam in een map (een kleine map met meerdere vermeldingen) op ReFS zijn dezelfde 3 keer lezen vereist. Op NTFS zijn 2 leesbewerkingen van elk 1 KB vereist, of 3-4 leesbewerkingen (als de bestandsinvoer zich in het niet-residentiële 'index'-kenmerk bevindt). In grotere pakketten groeit het aantal NTFS-leesbewerkingen veel sneller dan het aantal leesbewerkingen dat vereist is voor ReFS.

De situatie is precies hetzelfde voor de inhoud van bestanden: waar een toename van het aantal bestandsfragmenten op NTFS leidt tot een opsomming van lange lijsten verdeeld over verschillende $MFT-fragmenten, wordt dit op ReFS uitgevoerd door effectief te zoeken via de B+ -boom.

Conclusies

Het is nog te vroeg om definitieve conclusies te trekken, maar uit de huidige implementatie van het bestandssysteem kan men een bevestiging zien van de aanvankelijke focus van het bestandssysteem op het serversegment, en vooral op virtualisatiesystemen, DBMS en servers voor archiefgegevensopslag. , waarbij snelheid en bedrijfszekerheid van het allergrootste belang zijn. Het belangrijkste nadeel van het bestandssysteem, zoals het inefficiënt verpakken van gegevens op schijf, wordt tenietgedaan op systemen die met grote bestanden werken.

SysDev Laboratories zal de ontwikkeling van dit bestandssysteem volgen en is van plan ondersteuning voor gegevensherstel uit dit bestandssysteem op te nemen. Experimentele ReFS-ondersteuning voor de bètaversie van Microsoft Windows 8 Server is al met succes geïmplementeerd in UFS Explorer-producten en is beschikbaar voor gesloten bètatests onder partners. De officiële release van tools voor het herstellen van verwijderde bestanden van ReFS, evenals gegevensherstel na schade aan het bestandssysteem als gevolg van hardwarefouten, is iets eerder gepland of gelijktijdig met de release van Microsoft Windows 8 Server met ReFS-ondersteuning.

Versie gedateerd 16-03-2012.
Gebaseerd op materialen van SisDev Laboratories

Reproductie of citeren is toegestaan, mits de verwijzing naar het origineel behouden blijft.

Als je de nieuwe besturingssystemen van Microsoft: Windows Server 2012 en Windows 8 al hebt geïnstalleerd en ermee hebt gewerkt, heb je waarschijnlijk al gemerkt dat nieuwe volumes nu in het ReFS-bestandssysteem kunnen worden geformatteerd. Wat is een bestandssysteem? ReFS? De afkorting ReFS staat voor Veerkrachtig bestandssysteem, d.w.z. in het Russisch “Fouttolerant bestandssysteem.”

Microsoft beschouwt het ReFS-bestandssysteem als een opvolger van het momenteel populairste NTFS-bestandssysteem, waarvan de technologische mogelijkheden al hun grenzen hebben bereikt. Met name bij het werken met grote opslagmedia ontstaan ​​er problemen met de werking ervan: het duurt te lang om een ​​foutcontrole uit te voeren, een trage logbewerking en het bereiken van de maximale bestandsgroottelimieten op het NTFS-bestandssysteem.

Kenmerken van het ReFS-bestandssysteem

De meeste innovaties van ReFS liggen op het gebied van het maken en beheren van bestands- en mapstructuren. Deze functies zijn geïmplementeerd om fouten automatisch te corrigeren, een hoge schaalbaarheid te garanderen en te werken in de Always Online-modus (permanente verbinding). Mappen in het ReFS-bestandssysteem zijn gestructureerd in de vorm van tabellen met bestanden als records, die op hun beurt hun eigen attributen kunnen hebben, georganiseerd in de vorm van subtabellen, waarmee de hiërarchische boomstructuur van B+-bomen wordt geïmplementeerd die we kennen uit databases. Vrije schijfruimte is ook in tabellen georganiseerd.

Bij de ontwikkeling van ReFS werden de volgende doelen nagestreefd:

  • Zorgen voor maximale compatibiliteit met bestaande NTFS-functies en het verwijderen van onnodige functies die de complexiteit van het systeem vergroten
  • Verificatie en automatische gegevenscorrectie.
  • Schaalbaarheid.
  • Flexibiliteit van de architectuur met behulp van de functie die feitelijk voor ReFS is bedacht.

Belangrijkste kenmerken van ReFS

  • Verhoogde limieten voor de grootte van partities, mappen en bestanden (tabel hieronder)
  • Metadata-integriteit met checksums.
  • Een speciale techniek voor het schrijven naar schijf zijn Integrity-streams, die extra gegevensbescherming bieden als een deel van de schijf beschadigd is.
  • Nieuw transactiemodel “allocate on write” (kopiëren bij schrijven)
  • Schrobben van schijven – technologie voor het opschonen van schijven op de achtergrond
  • Mogelijkheid om opslagpools te organiseren die kunnen worden gebruikt bij virtualisatie, incl. om fouttolerantie van virtuele machines en taakverdeling te garanderen.
  • Seriële datasegmentatie (data riping) wordt gebruikt om de prestaties te verbeteren
  • Gegevens redden rond een beschadigd gebied op een schijf.

Beperkingen van het ReFS-bestandssysteem

Ondersteunde NTFS-functies

ReFS erft veel van de functies en semantiek van zijn voorganger NTFS, waaronder:

  • BitLocker-beveiliging
  • USN-tijdschrift
  • toegangscontrolelijsten (ACL's)
  • symbolische links voor bibliotheken
  • bevestigingspunten
  • knooppunten
  • reparsepunten

Alle gegevens op het ReFS-bestandssysteem zijn toegankelijk via dezelfde API's die momenteel worden gebruikt om toegang te krijgen tot NTFS-partities.

ReFS heeft de volgende NTFS-functies verlaten:

  • datacompressie
  • EFS-versleuteling op bestandsniveau
  • korte bestandsnamen 8.3
  • Harde koppelingen

ReFS op Windows 8

ReFS-ondersteuning verscheen in Windows 8 en Windows Server 2012, en alleen voor datavolumes. Dat wil zeggen dat partities met ReFS niet kunnen worden gebruikt om een ​​besturingssysteem te installeren en ervan op te starten. In de loop van de tijd zal ReFS worden uitgerust met meer functies en het verouderde NTFS-systeem volledig kunnen vervangen. Hoogstwaarschijnlijk zullen alle nieuwe functies verschijnen in het eerste Service Pack voor Windows 8.

Bovendien kan ReFS nog niet worden gebruikt voor verwijderbare en draagbare opslagapparaten (ReFS ​​wordt momenteel alleen gebruikt voor interne media).

Een onaangenaam punt is het feit dat bestaande NTFS-volumes niet direct naar ReFS kunnen worden geconverteerd. De gegevens moeten worden overgedragen door middel van regelmatig kopiëren.

Het volume kan worden geformatteerd naar het ReFS-bestandssysteem via de Schijfbeheerconsole. Maar extra opties, zoals het inschakelen van integriteitscontrole, kunnen alleen worden ingeschakeld vanaf de opdrachtregel.

U kunt bijvoorbeeld ReFS-integriteitscontrole inschakelen met de opdracht:

Formaat /fs:refs /q /i:enable

Integriteitscontrole uitschakelen.

In dit artikel gaan we het uitzoeken welke functies biedt ReFS en waarom is het beter dan het NTFS-bestandssysteem?. Gegevens herstellen van ReFS-schijfruimte. Het nieuwe ReFS-bestandssysteem van Microsoft werd oorspronkelijk geïntroduceerd in Windows Server 2012. Het is ook opgenomen in Windows 10 als onderdeel van de tool Schijfruimte. ReFS kan worden gebruikt voor een schijvenpool. Het bestandssysteem is verbeterd met de release van Windows Server 2016 en zal binnenkort beschikbaar zijn in de nieuwe versie van Windows 10.

Welke functies biedt ReFS en hoe is het beter dan het huidige NTFS-systeem?

Inhoud:

Wat betekent ReFS?

Afkorting voor "Veerkrachtig bestandssysteem", ReFS is een nieuw systeem gebaseerd op NTFS. In dit stadium biedt ReFS geen alomvattende vervanging voor NTFS voor schijfgebruik door thuisgebruikers. Het bestandssysteem heeft zijn voor- en nadelen.

ReFS is bedoeld om de belangrijkste problemen van NTFS op te lossen. Het is beter bestand tegen gegevenscorruptie, kan hogere werklasten beter aan en kan eenvoudig worden geschaald naar zeer grote bestandssystemen. Laten we eens kijken wat dit betekent?

ReFS beschermt gegevens tegen corruptie

Het bestandssysteem gebruikt controlesommen voor metagegevens en kan ook controlesommen gebruiken voor bestandsgegevens. Bij het lezen of schrijven van een bestand controleert het systeem de controlesom om er zeker van te zijn dat deze correct is. Dit maakt detectie van beschadigde gegevens in realtime mogelijk.

ReFS is geïntegreerd met de functie Schijfruimte. Als u een gespiegeld gegevensarchief hebt geconfigureerd, zorgt ReFS ervoor dat Windows corruptie in het bestandssysteem kan detecteren en automatisch herstellen door gegevens van een ander station te kopiëren. Deze functie is beschikbaar in zowel Windows 10 als Windows 8.1.

Als het bestandssysteem beschadigde gegevens detecteert die geen alternatieve kopie voor herstel hebben, zal ReFS dergelijke gegevens onmiddellijk van de schijf verwijderen. Hiervoor hoeft u het systeem niet opnieuw op te starten of het opslagapparaat los te koppelen, zoals het geval is bij NTFS.

De noodzaak om het hulpprogramma chkdsk te gebruiken verdwijnt volledig, omdat het bestandssysteem automatisch onmiddellijk wordt gecorrigeerd als er een fout optreedt. Het nieuwe systeem is ook bestand tegen andere vormen van gegevenscorruptie. NTFS schrijft bij het schrijven van bestandsmetagegevens deze rechtstreeks. Als er gedurende deze periode een stroomstoring of een computercrash optreedt, zult u te maken krijgen met gegevensbeschadiging.

Wanneer metagegevens veranderen, maakt ReFS een nieuwe kopie van de gegevens en koppelt de gegevens pas aan een bestand nadat de metagegevens naar schijf zijn geschreven. Dit elimineert de mogelijkheid van datacorruptie. Deze functie wordt copy-on-write genoemd; het is ook aanwezig in andere populaire Linux-besturingssystemen: ZFS, BtrFS, evenals het Apple APFS-bestandssysteem.

ReFS verwijdert enkele NTFS-beperkingen

ReFS is moderner en ondersteunt veel grotere volumes en langere bestandsnamen dan NTFS. Op de lange termijn zijn dit belangrijke verbeteringen. In het NTFS-bestandssysteem is een bestandsnaam beperkt tot 255 tekens; in ReFS kan een bestandsnaam maximaal 32768 tekens bevatten. Met Windows 10 kunt u de tekenlimiet voor NTFS-bestandssystemen uitschakelen, maar deze is altijd uitgeschakeld op ReFS-volumes.

ReFS ondersteunt niet langer korte bestandsnamen in DOS 8.3-indeling. Op een NTFS-volume waartoe u toegang hebt C:\Programmabestanden\ V C:\PROGRA~1\ om compatibiliteit met oudere software te garanderen.

NTFS heeft een theoretische maximale capaciteit van 16 exabytes, terwijl ReFS een theoretische maximale capaciteit heeft van 262.144 exabytes. Hoewel het er nu niet echt toe doet, evolueren computers voortdurend.

Welk bestandssysteem is sneller ReFS of NTFS?

ReFS is niet ontworpen om de prestaties van het bestandssysteem ten opzichte van NTFS te verbeteren. Microsoft heeft ReFS in bepaalde gevallen veel efficiënter gemaakt.

Bij gebruik met Schijfruimte ondersteunt ReFS bijvoorbeeld "real-time optimalisatie". Stel dat u een opslagpool heeft met twee schijven, waarvan de ene maximale prestaties levert, de andere wordt gebruikt voor capaciteit. ReFS schrijft gegevens altijd naar de snellere schijf, waardoor maximale prestaties worden gegarandeerd. Op de achtergrond verplaatst het bestandssysteem automatisch grote hoeveelheden gegevens naar langzamere schijven voor langdurige opslag.

In Windows Server 2016 heeft Microsoft ReFS verbeterd om betere prestaties te bieden voor functies van virtuele machines. De virtuele Microsoft Hyper-V-machine profiteert van deze voordelen (in theorie kan elke virtuele machine profiteren van ReFS).

ReFS ondersteunt bijvoorbeeld blokklonen, wat het proces van het klonen van virtuele machines en het samenvoegen van controlepuntbewerkingen versnelt. Om een ​​kopie van een virtuele machine te maken, hoeft ReFS alleen de nieuwe metagegevens naar schijf te schrijven en een link naar de bestaande gegevens te bieden. Dit komt omdat in ReFS meerdere bestanden naar dezelfde onderliggende gegevens op schijf kunnen verwijzen.

Wanneer een virtuele machine nieuwe gegevens naar schijf schrijft, worden deze naar een andere locatie geschreven, maar de oorspronkelijke gegevens van de virtuele machine blijven op schijf staan. Dit versnelt het kloonproces enorm en vereist veel minder schijfbandbreedte.

ReFS biedt ook een nieuwe functie "zeldzame VDL", waarmee ReFS snel nullen naar een groot bestand kan schrijven. Dit versnelt aanzienlijk het aanmaken van een nieuw, leeg bestand met een virtuele harde schijf (VHD) met een vaste grootte. In NTFS kan deze handeling 10 minuten duren, in ReFS enkele seconden.

Waarom ReFS NTFS niet kan vervangen

Ondanks een aantal voordelen kan ReFS NTFS nog niet vervangen. Windows kan niet opstarten vanaf een ReFS-partitie en vereist NTFS. ReFS ondersteunt geen NTFS-functies zoals gegevenscompressie, versleuteling van het bestandssysteem, harde links, uitgebreide attributen, gegevensontdubbeling en schijfquota. Maar in tegenstelling tot NTFS kunt u met ReFS volledige schijfversleuteling uitvoeren met BitLocker, inclusief de schijfsysteemstructuren.

Windows 10 staat niet toe dat u een partitie in ReFS formatteert; dit bestandssysteem is alleen beschikbaar binnen Schijfruimte. ReFS beschermt gegevens die worden gebruikt op pools van meerdere harde schijven tegen corruptie. In Windows Server 2016 kunt u volumes formatteren met ReFS in plaats van NTFS. Zo'n volume kan gebruikt worden om virtuele machines op te slaan, maar het besturingssysteem kan nog steeds alleen opstarten vanuit NTFS.


Met Hetman Partition Recovery kunt u schijfruimte analyseren die wordt beheerd door het ReFS-bestandssysteem met behulp van een algoritme voor handtekeninganalyse. Door het apparaat sector voor sector te analyseren, vindt het programma bepaalde bytereeksen en geeft deze aan de gebruiker weer. Het herstellen van gegevens vanaf de ReFS-schijfruimte verschilt niet van het werken met het NTFS-bestandssysteem:

  1. Download en installeer het programma;
  2. Analyseer de fysieke schijf die zich in de schijfruimte bevindt;
  3. Selecteer en bewaar de bestanden die moeten worden hersteld;
  4. Herhaal stap 2 en 3 voor alle schijven in de schijfruimte.

De toekomst van het nieuwe bestandssysteem is nogal onduidelijk. Microsoft kan ReFS ontwikkelen om de verouderde NTFS in alle versies van Windows te vervangen. Op dit moment kan ReFS niet overal worden gebruikt en dient het slechts bepaalde taken.

Windows 10 ondersteunt standaard meerdere bestandssystemen. Sommige zijn verouderd en bestaan ​​voornamelijk voor achterwaartse compatibiliteit, andere zijn modern en hebben brede toepassingen. In dit artikel worden verschillende methoden beschreven die u kunt gebruiken om te zien met welk bestandssysteem uw schijven zijn geformatteerd.

Bestandssysteem is een speciale manier om uw informatie op verschillende media op te slaan en te ordenen, waaronder harde schijven, solid-state drives, USB-drives en andere apparaten. Hiermee kunt u bestanden en mappen opslaan, wijzigen en lezen voor toepassingen en het besturingssysteem dat op uw computer is geïnstalleerd.

Wanneer u een interne schijf of flashdrive formatteert, bereidt u deze voor op gebruik als opslagmedium voor uw besturingssysteem. Tijdens dit proces wordt een bestandssysteem gemaakt. Tijdens het formatteren wordt alle informatie die op de schijf of partitie is opgeslagen verwijderd.

Windows 10 ondersteunt bestandssystemen FAT, FAT32, exFAT, NTFS En ReFS zonder gebruik te maken van extra software.

Ze hebben verschillende functies en eigenschappen. FAT en FAT32 zijn bijvoorbeeld oudere bestandssystemen. FAT ondersteunt een maximale capaciteit van 4GB, FAT32 ondersteunt 32GB. FAT-bestandssystemen hebben ook beperkingen op de maximale bestandsgrootte. NTFS is het enige bestandssysteem dat bestandscompressie en -codering ondersteunt en over geavanceerde functies beschikt.

Er zijn verschillende methoden die u kunt gebruiken om het bestandssysteem te vinden dat op uw schijven wordt gebruikt.

Volg deze stappen om het bestandssysteem op schijven in Windows 10 te achterhalen.

  1. Open "Geleider" en ga naar de map "Deze computer".
  1. Klik met de rechtermuisknop op het station en selecteer in het contextmenu "Eigenschappen".
  1. In het venster Eigenschappen, op het tabblad Algemeen, ziet u het bestandssysteem van uw schijf.

Deze methode is de eenvoudigste en snelste.

Als alternatief kunt u de Diskpart-tool, Schijfbeheer of PowerShell gebruiken.

Bekijk het schijfbestandssysteem met Diskpart

  1. Druk op de toetsencombinatie Win + R.
  1. Voer in het veld Uitvoeren " schijfpart" en druk op Enter.

  1. Voer in Diskpart de opdracht in lijstvolume.

Nadat u de opdracht hebt uitgevoerd, ziet u het bestandssysteem voor elke schijf die op uw computer is aangesloten.

Toon het schijfbestandssysteem met behulp van Schijfbeheer.

  1. Druk op Win + X of klik met de rechtermuisknop op de knop "Begin".
  1. Selecteer in het WinX-menu
  1. Zie Waarden in de kolom Bestandssysteem.

Ten slotte is er nog een manier om het bestandssysteem te bepalen voor elke schijf die op uw computer is aangesloten met behulp van de PowerShell-scripttaal.

  1. Open PowerShell namens de beheerder.
  1. Binnenkomen: krijg-volume en druk op de Enter-toets.
  1. Voor uitvoer zie waarden in kolom Bestandssysteemtype.

Nu weet u dat het heel eenvoudig is om het bestandssysteem voor uw schijven te bepalen. U kunt elke methode gebruiken die u het beste bevalt.