Referencje - ReFS

ReFS
Deweloper(zy) Microsoft
Pełne imię i nazwisko Odporny system plików
Wprowadzono 1 sierpnia 2012 ; 9 lat temu z Windows Server 2012 ( 01.08.2012 )
Struktury
Zawartość katalogu B+ drzewo
Limity
Maks. wielkość woluminu 1 yobibajt (2 80 bajtów)
Maks. rozmiar pliku 16 exbibytes (2 64 -1 bajtów)
Cechy
Atrybuty tak
Przezroczysta kompresja Nie
Deduplikacja danych Tak, od debiutu v3.2 w 2016 v1709
Kopiowanie na piśmie tak
Inne
Obsługiwane systemy operacyjne
Strona internetowa docs .microsoft .com /en-US /windows-server /storage /refs /refs-overview

Resilient File System ( ReFS ), o nazwie kodowej „Protogon”, to zastrzeżony system plików firmy Microsoft wprowadzony w systemie Windows Server 2012 z zamiarem stania się systemem plików „następnej generacji” po NTFS .

ReFS został zaprojektowany w celu przezwyciężenia problemów, które stały się znaczące na przestrzeni lat, odkąd powstał system NTFS, a które są związane ze zmianami wymagań dotyczących przechowywania danych. Kluczowe zalety konstrukcyjne systemu ReFS obejmują automatyczne sprawdzanie integralności i czyszczenie danych , eliminację konieczności uruchamiania programu chkdsk , ochronę przed degradacją danych , wbudowaną obsługę awarii i nadmiarowości dysku twardego , integrację funkcji RAID , przełącznik kopiowania/alokowania przy zapisie w celu aktualizacji danych i metadanych, obsłudze bardzo długich ścieżek i nazw plików oraz wirtualizacji i tworzeniu puli pamięci masowej , w tym woluminów logicznych o niemal dowolnej wielkości (niezwiązanych z fizycznymi rozmiarami używanych dysków).

Wymagania te wynikały z dwóch głównych zmian w systemach pamięci masowej i ich użytkowaniu – rozmiar używanej pamięci masowej (duże lub ogromne macierze dysków wieloterabajtowych są obecnie dość powszechne) oraz potrzeba ciągłej niezawodności . W rezultacie system plików musi być samonaprawiający się (aby zapobiec niepraktycznemu powolnemu lub zakłócającemu sprawdzanie dysku), wraz z abstrakcją lub wirtualizacją między dyskami fizycznymi i woluminami logicznymi.

ReFS został początkowo dodany tylko do systemu Windows Server 2012 , w celu stopniowej migracji do systemów konsumenckich w przyszłych wersjach; zostało to osiągnięte w systemie Windows 8.1 . Początkowe wersje usunęły niektóre funkcje NTFS, takie jak przydziały dysku , alternatywne strumienie danych i rozszerzone atrybuty . Niektóre z nich zostały ponownie zaimplementowane w późniejszych wersjach ReFS.

We wczesnych wersjach (2012–2013) ReFS był podobny lub nieco szybszy niż NTFS w większości testów, ale znacznie wolniejszy, gdy włączone było pełne sprawdzanie integralności, co przypisuje się względnej nowości ReFS.

Możliwość tworzenia woluminów ReFS została usunięta w aktualizacji Fall Creators Update systemu Windows 10 2017 dla wszystkich edycji z wyjątkiem Enterprise i Pro for Workstations.

Rozmiar klastra woluminu ReFS to 4 KB lub 64 KB.

Microsoft Windows i Windows Server zawierają ReFSUtil , narzędzie wiersza polecenia, które można wykorzystać do diagnozowania poważnie uszkodzonych woluminów ReFS, identyfikowania pozostałych plików i kopiowania tych plików na inny wolumin.

Zmiany funkcji w porównaniu z NTFS

Główne nowe funkcje

Poprawiona niezawodność struktur na dysku
ReFS używa drzew B+ dla wszystkich struktur na dysku, w tym wszystkich metadanych i danych plików. Metadane i dane z plików są zorganizowane w tabele podobne do relacyjnej bazy danych . Rozmiar pliku, liczba plików w folderze , całkowity rozmiar woluminu i liczba folderów w woluminie są ograniczone przez liczby 64-bitowe; W rezultacie literaturowe obsługuje rozmiar pliku maksymalnie 16 exbibytes (2 64 -1 bajtów), a wielkość maksymalną wielkość 35 petabajtów .
Wbudowana odporność
ReFS wykorzystuje strategię aktualizacji przydzielonej przy zapisie dla metadanych, która przydziela nowe porcje dla każdej transakcji aktualizacji i wykorzystuje duże partie we/ wy . Wszystkie metadane ReFS mają 64-bitowe sumy kontrolne, które są przechowywane niezależnie. Dane pliku mogą mieć opcjonalną sumę kontrolną w oddzielnym „ strumieniu integralności ”, w którym to przypadku strategia aktualizacji pliku implementuje również alokację przy zapisie dla danych pliku; jest to kontrolowane przez nowy atrybut „integrity” mający zastosowanie zarówno do plików, jak i katalogów. Jeśli dane pliku lub metadane ulegną uszkodzeniu, plik można usunąć bez przełączania całego woluminu w tryb offline w celu konserwacji, a następnie przywrócić go z kopii zapasowej. Dzięki wbudowanej odporności administratorzy nie muszą okresowo uruchamiać narzędzi do sprawdzania błędów, takich jak CHKDSK, podczas korzystania z ReFS.
Zgodność z istniejącymi interfejsami API i technologiami
ReFS obsługuje tylko podzbiór funkcji NTFS – i tylko „powszechnie stosowane” API Win32 – ale nie wymaga nowych systemowych API, a większość filtrów systemu plików nadal działa z woluminami ReFS. Odn obsługuje wiele istniejących okien i NTFS dysponuje takimi jak BitLocker szyfrowania, list kontroli dostępu , USN Journal , powiadomienia o zmianach, dowiązania symboliczne , punktów węzłowych , punkty montowania , punktów ponownej analizy , migawek głośności , identyfikatorów plików i oplock . ReFS bezproblemowo integruje się z Storage Spaces , warstwą wirtualizacji pamięci masowej , która umożliwia dublowanie i striping danych, a także udostępnianie pul pamięci między maszynami. Funkcje odporności ReFS usprawniają funkcję dublowania zapewnianą przez Storage Spaces i mogą wykrywać, czy jakiekolwiek kopie lustrzane plików są uszkodzone, za pomocą procesu czyszczenia danych , który okresowo odczytuje wszystkie kopie lustrzane i weryfikuje ich sumy kontrolne, a następnie zastępuje uszkodzone kopie dobrymi.

Usunięte funkcje

Niektóre funkcje NTFS nie są zaimplementowane w ReFS. Należą do nich identyfikatory obiektów , 8,3 pliku , kompresję NTFS , Szyfrowanie pliku System (EFS), NTFS transakcyjnych , rozszerzonych atrybutów oraz kwot dyskowych . Ponadto systemu Windows nie można uruchomić z woluminu ReFS. Dyski dynamiczne z woluminami lustrzanymi lub rozłożonymi są zastępowane przez dublowane lub rozłożone pule pamięci udostępniane przez funkcję Miejsca do magazynowania; jednak automatyczna korekcja błędów jest obsługiwana tylko w przestrzeniach lustrzanych. Brakowało deduplikacji danych we wczesnych wersjach ReFS. Został zaimplementowany w v3.2, debiutując w Windows Server v1709.

Obsługa alternatywnych strumieni danych i twardych łączy początkowo nie była zaimplementowana w ReFS. W 64-bitowym systemie Windows 8.1 i Server 2012 R2 system plików ponownie uzyskał obsługę alternatywnych strumieni danych o długości do 128 KB i automatycznej korekcji uszkodzeń, gdy strumienie integralności są używane w przestrzeniach parzystości. ReFS początkowo nie nadawał się do alokacji instancji Microsoft SQL Server ze względu na brak alternatywnych strumieni danych.

Historia wersji i kompatybilność

ReFS ma kilka różnych wersji, z różnym stopniem zgodności między wersjami systemu operacyjnego. Poza wersjami rozwojowymi systemu plików, zwykle późniejsze wersje systemu operacyjnego mogą montować systemy plików utworzone we wcześniejszych wersjach systemu operacyjnego (kompatybilność wsteczna). Niektóre funkcje mogą nie być zgodne z zestawem funkcji systemu operacyjnego. Wersję, rozmiar klastra i inne cechy systemu plików można sprawdzić za pomocą polecenia fsutil fsinfo refsinfo nazwa woluminu .

  • 1.1 : Oryginalna wersja sformatowana przez system Windows Server 2012.
  • 1.2 : Wersja domyślna, jeśli jest sformatowana przez Windows 8.1, Windows 10 v1507 do v1607, Windows Server 2012 R2 i jeśli określono ReFSv1 w systemie Windows Server 2016. Można używać alternatywnych strumieni danych w systemie Windows Server 2012 R2.
  • 2.2 : Domyślna wersja sformatowana przez Windows 10 Preview kompilacja 10049 lub wcześniejsza. Nie można było zamontować w wersji 10061 i nowszych.
  • 2.0 : Domyślna wersja sformatowana przez Windows Server 2016 TP2 i TP3. Nie można zamontować w systemie Windows 10, kompilacja 10130 i nowsze lub Windows Server 2016 TP4 i nowsze.
  • 3.0 : Domyślna wersja sformatowana przez Windows Server 2016 TP4 i TP5.
  • 3.1 : Domyślna wersja sformatowana przez Windows Server 2016 RTM.
  • 3.2 : Domyślna wersja sformatowana przez Windows 10 v1703 i Windows Server Insider Preview build 16237. Może być sformatowana za pomocą Windows 10 Insider Preview 15002 lub nowszej (chociaż stała się domyślną tylko gdzieś między 15002 a 15019). Obsługuje deduplikację w wersji serwerowej.
  • 3.3 : Domyślna wersja sformatowana przez Windows 10 Enterprise v1709 (możliwość tworzenia woluminów ReFS usunięta ze wszystkich edycji z wyjątkiem Enterprise i Pro for Workstations, począwszy od kompilacji 16226; możliwość odczytu/zapisu pozostaje) i Windows Server w wersji 1709 (począwszy od kompilacji Windows 10 Enterprise Insider Preview 16257 i Windows Server Insider Preview kompilacja 16257).
  • 3.4 : Domyślna wersja sformatowana przez Windows 10 Pro for Workstations/Enterprise v1803 i nowsze, także wersje serwerowe (w tym wersja długoterminowego wsparcia Windows Server 2019).
  • 3.5 : domyślna wersja sformatowana przez Windows 10 Enterprise Insider Preview (kompilacja 19536 lub nowsza); dodaje obsługę twardych łączy (tylko na świeżo sformatowanym woluminie; nieobsługiwane na woluminach uaktualnionych z poprzednich wersji).
  • 3.6 : Domyślna wersja sformatowana przez Windows 10 Enterprise Insider Preview (kompilacja 21292 lub nowsza) i Windows Server Insider Preview (kompilacja 20282 lub nowsza)
  • 3.7 : Domyślna wersja sformatowana przez Windows 10 Enterprise Insider Preview (kompilacja 21313 lub nowsza) i Windows Server Insider Preview (kompilacja 20303 lub nowsza). Również wersja używana przez Windows Server 2022 i Windows 11 .
Wsparcie dla różnych wersji ReFS, dla każdej wersji Windows
ReFS Windows
Server
2012
Windows
8.1, Server
2012 R2
Windows 10
v1507 – v1607
Windows
Server 2016
TP2, TP3
Windows
Server 2016
TP4, TP5
Windows
Server
2016 RTM
Windows 10
v1703
Windows 10
v1709,
Windows Server
1709 5
Windows 10
v1803 – v1809,
Windows Server
2019, 1803 – 1809 5
1,1 Domyślny Tak 1 Tak 1 Tak 1 Tak 1 Tak 1 Tak 1 ? Tak 1
1.2 tak Domyślny Domyślny tak tak tak tak tak tak
2,0 Nie Nie Nie Nie Domyślny Nie Nie Nie Nie
3.0 Nie Nie Nie Nie Nie Tak 2 Tak 3 Tak 4 Tak 6
3.1 Nie Nie Nie Nie Nie Domyślny Tak 3 Tak 4 Tak 6
3.2 Nie Nie Nie Nie Nie Nie Domyślny Tak 4 Tak 6
3,3 Nie Nie Nie Nie Nie Nie Nie Domyślny Tak 6
3.4 Nie Nie Nie Nie Nie Nie Nie Nie Domyślny

Uwagi:

1 : W dzienniku zdarzeń jest rejestrowany następujący komunikat: „Wolumen „?:” został zamontowany w starszej wersji systemu Windows. Niektóre funkcje mogą zostać utracone.'
2 : Windows aktualizuje go do wersji 3.1, gdy wolumin jest zamontowany z dostępem do zapisu.
3 : Windows aktualizuje go do wersji 3.2, gdy wolumin jest zamontowany z dostępem do zapisu.
4 : Windows aktualizuje go do wersji 3.3, gdy wolumin jest zamontowany z dostępem do zapisu.
5 : Usunięto możliwość tworzenia woluminów ReFS w systemie Windows 10 v1709 (aktualizacja Fall Creators Update 2017), z wyjątkiem wersji Enterprise i Pro for Workstations.
6 : Windows aktualizuje go do wersji 3.4, gdy wolumin jest zamontowany z dostępem do zapisu.

Stabilność i znane problemy

Zidentyfikowane lub sugerowane problemy związane z systemem ReFS podczas uruchamiania w przestrzeniach do magazynowania obejmują:

  • Dodanie systemu ReFS z alokacją elastyczną do miejsc do magazynowania (zgodnie z artykułem w wersji wstępnej z 2012 r.) może zakończyć się niepowodzeniem w sposób niewdzięczny, w którym wolumin bez ostrzeżenia stanie się niedostępny lub niemożliwy do zarządzania. Może się to zdarzyć na przykład, jeśli dyski fizyczne leżące u podstaw przestrzeni dyskowej są zbyt pełne. Smallnetbuilder zauważa, że ​​w takich przypadkach odzyskiwanie może być „niedozwolone”, ponieważ „przełom w teorii” jest potrzebny do zidentyfikowania układów przestrzeni dyskowej i ich odzyskania, co jest wymagane przed rozpoczęciem odzyskiwania zawartości systemu plików ReFS; dlatego zaleca również korzystanie z kopii zapasowych.
  • ReFS z alokacją elastyczną nad miejscami do magazynowania, czasami, gdy partycja ReFS zostanie rozszerzona do pełnego rozmiaru woluminu cienkiego. W przypadku późniejszego rozszerzenia rozmiaru cienkiego woluminu partycja ReFS może nie rozszerzyć się do rozmiaru cienkiego woluminu. Gdy nie uda się rozszerzyć partycji, nigdy więcej nie będzie można jej rozszerzyć, bez względu na to, jak duży jest rozmiar cienkiego woluminu. Rozwiązaniem jest nigdy nie rozszerzać partycji ReFS do pełnego rozmiaru cienkiego woluminu, zawsze pozostawiać kilka GB na końcu woluminu nieprzypisane. Uważa się, że podczas rozszerzania partycji zapisuje wartości w tabeli partycji, które uszkadzają tabelę podczas korzystania z pełnego rozmiaru cienkiego woluminu, uniemożliwiając dalsze rozszerzanie. Te dane są nadal nienaruszone, a partycja ReFS działa normalnie. Rozwiązaniem jest utworzenie nowego woluminu i partycji ReFS oraz skopiowanie ze starego systemu ReFS do nowego systemu ReFS, co wymaga podwójnego przechowywania podczas kopiowania, zanim stary wolumin będzie mógł zostać usunięty.
  • Wolumin alokowany cienkim sformatowany za pomocą ReFS ostatecznie rozszerza cienki wolumin do pełnego rozmiaru sformatowanego woluminu ReFS, niwelując powód używania cienkiego woluminu w systemie Windows 10. Im większe wykorzystanie partycji, tym szybciej wolumin jest rozszerzany, nawet jeśli dane są w większości statyczne. Rzadziej używane dyski nadal rozwijają się w systemie Windows 10, ale nie w tym samym tempie. W przypadku korzystania z woluminu sformatowanego w systemie NTFS na woluminie cienkim nie występuje takie samo rozszerzenie. Na przykład dwukierunkowe lustro 4 TB ReFS 99% danych statycznych (dzienniki danych) wykorzystane 1,11 TB, dane nie zmieniają się po dodaniu, dane są dodawane raz w miesiącu, miejsca do przechowywania zajmują całe 8 TB pamięci (powinno być używane około 2,2 TB w przestrzenie magazynowe). Ta sama przestrzeń dyskowa, inny cienki wolumin sformatowany za pomocą ReFS, dwukierunkowy lustrzany zapis pojedynczych danych, ale dane są używane rzadziej i rzadziej dodawane do 257 GB danych, przestrzeń dyskowa wykorzystuje 7,77 TB. partycja NTFS cienkiego woluminu, używana w taki sam sposób jak partycja 257 GB, ale wykorzystująca tylko 601 GB. 7-miesięczne okno.
  • Nawet jeśli miejsca do magazynowania nie są odpowiednio alokowane, system ReFS może nadal nie być w stanie niezawodnie poprawić wszystkich błędów plików w niektórych sytuacjach, ponieważ miejsca do magazynowania działają na blokach, a nie na plikach, a zatem niektórym plikom może brakować niezbędnych bloków lub danych odzyskiwania, jeśli są częścią miejsce do przechowywania nie działa poprawnie. W rezultacie dodawanie i usuwanie dysków i danych może być ograniczone, a konwersja nadmiarowości staje się trudna lub niemożliwa.
  • Nie ma narzędzi do naprawy lub odzyskiwania systemu plików ReFS. Narzędzia innych firm są zależne od inżynierii wstecznej systemu i (stan na 2014 r.) istnieje niewiele z nich.
  • Sklep Windows nie może instalować aplikacji na woluminie ReFS.
  • Jeśli strumienie integralności są włączone i nie ma dostępnej nadmiarowości danych (parzystość na poziomie dysku lub kopia zapasowa na poziomie plików), system ReFS sprawi, że cały plik będzie niemożliwy do odzyskania w jakikolwiek sposób, jeśli nawet pojedynczy bit w pliku okaże się niepoprawny.

Aktualizacje serwera 2016

Na konferencji Storage Developer Conference 2015 programista Microsoft zaprezentował ulepszenia ReFS, które mają zostać wydane w systemie Windows Server 2016 i zawarte w Technical Preview 4, zatytułowane „ReFS v2”. Podkreślono, że ReFS zawiera teraz możliwości bardzo szybkiego przenoszenia, zmiany kolejności i klonowania bloków między plikami (co można zrobić dla wszystkich bloków pliku). Jest to szczególnie potrzebne w przypadku wirtualizacji i określa się, że umożliwia szybkie udostępnianie, łączenie różnicowe i warstwowanie. Inne ulepszenia obejmują dziennik przeróbek (dla synchronicznych zapisów na dysku), równoległość , wydajne śledzenie niezainicjowanych, rzadkich danych i plików oraz wydajne operacje we/wy 4k . ReFS z włączoną funkcją File Integrity działa również bardziej jak system plików o strukturze dziennika , łącząc małe losowe zapisy w duże sekwencyjne, aby zwiększyć wydajność.

Aktualizacje serwera 2022

Windows Server 2022 (z systemem ReFS w wersji 3.7) obsługuje migawki na poziomie plików.

Porównanie wydajności i konkurencji

Inne systemy operacyjne mają systemy plików konkurujące z ReFS, z których najbardziej znane to ZFS i Btrfs , w tym sensie, że wszystkie trzy mają na celu zintegrowanie ochrony danych, migawek i cichego szybkiego naprawiania w tle uszkodzeń i błędów danych.

W 2012 roku Phoronix napisał analizę ReFS vs Btrfs , systemu plików typu kopia przy zapisie dla Linuksa . Ich funkcje są podobne, obie obsługują sumy kontrolne, wykorzystanie wielu dysków w stylu RAID oraz wykrywanie/korektę błędów. Jednak w ReFS brakuje migawek i kompresji typu kopia przy zapisie, które można znaleźć zarówno w Btrfs, jak i ZFS.

W 2014 r. przegląd ReFS i ocena jego gotowości do użytku produkcyjnego wykazały, że ReFS ma przynajmniej pewną przewagę nad dwoma głównymi konkurentami systemu plików .

  • ZFS (używany w Solarisie , ilumosie , FreeBSD i innych) był szeroko krytykowany za stosunkowo ekstremalne wymagania pamięciowe wielu gigabajtów pamięci RAM do deduplikacji online. Jednak deduplikacja online nigdy nie jest domyślnie włączona w ZFS i nie była obsługiwana w tym czasie przez ReFS (od tego czasu została dodana), więc niewłączenie deduplikacji online ZFS dało bardziej równomierne porównanie między dwoma systemami plików, ponieważ ZFS ma wtedy pamięć wymaganie tylko kilkuset megabajtów.
  • Oferty takie jak Drobo wykorzystywały zastrzeżone metody, które nie mają odwrotu, jeśli stojąca za nimi firma upadnie.

Inżynieria wsteczna i elementy wewnętrzne

Do listopada 2019 r. Microsoft nie opublikował żadnych specyfikacji dla ReFS, ani nie stworzono żadnych działających sterowników open source. Projekt open-source innej firmy do dokumentowania ReFS znajduje się na GitHub.

Paragon Software Group dostarcza sterownik o zamkniętym kodzie źródłowym dla systemów Windows i Linux.

Zobacz też

Bibliografia

Zewnętrzne linki