Różnica w systemie plików - który jest lepszy?  ReFS - system plików przyszłości?  Windows 10, jaki system plików jest używany

Różnica w systemie plików - który jest lepszy? ReFS - system plików przyszłości? Windows 10, jaki system plików jest używany

Nowy system plików ReFS firmy Microsoft pierwotnie pojawił się na serwerach z systemem Windows 2012. Dopiero później został dołączony do systemu Windows 10, gdzie może być używany tylko jako część funkcji puli dyskowej Storage Spaces (technologia wirtualizacji przestrzeni dyskowej). V Serwer Windows 2016 Microsoft obiecuje znacznie poprawić pracę z systemem plików ReFS, a ponadto, zgodnie z plotkami, które pojawiają się w druku, ReFS może zastąpić przestarzały system plików NTFS w nowej wersji Windows 10, który jest dumnie nazywany Windows 10 Pro (dla zaawansowanych komputerów).

Ale czym właściwie jest ReFs, czym różni się od obecnie używanego systemu plików NTFS i jakie przynosi korzyści?

Co to jest ReFS

Krótko mówiąc, został zaprojektowany jako system plików odporny na błędy. ReFS to nowy system plików utworzony przy użyciu kodu i jest zasadniczo przeprojektowanym i ulepszonym systemem plików NTFS. Należą do nich zwiększona niezawodność przechowywania informacji, stabilna praca w trybach obciążenia, rozmiary plików, woluminów, katalogów, liczba plików w woluminach i katalogach jest ograniczona jedynie wielkością znaków liczby 64-bitowej. Przypomnijmy, że przy tej wartości maksymalny rozmiar pliku wyniesie 16 eksbibajtów, a rozmiar woluminu 1 zadanieibajt.

ReFS nie jest obecnie zamiennikiem NTFS. Ma swoje zalety i wady. Ale nie można, powiedzmy, sformatować dysku i zainstalować na nim nowej kopii systemu Windows, tak jak w systemie NTFS.

ReFS chroni Twoje dane

ReFS używa sum kontrolnych dla metadanych i może również używać sum kontrolnych dla plików danych. Za każdym razem, gdy czytasz lub zapisujesz pliki, ReFS sprawdza sumę kontrolną, aby upewnić się, że jest poprawna. Oznacza to, że sam system plików ma narzędzie zdolne do wykrywania uszkodzonych danych w locie.

ReFS jest zintegrowany z funkcją Storage Spaces. Jeśli skonfigurujesz tworzenie kopii lustrzanej z obsługą ReFS, system Windows z łatwością wykryje uszkodzenie systemu plików i automatycznie je naprawi, kopiując zdublowane dane na uszkodzony dysk. Ta funkcja jest dostępna zarówno w systemie Windows 10, jak i Windows 8.1.


W przypadku, gdy ReFS wykryje uszkodzone dane i nie ma wymaganej kopii danych do przywrócenia, system plików jest w stanie natychmiast usunąć uszkodzone dane z dysku. Nie wymaga to ponownego uruchomienia systemu, w przeciwieństwie do NTFS.

ReFS nie tylko sprawdza integralność plików podczas zapisu/odczytu. Automatycznie skanuje integralność danych, regularnie sprawdzając wszystkie pliki na dysku, identyfikując i naprawiając uszkodzone dane. W takim przypadku nie ma potrzeby okresowego uruchamiania polecenia chkdsk w celu sprawdzenia dysku.

Nowy system plików jest również odporny na uszkodzenia danych w inny sposób. Na przykład aktualizujesz metadane pliku (niech będzie to nazwa pliku). System plików NTFS bezpośrednio modyfikuje metadane pliku. Jeśli system ulegnie awarii (wyłączy się) w tym momencie, istnieje duże prawdopodobieństwo, że plik zostanie uszkodzony. Po zmianie metadanych ReFS tworzy nową kopię metadanych. System plików nie nadpisuje starych metadanych, ale zapisuje je w nowym bloku. Zapobiega to uszkodzeniu pliku. Ta strategia nosi nazwę „kopiowanie przy zapisie” (kopiowanie przy zapisie, zaznaczanie przy zapisie). Ta strategia jest dostępna w innych nowoczesnych systemach plików, takich jak ZFS i BtrFS w systemie Linux, a także w nowym systemie plików Apple APFS.

Ograniczenia systemu plików NTFS

ReFS jest bardziej nowoczesny niż NTFS i obsługuje znacznie większe ilości danych i dłuższe nazwy plików. Na dłuższą metę jest to bardzo ważne.

W systemie plików NTFS ścieżka pliku jest ograniczona do 255 znaków. W ReFS maksymalna liczba znaków to już imponujące 32768 znaków. Obecnie w systemie Windows 10 istnieje opcja wyłączenia elementu znaku dla NTFS. Na woluminach dyskowych ReFS ten limit jest domyślnie wyłączony.

ReFS nie obsługuje nazw plików DOS 8.3. Na woluminach NTFS dostępne są foldery „CProgram Files”, „CProgra`1”. Są potrzebne do kompatybilności ze starymi oprogramowanie. W ReFS nie znajdziesz folderów, do których jesteśmy przyzwyczajeni. Zostały usunięte.

Teoretyczna maksymalna ilość danych obsługiwana przez NTFS to 16 eksabajtów, ReFS obsługuje do 262144 eksabajtów. Teraz ta liczba wydaje się ogromna.

Wydajność ReFS

Twórcy nie postawili sobie za cel stworzenia bardziej wydajnego systemu plików. Stworzyli bardziej zoptymalizowany system.


Na przykład, gdy jest używany z tablicą, ReFS obsługuje optymalizację na poziomie czasu rzeczywistego. Masz pulę dysków, która składa się z dwóch dysków. Pierwszy dysk wybierany jest z oczekiwaniem dużej szybkości, szybkiego dostępu do danych. Drugi dysk wybierany jest według kryterium niezawodności, do długoterminowego przechowywania danych. W tle ReFS automatycznie przeniesie duże porcje danych na wolniejszy dysk, zapewniając w ten sposób niezawodność przechowywania danych.

W systemie Windows Server 2016 programiści dodali narzędzie poprawiające wydajność za pomocą niektórych funkcji wirtualne maszyny. Na przykład ReFS obsługuje kopiowanie blokowe, co przyspiesza proces kopiowania maszyn wirtualnych i scalania punktów kontrolnych. Aby utworzyć kopię maszyny wirtualnej, ReFS tworzy nową kopię metadanych na dysku i wskazuje łącze do skopiowanych danych na dysku. Dzieje się tak, aby w systemie ReFS wiele plików mogło odwoływać się do tych samych danych na dysku. Po pracy z maszyną wirtualną i zmianie danych są one zapisywane na dysku w innej lokalizacji, podczas gdy oryginalne dane maszyny wirtualnej pozostają na dysku. To znacznie przyspiesza proces tworzenia kopii i zmniejsza obciążenie dysku.

ReFS obsługuje "Sparse VDL" (rzadkie pliki). Plik rzadki to plik, w którym sekwencja bajtów zerowych została zastąpiona informacjami o tej sekwencji (listą dziur). Otwory to pewna sekwencja zerowych bajtów w pliku, które nie są zapisywane na dysku. Sama informacja o otworze jest przechowywana w metadanych systemu plików.

Technologia obsługi rzadkich plików umożliwia szybkie zapisywanie zer w dużym pliku. To znacznie przyspiesza proces tworzenia nowego, pustego pliku wirtualnego. twardy dysk stały rozmiar (VHD). Utworzenie takiego pliku w ReFS zajmuje kilka sekund, podczas gdy w NTFS taka operacja zajmuje do 10 minut.

A jednak ReFS nie jest w stanie całkowicie zastąpić NTFS

Wszystko, co opisaliśmy powyżej, brzmi dobrze, ale nie będziesz w stanie przełączyć się na ReFS z NTFS. System Windows nie może uruchomić się z systemu plików ReFS, gdy wymaga systemu plików NTFS.


W systemie ReFS brakuje wielu technologii dostępnych w NTFS. Na przykład kompresja i szyfrowanie systemu plików, twarde łącza, rozszerzone atrybuty, deduplikacja danych i przydziały dyskowe. Jednocześnie, w przeciwieństwie do NTFS, ReFS obsługuje technologię pełnego szyfrowania danych - BitLocker.

W systemie Windows 10 nie będzie można sformatować partycji dysku za pomocą ReFS. Nowy system plików jest dostępny tylko dla systemów pamięci masowej, w których jego podstawową funkcją jest ochrona danych przed uszkodzeniem. W Windows Server 2016 będziesz mógł sformatować partycję dysku do ReFS. Będziesz mógł go używać do uruchamiania maszyn wirtualnych. Ale nie będziesz mógł wybrać go jako dysku rozruchowego. Windows uruchamia się tylko z systemu plików NTFS.

Nie jest jasne, jaką przyszłość czeka Microsoft dla nowego systemu plików. Być może pewnego dnia całkowicie zastąpi NTFS we wszystkich wersjach systemu Windows. Ale na razie ReFS może być używany tylko do niektórych zadań.

Stosowanie ReFS

Wiele powiedziano powyżej na poparcie nowego system operacyjny. Opisano zalety i wady. Proponuję zatrzymać się i zrobić bilans. Do jakich celów można, a może trzeba używać ReFS.

W systemie Windows 10 ReFS ma zastosowanie tylko w połączeniu ze składnikiem Miejsca do magazynowania. Pamiętaj, aby sformatować dysk przeznaczony do przechowywania danych w systemie ReFS, a nie NTFS. W takim przypadku możesz w pełni docenić niezawodność przechowywania danych.

W systemie Windows Server będziesz mógł sformatować partycję do ReFS za pomocą standardowego narzędzia Windows w konsoli zarządzania dyskami. Zaleca się sformatowanie go w systemie ReFS, jeśli używasz serwerów wirtualnych. Pamiętaj jednak, że dysk rozruchowy musi być sformatowany jako NTFS. Uruchamianie z systemu plików ReFS nie jest obsługiwane przez systemy operacyjne Windows.

Nowy system plików ReFS i Windows 10| 2017-06-28 06:34:15 | Superużytkownik | Oprogramowanie systemowe | https://site/media/system/images/new.png | Nowy system plików Microsoft ReFS ma zastąpić przestarzały NTFS Jakie są zalety ReFS i czym różni się od NTFS | refs, refs lub ntfs, refs windows 10, system plików refs, nowe systemy plików, system ntfs, system plików ntfs

Dlaczego smartfon nie może uruchamiać programów z karty pamięci? Czym różni się ext4 od ext3? Dlaczego dysk flash działa dłużej, jeśli jest sformatowany w systemie plików NTFS, a nie w systemie FAT? Jaki jest główny problem z F2FS? Odpowiedzi leżą w strukturze systemów plików. Porozmawiamy o nich.

Wstęp

Systemy plików określają sposób przechowywania danych. Określają, jakie ograniczenia napotka użytkownik, jak szybkie będą operacje odczytu i zapisu oraz jak długo dysk będzie działał bezawaryjnie. Dotyczy to zwłaszcza niedrogich dysków SSD i ich młodszych braci - dysków flash. Znając te funkcje, możesz w pełni wykorzystać dowolny system i zoptymalizować jego wykorzystanie do określonych zadań.

Musisz wybrać typ i parametry systemu plików, gdy potrzebujesz zrobić coś nietrywialnego. Na przykład chcesz przyspieszyć najczęstsze operacje na plikach. Na poziomie systemu plików można to osiągnąć na wiele sposobów: indeksowanie zapewni szybkie wyszukiwanie, a wstępna rezerwacja wolnych bloków ułatwi nadpisywanie często zmieniających się plików. Wstępna optymalizacja danych w pamięć o dostępie swobodnym zmniejszy ilość wymaganych we/wy.

Takie właściwości nowoczesnych systemów plików jak leniwe pisanie, deduplikacja i inne zaawansowane algorytmy pomagają wydłużyć czas działania. Są one szczególnie istotne w przypadku tanich dysków SSD z układami pamięci TLC, dyskami flash i kartami pamięci.

Istnieją oddzielne optymalizacje dla macierzy dyskowych na różnych poziomach: na przykład system plików może obsługiwać uproszczone dublowanie woluminów, natychmiastowe migawki lub dynamiczne skalowanie bez wyłączania woluminu.

Czarna skrzynka

Użytkownicy pracują głównie z systemem plików oferowanym domyślnie przez system operacyjny. Rzadko tworzą nowe partycje dyskowe, a jeszcze rzadziej zastanawiają się nad swoimi ustawieniami – wystarczy skorzystać z zalecanych ustawień lub nawet kupić wstępnie sformatowane nośniki.

Dla fanów systemu Windows wszystko jest proste: NTFS na wszystkich partycjach dysku i FAT32 (lub ten sam NTFS) na dyskach flash. Jeśli istnieje serwer NAS i używany jest w nim inny system plików, dla większości pozostaje to poza zasięgiem percepcji. Po prostu łączą się z nim przez sieć i pobierają pliki, jak z czarnej skrzynki.

W gadżetach mobilnych z Androidem ext4 najczęściej znajduje się w pamięci wewnętrznej, a FAT32 na kartach microSD. Yabloko w ogóle nie dba o to, jaki mają system plików: HFS+, HFSX, APFS, WTFS… dla nich są tylko piękne ikony folderów i plików narysowane przez najlepszych projektantów. Użytkownicy Linuksa mają najbogatszy wybór, ale można powiązać obsługę systemów plików innych niż natywny zarówno w systemie Windows, jak i macOS – więcej o tym później.

wspólne korzenie

Stworzono ponad sto różnych systemów plików, ale niewiele ponad tuzin można nazwać odpowiednimi. Chociaż wszystkie zostały zaprojektowane do konkretnych zastosowań, wiele z nich zostało powiązanych na poziomie koncepcyjnym. Są one podobne, ponieważ używają tego samego typu struktury reprezentacji (meta)danych - B-drzewa ("b-drzewa").

Jak każdy system hierarchiczny, B-drzewo zaczyna się od wpisu głównego, a następnie rozgałęzia się do końcowych elementów – pojedynczych wpisów dotyczących plików i ich atrybutów, czyli „liści”. Głównym powodem stworzenia takiej struktury logicznej było przyspieszenie wyszukiwania obiektów systemu plików na dużych tablicach dynamicznych – takich jak dyski twarde o pojemności kilku terabajtów czy jeszcze bardziej imponujące macierze RAID.

B-drzewa wymagają znacznie mniejszej liczby dostępów do dysku niż inne typy zrównoważonych drzew, aby wykonać te same operacje. Osiąga się to dzięki temu, że końcowe obiekty w B-drzewa są hierarchicznie rozmieszczone na tej samej wysokości, a szybkość wszystkich operacji jest wprost proporcjonalna do wysokości drzewa.

Podobnie jak inne zrównoważone drzewa, B-drzewa mają tę samą długość ścieżek od korzenia do każdego liścia. Zamiast dorastać, rozgałęziają się coraz bardziej i rozszerzają: wszystkie punkty rozgałęzień w B-drzewie przechowują wiele odniesień do ich obiektów podrzędnych, dzięki czemu można je łatwo znaleźć w mniejszej liczbie trafień. Duża liczba wskaźników zmniejsza liczbę najdłuższych operacji dyskowych - pozycjonowanie głowicy podczas odczytu dowolnych bloków.

Koncepcja B-drzewa została sformułowana w latach siedemdziesiątych i od tego czasu podlegała różnym udoskonaleniom. W takiej czy innej formie jest zaimplementowany w NTFS, BFS, XFS, JFS, ReiserFS i różnych systemach DBMS. Wszyscy są pokrewni pod względem podstawowych zasad organizacji danych. Różnice dotyczą detali, często dość istotnych. Wada powiązanych systemów plików jest również powszechna: wszystkie zostały stworzone do pracy z dyskami jeszcze przed pojawieniem się dysków SSD.

Pamięć flash jako motor postępu

Dyski półprzewodnikowe stopniowo zastępują dyski twarde, ale jak dotąd zmuszone są do korzystania ze starszych systemów plików, które są im obce. Zbudowane są na macierzach pamięci flash, których zasady różnią się od zasad urządzeń dyskowych. W szczególności pamięć flash musi zostać skasowana przed zapisem, a ta operacja w układach NAND nie może być wykonana na poziomie pojedynczej komórki. Jest to możliwe tylko w przypadku dużych bloków jako całości.

Ograniczenie to wynika z faktu, że w pamięci NAND wszystkie komórki są połączone w bloki, z których każdy ma tylko jedno wspólne połączenie z magistralą sterującą. Nie będziemy wchodzić w szczegóły organizacji strony i malować pełnej hierarchii. Ważna jest zasada operacji grupowych na komórkach oraz fakt, że rozmiary bloków pamięci flash są zwykle większe niż bloki adresowane w dowolnym systemie plików. Dlatego wszystkie adresy i polecenia dla dysków z pamięcią flash NAND muszą być tłumaczone przez warstwę abstrakcji FTL (Flash Translation Layer).

Kontrolery pamięci flash zapewniają zgodność z logiką urządzeń dyskowych oraz obsługę ich natywnych poleceń interfejsu. Zazwyczaj FTL jest zaimplementowany w ich oprogramowaniu, ale można go (częściowo) uruchomić na hoście – na przykład Plextor zapisuje sterowniki przyspieszające zapis dla swoich dysków SSD.

W ogóle nie można obejść się bez FTL, ponieważ nawet zapisanie jednego bitu do konkretnej komórki prowadzi do uruchomienia całej serii operacji: sterownik znajduje blok zawierający żądaną komórkę; blok jest odczytywany w całości, zapisywany do pamięci podręcznej lub na wolne miejsce, a następnie usuwany w całości, po czym jest nadpisywany z powrotem niezbędnymi zmianami.

Takie podejście przywodzi na myśl wojskową codzienność: aby wydać rozkaz jednemu żołnierzowi, sierżant tworzy szyk generalny, wyrywa biedaka z akcji, a pozostałym nakazuje rozejść się. W rzadkiej obecnie pamięci NOR organizacja była specnazem: każda komórka była kontrolowana niezależnie (każdy tranzystor miał indywidualny kontakt).

Kontrolery mają coraz więcej zadań, ponieważ z każdą generacją pamięci flash proces jej wytwarzania zmniejsza się w celu zwiększenia gęstości i obniżenia kosztów przechowywania danych. Wraz ze standardami technologicznymi skraca się również szacowana żywotność chipów.

Moduły z jednopoziomowymi komórkami SLC miały deklarowany zasób 100 tys. cykli przepisywania, a nawet więcej. Wiele z nich nadal działa w starych pendrive'ach i kartach CF. MLC klasy korporacyjnej (eMLC) pochłonął zasoby w przedziale od 10 do 20 tys., podczas gdy dla zwykłego MLC klasy konsumenckiej szacuje się go na 3-5 tys. Ten rodzaj pamięci jest aktywnie wyciskany przez jeszcze tańszą TLC, której zasoby sięgają zaledwie tysiąca cykli. Utrzymywanie żywotności pamięci flash na akceptowalnym poziomie jest wynikiem sztuczek programowych, a jednym z nich stają się nowe systemy plików.

Początkowo producenci zakładali, że system plików jest nieistotny. Sam kontroler musi obsługiwać krótkotrwałą tablicę komórek pamięci dowolnego typu, rozkładając obciążenie między nimi w optymalny sposób. W przypadku sterownika systemu plików naśladuje zwykły dysk i sam wykonuje niskopoziomowe optymalizacje przy każdym dostępie. Jednak w praktyce optymalizacja dla różnych urządzeń waha się od magicznej do fikcyjnej.

W korporacyjnych dyskach SSD zintegrowanym kontrolerem jest mały komputer. Posiada ogromny bufor pamięci (pół giga lub więcej) i wspiera wiele metod poprawiających wydajność pracy z danymi, co pozwala uniknąć zbędnych cykli zapisu. Układ porządkuje wszystkie bloki w pamięci podręcznej, wykonuje leniwe zapisy, wykonuje deduplikację w locie, rezerwuje niektóre bloki i czyści inne w tle. Cała ta magia dzieje się zupełnie niezauważalnie dla systemu operacyjnego, programów i użytkownika. W przypadku takiego dysku SSD nie ma znaczenia, który system plików jest używany. Optymalizacje wewnętrzne mają znacznie większy wpływ na wydajność i zasoby niż te zewnętrzne.

W budżetowych dyskach SSD (a tym bardziej - pendrive'ach) umieścili znacznie mniej inteligentnych kontrolerów. Pamięć podręczna w nich jest obcięta lub nieobecna, a zaawansowane technologie serwerowe w ogóle nie są wykorzystywane. W kartach pamięci kontrolery są tak prymitywne, że często twierdzi się, że w ogóle ich nie ma. Dlatego w przypadku tanich urządzeń z pamięcią flash, zewnętrzne metody równoważenia obciążenia pozostają aktualne - przede wszystkim za pomocą wyspecjalizowanych systemów plików.

Od JFFS do F2FS

Jedną z pierwszych prób napisania systemu plików uwzględniającego zasady organizacji pamięci flash było JFFS - Journaling Flash File System. Początkowo rozwój szwedzkiej firmy Axis Communications koncentrował się na poprawie wydajności pamięci urządzeń sieciowych, które Axis wyprodukowała w latach dziewięćdziesiątych. Pierwsza wersja JFFS obsługiwała tylko pamięć NOR, ale już w drugiej wersji zaprzyjaźniła się z NAND.

JFFS2 ma obecnie ograniczone zastosowanie. Jest nadal najczęściej używany w dystrybucjach Linuksa dla systemów wbudowanych. Można go znaleźć w routerach, kamerach IP, NAS i innych bywalców Internetu rzeczy. Ogólnie wszędzie tam, gdzie wymagana jest niewielka ilość niezawodnej pamięci.

Kolejnym rozwinięciem JFFS2 był LogFS, który przechowywał swoje i-węzły w osobnym pliku. Autorami tego pomysłu są pracownik niemieckiego oddziału IBM Jörn Engel oraz wykładowca Uniwersytetu Osnabrück Robert Mertens. Kod źródłowy LogFS jest dostępny na GitHub. Sądząc po tym, że ostatnia zmiana w nim nastąpiła cztery lata temu, LogFS nie zyskał popularności.

Ale te próby spowodowały pojawienie się innego wyspecjalizowanego systemu plików - F2FS. Został opracowany przez firmę Samsung Corporation, która odpowiada za dużą część pamięci flash produkowanych na świecie. Samsung produkuje chipy NAND Flash dla własnych urządzeń i na zlecenie innych firm, a także opracowuje dyski SSD z całkowicie nowymi interfejsami zamiast starszych dysków. Stworzenie wyspecjalizowanego systemu plików zoptymalizowanego pod kątem pamięci flash było od dawna koniecznością z punktu widzenia Samsunga.

Cztery lata temu, w 2012 roku, Samsung stworzył F2FS (Flash Friendly File System). Jej pomysł jest dobry, ale wykonanie było trochę szorstkie. Kluczowe zadanie podczas tworzenia F2FS było proste: zmniejszyć liczbę operacji przepisywania komórek i rozłożyć na nich obciążenie tak równomiernie, jak to możliwe. Wymaga to wykonywania operacji na wielu komórkach w tym samym bloku w tym samym czasie, zamiast wymuszania ich pojedynczo. Oznacza to, że nie potrzebujemy natychmiastowego nadpisywania istniejących bloków na pierwsze żądanie systemu operacyjnego, ale buforowanie poleceń i danych, dodawanie nowych bloków do wolnego miejsca i odroczone usuwanie komórek.

Dziś obsługa F2FS została już oficjalnie zaimplementowana w Linuksie (a więc w Androidzie), ale w praktyce nadal nie daje żadnych szczególnych korzyści. Główna cecha tego systemu plików (opóźnione nadpisywanie) prowadziła do przedwczesnych wniosków o jego skuteczności. Stara sztuczka z buforowaniem oszukała nawet wcześniejsze wersje testów porównawczych, w których F2FS wykazywał wyimaginowaną przewagę nie o kilka procent (jak oczekiwano) i nawet nie kilka razy, ale o rzędy wielkości. Tyle, że sterownik F2FS zgłosił operację, którą kontroler właśnie planował wykonać. Jeśli jednak rzeczywisty wzrost wydajności F2FS jest niewielki, zużycie ogniw będzie zdecydowanie mniejsze niż przy użyciu tego samego ext4. Te optymalizacje, których nie może wykonać tani kontroler, zostaną wykonane na poziomie samego systemu plików.

Zasięgi i mapy bitowe

Podczas gdy F2FS jest postrzegany jako egzotyczny dla geeków. Nawet we własnych Smartfony Samsung ext4 nadal obowiązuje. Wielu uważa to za dalszy rozwój ext3, ale nie jest to do końca prawdą. Chodzi bardziej o rewolucję niż o przełamanie bariery 2 TB na plik i po prostu zwiększenie innych wskaźników ilościowych.

Kiedy komputery były duże, a pliki małe, adresowanie było łatwe. Każdemu plikowi przydzielono określoną liczbę bloków, których adresy wpisano do tabeli korespondencji. Tak działał system plików ext3, który pozostaje w użyciu do tej pory. Ale ext4 wprowadził zupełnie inny sposób adresowania - ekstenty.

Rozszerzenia można traktować jako rozszerzenia i-węzłów jako oddzielne zestawy bloków, które są adresowane jako całość jako ciągłe sekwencje. Jeden ekstent może zawierać cały plik średniej wielkości, a dla dużych plików wystarczy przydzielić kilkanaście lub dwa ekstenty. Jest to znacznie bardziej wydajne niż adresowanie setek tysięcy małych bloków po cztery kilobajty.

Zmieniono w ext4 i samym mechanizmie nagrywania. Teraz dystrybucja bloków następuje natychmiast w jednym żądaniu. I to nie z góry, ale bezpośrednio przed zapisaniem danych na dysku. Odroczona alokacja multibloku pozwala pozbyć się zbędnych operacji, które zgrzeszył ext3: w nim bloki dla nowego pliku były przydzielane natychmiast, nawet jeśli w całości mieścił się w pamięci podręcznej i planowano usunąć jako tymczasowe.


Dieta o ograniczonej zawartości tłuszczu

Oprócz zrównoważonych drzew i ich modyfikacji istnieją inne popularne struktury logiczne. Istnieją systemy plików o zasadniczo innym typie organizacji — na przykład liniowe. Prawdopodobnie często używasz przynajmniej jednego z nich.

Tajemnica

Odgadnij zagadkę: w wieku dwunastu lat zaczęła przybierać na wadze, w wieku szesnastu lat była głupio gruba, a w wieku trzydziestu dwóch lat stała się gruba i pozostała prosta. Kim ona jest?

Zgadza się, to opowieść o systemie plików FAT. Wymagania dotyczące kompatybilności zapewniły jej złą dziedziczność. Na dyskietkach był 12-bitowy, na twardych dyskach - początkowo 16-bitowy, a do naszych czasów dotarł jako 32-bitowy. W każdej kolejnej wersji zwiększała się liczba bloków adresowalnych, ale w zasadzie nic się nie zmieniło.

Wciąż popularny system plików FAT32 pojawił się już dwadzieścia lat temu. Dziś jest nadal prymitywna i nie obsługuje list kontroli dostępu, limitów dyskowych, kompresji w tle ani innych nowoczesnych technologii optymalizacji danych.

Dlaczego FAT32 jest obecnie potrzebny? Nadal tylko dla kompatybilności. Producenci słusznie uważają, że każdy system operacyjny może odczytać partycję FAT32. Dlatego tworzą go na zewnętrznych dyskach twardych, USB Flash i kartach pamięci.

Jak zwolnić pamięć flash smartfona

Karty microSD(HC) używane w smartfonach są domyślnie sformatowane w systemie plików FAT32. Jest to główna przeszkoda w instalowaniu na nich aplikacji i przenoszeniu danych z pamięci wewnętrznej. Aby to przezwyciężyć, musisz stworzyć partycję na karcie z ext3 lub ext4. Można do niego przenieść wszystkie atrybuty plików (w tym właściciela i prawa dostępu), dzięki czemu każda aplikacja może działać tak, jakby została uruchomiona z pamięci wewnętrznej.

System Windows nie wie, jak utworzyć więcej niż jedną partycję na dyskach flash, ale w tym celu można uruchomić system Linux (przynajmniej na maszynie wirtualnej) lub zaawansowane narzędzie do pracy z partycjami logicznymi - na przykład MiniTool Partition Wizard Free. Po znalezieniu na karcie dodatkowej partycji podstawowej z ext3/ext4 aplikacja Link2SD i podobne aplikacje będą oferować znacznie więcej opcji niż w przypadku pojedynczej partycji FAT32.


Jako kolejny argument przemawiający za wyborem FAT32 często wymieniany jest brak logowania do niego, co oznacza szybsze operacje zapisu i mniejsze zużycie komórek pamięci NAND Flash. W praktyce stosowanie FAT32 prowadzi do czegoś przeciwnego i rodzi wiele innych problemów.

Dyski flash i karty pamięci po prostu szybko umierają, ponieważ każda zmiana w systemie FAT32 powoduje nadpisanie tych samych sektorów, w których znajdują się dwa łańcuchy tabel plików. Zapisałem całą stronę internetową i była ona nadpisywana sto razy - z każdym dodawaniem kolejnego małego gifa na pendrive'a. Uruchomiono oprogramowanie przenośne? Tworzył pliki tymczasowe i ciągle je zmienia podczas pracy. Dlatego o wiele lepiej jest używać NTFS na dyskach flash z odporną na błędy tabelą $MFT. Małe pliki można przechowywać bezpośrednio w głównej tabeli plików, a jej rozszerzenia i kopie są zapisywane w różnych obszarach pamięci flash. Ponadto dzięki indeksowaniu w systemie NTFS wyszukiwanie jest szybsze.

INFORMACJE

W przypadku FAT32 i NTFS teoretyczne limity poziomu zagnieżdżenia nie są określone, ale w praktyce są takie same: w katalogu pierwszego poziomu można utworzyć tylko 7707 podkatalogów. Ci, którzy lubią bawić się lalkami gniazdowymi, docenią to.

Innym problemem, z którym boryka się większość użytkowników, jest to, że nie można zapisać pliku większego niż 4 GB na partycji FAT32. Powodem jest to, że w FAT32 rozmiar pliku jest opisany przez 32 bity w tabeli alokacji plików, a 2^32 (minus jeden, żeby być precyzyjnym) to dokładnie cztery gigabajty. Okazuje się, że ani filmu w normalnej jakości, ani obrazu DVD nie da się nagrać na świeżo zakupiony pendrive.

Kopiowanie dużych plików nie jest takie złe: kiedy próbujesz to zrobić, błąd jest przynajmniej od razu widoczny. W innych sytuacjach FAT32 działa jak bomba zegarowa. Na przykład skopiowałeś przenośne oprogramowanie na dysk flash i na początku używasz go bez problemów. Po dłuższym czasie jeden z programów (np. księgowy czy pocztowy) ma bazę danych, która pęcznieje i… po prostu przestaje się aktualizować. Nie można nadpisać pliku, ponieważ osiągnął limit 4 GB.

Mniej oczywistym problemem jest to, że w systemie FAT32 data utworzenia pliku lub katalogu może wynosić do dwóch sekund. To nie wystarcza dla wielu aplikacji kryptograficznych, które używają znaczników czasu. Niska precyzja atrybutu „data” to kolejny powód, dla którego FAT32 nie jest uważany za kompletny system plików z punktu widzenia bezpieczeństwa. Jednak jego słabości można wykorzystać do własnych celów. Na przykład, jeśli skopiujesz jakiekolwiek pliki z partycji NTFS na wolumin FAT32, zostaną one usunięte ze wszystkich metadanych, a także odziedziczonych i specjalnie ustawionych uprawnień. FAT po prostu ich nie obsługuje.

exFAT

W przeciwieństwie do FAT12/16/32, exFAT został zaprojektowany specjalnie dla pamięci flash USB i dużych (≥ 32 GB) kart pamięci. Rozszerzony FAT eliminuje wspomnianą wyżej wadę FAT32 - nadpisywanie tych samych sektorów jakąkolwiek zmianą. Jako system 64-bitowy nie ma praktycznych ograniczeń rozmiaru pojedynczego pliku. Teoretycznie może mieć długość 2^64 bajtów (16 EB), a karty tej wielkości nie pojawią się wkrótce.

Inną podstawową różnicą między exFAT jest obsługa list kontroli dostępu (ACL). Nie jest to już ta sama prosta rzecz z lat dziewięćdziesiątych, jednak bliskość formatu uniemożliwia wprowadzenie exFAT. Obsługa ExFAT jest w pełni i legalnie zaimplementowana tylko w Windows (od XP SP2) i OS X (od 10.6.5). W systemach Linux i *BSD jest on albo ograniczony, albo nielegalnie obsługiwany. Microsoft wymaga licencji na używanie exFAT i istnieje wiele kontrowersji prawnych w tej dziedzinie.

btrfs

Innym znanym systemem plików B-drzewa jest Btrfs. Ten FS pojawił się w 2007 roku i został pierwotnie stworzony w Oracle z myślą o pracy z dyskami SSD i RAID. Na przykład można go dynamicznie skalować: tworzyć nowe i-węzły bezpośrednio w działającym systemie lub dzielić wolumin na podwolumy bez przydzielania im wolnego miejsca.

Zaimplementowany w Btrfs mechanizm kopiowania przy zapisie oraz pełna integracja z modułem jądra Device mapper pozwalają na tworzenie niemal natychmiastowych migawek za pośrednictwem wirtualnych urządzeń blokowych. Prekompresja danych (zlib lub lzo) i deduplikacja przyspieszają podstawowe operacje, jednocześnie wydłużając żywotność pamięci flash. Jest to szczególnie widoczne podczas pracy z bazami danych (uzyskuje się 2-4 krotną kompresję) i małymi plikami (są one zapisywane w uporządkowanych dużych blokach i mogą być przechowywane bezpośrednio w „liście”).

Btrfs obsługuje również pełne rejestrowanie (dane i metadane), sprawdzanie woluminów bez odmontowywania i wiele innych nowoczesnych funkcji. Kod Btrfs jest publikowany na licencji GPL. Ten system plików jest obsługiwany jako stabilny w systemie Linux od wersji jądra 4.3.1.

Dzienniki

Prawie wszystkie mniej lub bardziej nowoczesne systemy plików (ext3 / ext4, NTFS, HFSX, Btrfs i inne) należą do ogólnej grupy systemów z dziennikiem, ponieważ przechowują zapisy zmian dokonanych w osobnym dzienniku (dzienniku) i sprawdzają go w przypadku awarii podczas operacji dyskowych. Jednak szczegółowość rejestrowania i odporność na błędy różnią się w zależności od tych systemów plików.

ext3 obsługuje trzy tryby rejestrowania: pętla zwrotna, uporządkowane i pełne rejestrowanie. Pierwszy tryb polega na zapisywaniu tylko ogólnych zmian (metadanych), wykonywanych asynchronicznie względem zmian samych danych. Drugi tryb zapisuje te same metadane, ale dokładnie przed wprowadzeniem jakichkolwiek zmian. Trzeci tryb odpowiada pełnemu logowaniu (zmiany zarówno w metadanych, jak iw samych plikach).

Tylko ostatnia opcja zapewnia integralność danych. Pozostałe dwa tylko przyspieszają wykrywanie błędów podczas sprawdzania i gwarantują przywrócenie integralności samego systemu plików, ale nie zawartości plików.

Kronikowanie w NTFS jest podobne do drugiego trybu rejestrowania w ext3. Rejestrowane są tylko zmiany metadanych, a same dane mogą zostać utracone w przypadku awarii. Ta metoda kronikowania w systemie NTFS nie była pomyślana jako sposób na osiągnięcie maksymalnej niezawodności, a jedynie jako kompromis między szybkością a odpornością na błędy. Dlatego ludzie, którzy są przyzwyczajeni do pracy z systemami w pełni księgowanymi, uważają NTFS za pseudo-dziennikowanie.

Podejście zaimplementowane w NTFS jest pod pewnymi względami nawet lepsze niż domyślne w ext3. NTFS dodatkowo tworzy okresowo punkty kontrolne, aby upewnić się, że wszystkie poprzednio oczekujące operacje dyskowe zostały zakończone. Punkty kontrolne nie mają nic wspólnego z punktami przywracania w \System Volume Information\ . To tylko wpisy serwisowe w dzienniku.

Praktyka pokazuje, że w większości przypadków takie częściowe kronikowanie NTFS wystarcza do bezproblemowego działania. W końcu nawet przy ostrej przerwie w zasilaniu urządzenia dyskowe nie wyłączają się natychmiast. Zasilanie i liczne kondensatory w samych napędach zapewniają minimalną ilość energii, która wystarczy do zakończenia bieżącej operacji zapisu. W przypadku nowoczesnych dysków SSD, z ich szybkością i wydajnością, ta sama ilość energii zwykle wystarcza do wykonywania oczekujących operacji. Próba przełączenia się na pełne rejestrowanie czasami zmniejszyłaby szybkość większości operacji.

Łączymy systemy plików innych firm w systemie Windows

Korzystanie z systemów plików jest ograniczone przez ich obsługę na poziomie systemu operacyjnego. Na przykład Windows nie rozumie ext2/3/4 i HFS+, ale czasami trzeba ich użyć. Możesz to zrobić, dodając odpowiedni sterownik.

OSTRZEŻENIE

Większość sterowników i wtyczek obsługiwanych przez systemy plików innych firm ma swoje ograniczenia i nie zawsze działa stabilnie. Mogą kolidować z innymi sterownikami, programami antywirusowymi i do wirtualizacji.

Sterownik open source do odczytu i zapisu partycji ext2/3 z częściową obsługą ext4. Najnowsza wersja obsługuje rozszerzenia i partycje do 16 TB. LVM, listy kontroli dostępu i rozszerzone atrybuty nie są obsługiwane.


Jest darmowa wtyczka do Total Commandera. Obsługuje odczyt partycji ext2/3/4.


coLinux to otwarty i darmowy port jądra Linuksa. Wraz z 32-bitowym sterownikiem pozwala na uruchomienie Linuksa w Środowisko Windows od 2000 do 7 bez użycia technologii wirtualizacji. Obsługuje tylko wersje 32-bitowe. Rozwój modyfikacji 64-bitowej został anulowany. coLinux pozwala m.in. organizować od Dostęp do systemu Windows do partycji ext2/3/4. Wsparcie projektu zostało zawieszone w 2014 roku.

Windows 10 może już mieć wbudowaną obsługę systemów plików specyficznych dla Linuksa, jest po prostu ukryty. Te myśli są sugerowane przez sterownik na poziomie jądra Lxcore.sys i usługę LxssManager, która jest ładowana jako biblioteka przez proces Svchost.exe. Aby uzyskać więcej informacji na ten temat, zobacz wykład Alexa Ionescu „The Linux Kernel Hidden Inside Windows 10” na Black Hat 2016.


ExtFS dla Windows to płatny sterownik wydany przez firmę Paragon. Działa w systemie Windows 7 do 10, obsługuje dostęp do odczytu/zapisu na woluminach ext2/3/4. Zapewnia prawie pełne wsparcie dla ext4 w systemie Windows.

HFS+ dla Windows 10 to kolejny zastrzeżony sterownik firmy Paragon Software. Wbrew nazwie działa we wszystkich wersjach systemu Windows począwszy od XP. Zapewnia pełny dostęp do systemów plików HFS+/HFSX na dyskach o dowolnym układzie (MBR/GPT).

WinBtrfs to wczesna wersja sterownika Btrfs dla systemu Windows. Już w wersji 0.6 obsługuje zarówno dostęp do odczytu, jak i zapisu do woluminów Btrfs. Obsługuje łącza stałe i symboliczne, obsługuje alternatywne strumienie danych, listy ACL, dwa rodzaje kompresji i asynchroniczny tryb odczytu/zapisu. Chociaż WinBtrfs nie wie, jak używać mkfs.btrfs, btrfs-balance i innych narzędzi do obsługi tego systemu plików.

Możliwości i ograniczenia systemów plików: tabela podsumowująca

System plików Maxi-mała objętość-rozmiar Ogranicz rozmiar jednego pliku Długość własnej nazwy pliku Połowa długości nazwy pliku (łącznie ze ścieżką od katalogu głównego) Ogranicz liczbę plików i/lub katalogów Dokładność wskazania daty pliku/katalogu Prawa Dos-tu-pa Twarde linki Dowiązania symboliczne Natychmiastowe strzały żył (migawki) Kompresja danych w tle Cipher-ro-va-nie dane w tle Dane dedu-pli-ka-tion
FAT16 2 GB w sektorach 512-bajtowych lub 4 GB w klastrach 64 KB 2 GB 255 bajtów z LFN - - - - - - - - - -
FAT32 8 TB w sektorach 2 KB 4 GB (2^32 - 1 bajt) 255 bajtów z LFN do 32 podkatalogów z CDS 65460 10ms (tworzenie) / 2s (zmiana) Nie Nie Nie Nie Nie Nie Nie
exFAT ≈ 128 PB (2^32-1 klastry po 2^25-1 bajtów) teoretyczne / 512 TB ze względu na limity stron trzecich 16 EB (2^64 - 1 bajt) 2796202 w katalogu 10 ms ACL Nie Nie Nie Nie Nie Nie
NTFS 256 TB w klastrach 64 KB lub 16 TB w klastrach 4 KB 16 TB (Win 7) / 256 TB (Win 8) 255 znaków Unicode (UTF-16) 32760 znaków Unicode, ale nie więcej niż 255 znaków w każdym elemencie 2^32-1 100 ns ACL tak tak tak tak tak tak
HFS+ 8 EB (2^63 bajtów) 8 EB 255 znaków Unicode (UTF-16) nie ograniczone osobno 2^32-1 1 s Uniksowa lista kontroli dostępu tak tak Nie tak tak Nie
APFS 8 EB (2^63 bajtów) 8 EB 255 znaków Unicode (UTF-16) nie ograniczone osobno 2^63 1 ns Uniksowa lista kontroli dostępu tak tak tak tak tak tak
Ext3 32 TB (teoretycznie) / 16 TB w klastrach 4 KB (ze względu na ograniczenia narzędzi programów e2fs) 2 TB (teoretycznie) / 16 GB dla starszych programów 255 znaków Unicode (UTF-16) nie ograniczone osobno - 1 s Uniksowa lista kontroli dostępu tak tak Nie Nie Nie Nie
Ext4 1 EB (teoretycznie) / 16 TB w klastrach 4 KB (ze względu na ograniczenia narzędzi programów e2fs) 16 TB 255 znaków Unicode (UTF-16) nie ograniczone osobno 4 miliardy 1 ns POSIX tak tak Nie Nie tak Nie
F2FS 16 TB 3,94 TB 255 bajtów nie ograniczone osobno - 1 ns POSIX, ACL tak tak Nie Nie tak Nie
BTRFS 16 EB (2^64 - 1 bajt) 16 EB 255 znaków ASCII 2^17 bajtów - 1 ns POSIX, ACL tak tak tak tak tak tak

Już raz zapowiadałem to na swoim blogu, wtedy tak naprawdę nic o tym nie było wiadomo, a teraz pora na krótką, ale bardziej konsekwentną znajomość z nowo powstałym ReFS.

20 lat później

Jednak wszystko ma swoje ograniczenia, podobnie jak możliwości systemów plików. Dziś możliwości NTFS osiągnęły swoje granice: sprawdzanie pojemnych nośników danych zajmuje zbyt dużo czasu, „Dziennik” spowalnia dostęp, a maksymalny rozmiar pliku został prawie osiągnięty. Zdając sobie z tego sprawę, Microsoft zaimplementował nowy system plików w Windows 8 - ReFS (Resilient File System - odporny na awarie system plików). Uważa się, że ReFS zapewnia najlepszą ochronę danych na pojemnych i szybkich dyskach twardych. Z pewnością ma to swoje wady, ale przed rozpoczęciem naprawdę masowego użycia w Windows 8 trudno o nich mówić.

Na razie spróbujmy zrozumieć wewnętrzną strukturę i zalety ReFS.

ReFS był pierwotnie znany pod nazwą kodową „Protogon”. Po raz pierwszy powiedział opinii publicznej około rok temu Stephen Sinofsky- Prezes pionu Windows w firmie Microsoft, odpowiedzialny za rozwój i marketing Windows oraz Internet Explorer.

Powiedziane tymi słowami:

„Dzisiaj NTFS jest najczęściej używanym, zaawansowanym i bogatym w funkcje systemem plików. Ale ponowne przemyślenie systemu Windows, a obecnie rozwijamy system Windows 8, nie kończy się na tym. Dlatego wraz z Windows 8 wprowadzamy również zupełnie nowy system plików. ReFS jest zbudowany na bazie NTFS, dzięki czemu zachowuje krytyczne funkcje kompatybilności, będąc jednocześnie zaprojektowanym i skonstruowanym w celu zaspokojenia potrzeb nowej generacji technologii i scenariuszy pamięci masowej.

W systemie Windows 8 system ReFS zostanie wprowadzony tylko jako część systemu Windows Server 8, podobnie jak w przypadku wszystkich poprzednich systemów plików. Oczywiście na poziomie aplikacji klienci otrzymają dostęp do danych ReFS w taki sam sposób, jak do danych NTFS. Nie zapominajmy, że NTFS jest nadal wiodącą w branży technologią systemów plików dla komputerów PC”.

Rzeczywiście, po raz pierwszy zobaczyliśmy ReFS w systemie operacyjnym serwera Windows Server 8. Nowy system plików nie został opracowany od zera. Na przykład ReFS używa tych samych interfejsów API co NTFS do otwierania, zamykania, odczytu i zapisu plików. Ponadto wiele dobrze znanych funkcji zostało przeniesionych z NTFS — na przykład szyfrowanie dysku bitlocker oraz dowiązania symboliczne dla bibliotek. Ale zniknął na przykład kompresja danych oraz szereg innych funkcji.

Główne innowacje ReFS koncentrują się w obszarze tworzenia i zarządzania strukturami plików i folderów. Ich zadaniem jest zapewnienie automatyczna naprawa błędy, maksymalne skalowanie i działanie w trybie Always Online.

Architektura ReFS

Implementacja na dysku struktur ReFS zasadniczo różni się od innych systemów plików firmy Microsoft. Deweloperzy Microsoftu mogli zrealizować swoje pomysły, stosując koncepcję B±trees w ReFS, która jest dobrze znana z baz danych. Foldery w systemie plików mają strukturę tabel z plikami jako wpisami. Te z kolei otrzymują pewne atrybuty dodawane jako podtabele, tworząc hierarchiczną strukturę drzewa. Nawet wolne miejsce na dysku jest zorganizowane w tabelach.

Wraz z rzeczywistą 64-bitową numeracją wszystkich elementów systemu eliminuje to pojawianie się „wąskich gardeł” podczas jego dalszego skalowania

W rezultacie rdzeniem systemu w ReFS jest tabela obiektów, centralny katalog zawierający wszystkie tabele w systemie. Takie podejście ma ważną zaletę: ReFS porzucił złożone zarządzanie dziennikiem i naprawia nowe informacje o pliku w wolnym miejscu - to zapobiega jego nadpisaniu.

« Katalog Liście' są wpisywanymi rekordami. Istnieją trzy podstawowe typy wpisów dla obiektu folderu: deskryptor katalogu, wpis indeksu i deskryptor obiektu zagnieżdżonego. Wszystkie takie rekordy są pakowane jako oddzielne drzewo B± posiadające identyfikator folderu; korzeniem tego drzewa jest liść B ± drzewa „Katalog”, co pozwala na spakowanie niemal dowolnej liczby rekordów do folderu. Na dolnym poziomie w arkuszach B± drzewa folderów znajduje się przede wszystkim wpis deskryptora katalogu zawierający podstawowe dane o folderze (nazwa, „informacje standardowe”, atrybut nazwy pliku itp.).

W dalszej części katalogu znajdują się rekordy indeksu: krótkie struktury zawierające dane o elementach zawartych w folderze. Rekordy te są znacznie krótsze niż w NTFS - to w mniejszym stopniu zaśmieca wolumin metadanymi.

Na końcu znajdują się wpisy w książce telefonicznej. W przypadku folderów elementy te zawierają nazwę pakietu, identyfikator folderu w „Katalogu” oraz strukturę „informacji standardowych”. Dla plików nie ma identyfikatora - zamiast tego struktura zawiera wszystkie podstawowe dane o pliku, w tym korzeń B drzewa fragmentów plików. W związku z tym plik może składać się z prawie dowolnej liczby fragmentów.

Podobnie jak NTFS, ReFS zasadniczo rozróżnia informacje o plikach (metadane) i zawartość pliku (dane użytkownika). ale funkcje ochronne są dane obu w równym stopniu. Metadane są domyślnie chronione sumami kontrolnymi - taką samą ochronę można (opcjonalnie) nadać danym użytkownika. Te sumy kontrolne znajdują się na dysku w bezpiecznej odległości od siebie - dzięki temu łatwiej będzie odzyskać dane w przypadku błędu.

Rozmiar metadanych pustego systemu plików wynosi około 0,1% rozmiaru samego systemu plików (tj. około 2 GB na wolumin o pojemności 2 TB). Niektóre podstawowe metadane są duplikowane w celu zwiększenia odporności

Wariant ReFS, który widzieliśmy w Windows Server 8 Beta, obsługuje tylko klastry danych 64 KB i klastry metadanych 16 KB. Na razie parametr Cluster Size jest ignorowany podczas tworzenia woluminu ReFS i zawsze przyjmuje się, że jest domyślny. Podczas formatowania systemu plików jedyną dostępną opcją wyboru rozmiaru klastra jest również 64 KB.

Przyznajemy: ten rozmiar klastra jest więcej niż wystarczający do organizowania systemów plików o dowolnej wielkości. Efektem ubocznym jest jednak zauważalna nadmiarowość w przechowywaniu danych (jednobajtowy plik na dysku zajmie pełny blok 64 KB).

Bezpieczeństwo ReFS

Jeśli chodzi o architekturę systemu plików, ReFS posiada wszystkie wymagane narzędzia do bezpiecznego przywracania plików nawet po poważnej awarii sprzętu. Główną wadą systemu księgowania w systemie plików NTFS i tym podobnych jest to, że aktualizacja dysku może uszkodzić nagrane wcześniej metadane w przypadku awarii zasilania podczas nagrywania – efekt ten otrzymał już stabilną nazwę: tzw. " pobity rekord».

Aby zapobiec pobite rekordy, programiści z Microsoft wybrali nowe podejście, w którym części struktur metadanych zawierają własne identyfikatory, co pozwala sprawdzić własność struktur; Odwołania metadanych zawierają 64-bitowe sumy kontrolne bloków, do których się odwołują.

Każda zmiana struktury metadanych odbywa się dwuetapowo. Najpierw na wolnym miejscu na dysku tworzona jest nowa (zmodyfikowana) kopia metadanych, a dopiero potem, jeśli się powiedzie, łącze jest przenoszone ze starego (niezmienionego) do nowego (zmodyfikowanego) obszaru metadanych przez operację atomowej aktualizacji. Tutaj unika logowania, automatycznie zachowując integralność danych.

Opisany schemat nie dotyczy jednak danych użytkownika, więc wszelkie zmiany zawartości pliku są zapisywane bezpośrednio w pliku. Usunięcie pliku odbywa się poprzez przebudowanie struktury metadanych, która zachowuje na dysku poprzednią wersję bloku metadanych. Takie podejście pozwala odzyskać usunięte pliki, dopóki nie zostaną nadpisane nowymi danymi użytkownika.

Osobnym tematem jest odporność na błędy ReFS w przypadku uszkodzenia dysku. System jest w stanie wykryć wszelkie formy uszkodzenia dysku, w tym zagubione lub przechowywane w niewłaściwym miejscu zapisy, a także tzw. trochę próchnicy(pogorszenie stanu danych na nośnikach)

Gdy opcja „strumienie integralne” jest włączona, ReFS sprawdza również zawartość plików i zawsze zapisuje zmiany w plikach w lokalizacji innej firmy. Gwarantuje to, że istniejące wcześniej dane nie zostaną utracone podczas nadpisywania. Sumy kontrolne są aktualizowane automatycznie podczas zapisywania danych, dzięki czemu w przypadku niepowodzenia zapisu użytkownik nadal będzie miał dostęp do wersji pliku do weryfikacji.


Innym interesującym tematem w kwestii bezpieczeństwa ReFS jest interakcja z Miejsca do przechowywania. Referencje i Miejsca do przechowywania zaprojektowane tak, aby uzupełniały się nawzajem jako dwa komponenty ujednolicony system przechowywanie danych. Oprócz poprawy wydajności Miejsca do przechowywania chronić dane przed częściowymi i pełnymi awariami dysków, przechowując kopie na wielu dyskach. Podczas błędów odczytu Miejsca do przechowywania potrafi odczytywać kopie, a w przypadku błędów zapisu (nawet przy całkowitej utracie danych multimedialnych podczas odczytu/zapisu) możliwa jest „przezroczysta” redystrybucja danych. Jak pokazuje praktyka, najczęściej taka awaria nie jest związana z nośnikiem - pojawia się z powodu uszkodzenia danych, lub z powodu utraty danych lub zapisania ich w niewłaściwym miejscu.

Są to rodzaje awarii, które ReFS może wykryć za pomocą sum kontrolnych. Po wykryciu awarii ReFS kontaktuje się Miejsca do przechowywania w celu odczytania wszystkich możliwych kopii danych i wybiera właściwą kopię na podstawie sprawdzenia sumy kontrolnej. Następnie system daje Miejsca do przechowywania polecenie przywrócenia uszkodzonych kopii na podstawie poprawnych kopii. Wszystko to dzieje się przejrzyście z zastosowanego punktu widzenia.

Jak podano na stronie Microsoft Windows Serwer 8, sumy kontrolne są zawsze włączone dla metadanych ReFS i zakładając, że wolumin jest hostowany na kopii lustrzanej Miejsca do przechowywania, włączona jest również automatyczna korekta. Wszystkie integralne strumienie są chronione w ten sam sposób. Tworzy to kompleksowe rozwiązanie o wysokim stopniu integralności dla użytkownika, dzięki czemu stosunkowo zawodne przechowywanie może być bardzo niezawodne.

Wspomniane strumienie integralności chronią zawartość pliku przed wszelkiego rodzaju uszkodzeniem danych. Jednak ta cecha nie ma zastosowania w niektórych przypadkach.

Na przykład w przypadku niektórych aplikacji preferowane jest ostrożne zarządzanie przechowywaniem plików z określonym sortowaniem plików na dysku. Ponieważ spójne strumienie realokują bloki za każdym razem, gdy zmienia się zawartość pliku, układ plików dla tych aplikacji jest zbyt nieprzewidywalny. Najlepszym tego przykładem są systemy baz danych. Z reguły takie aplikacje niezależnie śledzą sumy kontrolne zawartości plików i mają możliwość sprawdzania i poprawiania danych poprzez bezpośrednią interakcję z interfejsami API.


Myślę, że sposób działania ReFS w przypadku uszkodzenia dysku lub awarii pamięci jest jasny. Może być trudniej zidentyfikować i przezwyciężyć utratę danych związaną z „ trochę próchnicy”, gdy uszkodzenia rzadko odczytywanych części dysku, które nie zostały wykryte na czas, zaczynają gwałtownie rosnąć. Zanim te uszkodzenia zostaną odczytane i wykryte, kopie mogą być już uszkodzone lub dane mogły zostać utracone z powodu innych awarii.

Aby przezwyciężyć proces trochę próchnicy, firma Microsoft dodała zadanie systemowe w tle, które okresowo czyści metadane i przesyła strumieniowo dane dotyczące integralności na woluminie ReFS znajdującym się w lustrzanej przestrzeni dyskowej. Czyszczenie odbywa się poprzez odczytanie wszystkich nadmiarowych kopii i sprawdzenie ich poprawności za pomocą sum kontrolnych ReFS. Jeśli sumy kontrolne nie zgadzają się, kopie z błędami są poprawiane dobrymi kopiami.

Pozostaje zagrożenie, które można warunkowo nazwać „koszmarem administratora systemu”. Zdarzają się przypadki, choć rzadkie, kiedy nawet wolumen w przestrzeni lustrzanej może zostać uszkodzony. Na przykład pamięć uszkodzonego systemu może uszkodzić dane, które następnie mogą trafić na dysk i uszkodzić zbędne kopie. Ponadto wielu użytkowników może zdecydować się nie używać lustrzanych przestrzeni dyskowych w systemie ReFS.

W takich przypadkach, gdy wolumin ulegnie uszkodzeniu, ReFS wykonuje „naprawę” – funkcję, która usuwa dane z przestrzeni nazw w woluminie roboczym. Jego celem jest zapobieganie nieodwracalnym uszkodzeniom, które mogłyby wpłynąć na dostępność prawidłowych danych. Na przykład, jeśli pojedynczy plik w katalogu jest uszkodzony i nie można go automatycznie naprawić, ReFS usunie ten plik z przestrzeni nazw systemu plików, przywracając resztę woluminu.

Przywykliśmy do tego, że system plików nie może otworzyć ani usunąć uszkodzonego pliku, a administrator nie może nic z tym zrobić.

Ale ponieważ ReFS może odzyskać uszkodzone dane, administrator może przywrócić ten plik z kopii zapasowej lub użyć aplikacji do ponownego utworzenia go bez konieczności zamykania systemu. Oznacza to, że użytkownik lub administrator nie będzie już musiał sprawdzać i naprawiać dysku w trybie offline. W przypadku serwerów umożliwia to wdrażanie dużych ilości danych bez ryzyka długich okresów. żywotność baterii z powodu uszkodzenia.


ReFS w praktyce

Oczywiście praktyczność i wygodę (lub odwrotne cechy) ReFS można ocenić dopiero po rozpowszechnieniu komputerów z Windows 8 i upływie co najmniej sześciu miesięcy aktywnej pracy z nimi. Jak dotąd potencjalni użytkownicy G8 mają więcej pytań niż odpowiedzi.

Na przykład: czy w systemie Windows 8 będzie można łatwo i łatwo konwertować dane z NTFS na ReFS i odwrotnie? Przedstawiciele Microsoftu twierdzą, że nie ma wbudowanej funkcji konwersji formatów, ale informacje nadal można kopiować. Zakres ReFS jest oczywisty: na początku może być używany tylko jako menedżer dużych danych dla serwera (w rzeczywistości jest już używany). Nie będzie jeszcze dysków zewnętrznych z ReFS - tylko wewnętrzne. Oczywiście z biegiem czasu ReFS będzie wyposażony w więcej funkcji i będzie mógł zastąpić starszy system.

Microsoft twierdzi, że najprawdopodobniej stanie się to wraz z wydaniem pierwszego dodatku Service Pack dla Windows 8

Microsoft twierdzi również, że przetestował ReFS:

„za pomocą wyrafinowanego, obszernego zestawu dziesiątek tysięcy testów, które zostały zbudowane dla NTFS przez ponad dwie dekady. Testy te odtwarzają złożone warunki wdrożenia, które naszym zdaniem mogą wystąpić w systemie, takie jak przerwy w dostawie prądu, problemy często związane ze skalowalnością i wydajnością. Dlatego możemy powiedzieć, że system ReFS jest gotowy do wdrożenia testowego w zarządzanym środowisku.”

Jednocześnie jednak twórcy przyznają, że jako pierwsza wersja dużego systemu plików, ReFS prawdopodobnie będzie wymagał ostrożnej obsługi:

„Nie określamy ReFS dla Windows 8 jako wersji beta. Nowy system plików będzie gotowy do wydania, gdy Windows 8 opuści wersję beta, ponieważ nic nie jest ważniejsze niż wiarygodność danych. Tak więc, w przeciwieństwie do innych aspektów systemu, potrzebne jest tutaj konserwatywne podejście do początkowego użytkowania i testowania”.

W dużej mierze z tego powodu ReFS zostanie wprowadzony do użytku zgodnie z planem etapowym. Najpierw - jako system pamięci masowej dla Windows Server, potem - jako pamięć masowa dla użytkowników, a już na końcu - jako wolumin rozruchowy. Jednak podobne „ostrożne podejście” do wydawania nowych systemów plików było stosowane już wcześniej.

W tym artykule zrozumiemy jakie funkcje zapewnia ReFS i dlaczego jest lepszy od systemu plików NTFS. Jak odzyskać dane z miejsca na dysku ReFS. Nowy system plików ReFS firmy Microsoft został pierwotnie wprowadzony w systemie Windows Server 2012. Jest on również zawarty w systemie Windows 10 jako część narzędzia Przestrzeń dyskowa. ReFS może być używany do puli dyskowej. Wraz z wydaniem Windows Server 2016 system plików został ulepszony, wkrótce będzie dostępny w nowej wersji Windows 10.

Jakie funkcje zapewnia ReFS i jak jest lepszy niż obecny system NTFS?

Zawartość:

Co oznacza REF?

Skrót od Odporny system plików, ReFS to nowy system oparty na NTFS. Na tym etapie ReFS nie oferuje kompleksowego zamiennika NTFS do użytku domowego. System plików ma swoje zalety i wady.

ReFS jest przeznaczony do rozwiązywania podstawowych problemów NTFS. Jest bardziej odporny na uszkodzenia danych, lepiej radzi sobie z dużymi obciążeniami i łatwo skaluje się do bardzo dużych systemów plików. Zobaczmy, co to oznacza?

ReFS chroni dane przed uszkodzeniem

System plików używa sum kontrolnych dla metadanych i może również używać sum kontrolnych dla danych pliku. Podczas odczytu lub zapisu pliku system sprawdza sumę kontrolną, aby upewnić się, że jest poprawna. W ten sposób przeprowadzane jest wykrywanie uszkodzonych danych w czasie rzeczywistym.

ReFS jest zintegrowany z funkcją miejsca na dysku. Jeśli skonfigurujesz lustrzane przechowywanie danych, to za pomocą ReFS system Windows wykryje i automatycznie naprawi uszkodzenie systemu plików, kopiując dane z innego dysku. Ta funkcja jest dostępna zarówno w systemie Windows 10, jak i Windows 8.1.

Jeśli system plików wykryje uszkodzone dane, które nie mają alternatywnej kopii do odzyskania, ReFS natychmiast usuwa takie dane z dysku. Nie wymaga to ponownego uruchomienia systemu ani wyłączenia urządzenia pamięci masowej, jak ma to miejsce w przypadku NTFS.

Konieczność korzystania z narzędzia chkdsk całkowicie znika, ponieważ system plików jest automatycznie korygowany natychmiast w momencie wystąpienia błędu. Nowy system odporny na inne rodzaje uszkodzenia danych. NTFS zapisuje metadane pliku bezpośrednio podczas jego zapisywania. Jeśli w tym czasie nastąpi przerwa w dostawie prądu lub awaria komputera, nastąpi uszkodzenie danych.

Podczas zmiany metadanych ReFS tworzy nową kopię danych i kojarzy dane z plikiem dopiero po zapisaniu metadanych na dysku. Eliminuje to możliwość uszkodzenia danych. Ta funkcja nazywa się kopiowanie przy zapisie i jest również obecna w innych popularnych systemach operacyjnych Linux: ZFS, BtrFS i systemie plików Apple APFS.

ReFS usuwa niektóre ograniczenia NTFS

ReFS jest bardziej nowoczesny i obsługuje znacznie większe woluminy i dłuższe nazwy plików niż NTFS. Na dłuższą metę są to ważne ulepszenia. W systemie plików NTFS nazwa pliku jest ograniczona do 255 znaków, w systemie ReFS nazwa pliku może zawierać do 32768 znaków. System Windows 10 umożliwia wyłączenie limitu znaków dla systemów plików NTFS, ale jest on zawsze wyłączony na woluminach ReFS.

ReFS nie obsługuje już krótkich nazw plików DOS 8.3. Na woluminie NTFS możesz uzyskać dostęp C:\Pliki programów\ v C:\PROGRAM~1\ aby zapewnić kompatybilność ze starszym oprogramowaniem.

NTFS ma teoretycznie maksymalnie 16 eksabajtów, podczas gdy ReFS ma teoretyczną wartość maksymalną 262144 eksabajtów. Chociaż teraz nie ma to większego znaczenia, ale komputer stale się rozwija.

Który system plików jest szybszy ReFS czy NTFS?

ReFS nie został zaprojektowany w celu poprawy wydajności systemu plików w porównaniu z NTFS. Microsoft znacznie usprawnił system ReFS w bardzo specyficznych przypadkach.

Na przykład w przypadku korzystania z przestrzeni dyskowej ReFS obsługuje „optymalizację w czasie rzeczywistym”. Załóżmy, że masz pulę dysków z dwoma dyskami, z których jeden zapewnia maksymalną wydajność, a drugi wolumin. ReFS zawsze zapisuje dane na szybszym dysku, zapewniając maksymalną wydajność. W tle system plików automatycznie przeniesie duże porcje danych na wolniejsze dyski w celu długoterminowego przechowywania.

W systemie Windows Server 2016 firma Microsoft ulepszyła ReFS, aby zapewnić lepszą wydajność funkcji maszyn wirtualnych. Maszyna wirtualna Microsoft Hyper-V korzysta z tych zalet (teoretycznie każda maszyna wirtualna może skorzystać z ReFS).

Na przykład ReFS obsługuje klonowanie bloków, co przyspiesza proces klonowania maszyn wirtualnych i operacji łączenia punktów kontrolnych. Aby utworzyć kopię maszyny wirtualnej, ReFS musi tylko zapisać nowe metadane na dysku i podać łącze do istniejących danych. Dzieje się tak, ponieważ w systemie ReFS wiele plików może wskazywać na te same dane na dysku.

Gdy maszyna wirtualna zapisuje nowe dane na dysku, są one zapisywane w innej lokalizacji, podczas gdy oryginalne dane maszyny wirtualnej pozostają na dysku. To znacznie przyspiesza proces klonowania i wymaga znacznie mniejszej przepustowości dysku.

ReFS oferuje również nową funkcję „rzadki VDL”, który pozwala ReFS na szybkie zapisywanie zer w dużym pliku. To znacznie przyspiesza tworzenie nowego, pustego pliku wirtualnego dysku twardego (VHD) o stałym rozmiarze. Na NTFS ta operacja może zająć 10 minut, na ReFS może zająć kilka sekund.

Dlaczego ReFS nie może zastąpić NTFS

Pomimo wielu zalet, ReFS nie może jeszcze zastąpić NTFS. System Windows nie może uruchomić się z partycji ReFS i wymaga systemu NTFS. ReFS nie obsługuje funkcji NTFS, takich jak kompresja danych, szyfrowanie systemu plików, łącza twarde, rozszerzone atrybuty, deduplikacja danych i przydziały dyskowe. Ale w przeciwieństwie do NTFS, ReFS umożliwia wykonanie pełnego szyfrowania dysku za pomocą funkcji BitLocker, w tym struktur dysków systemowych.

Windows 10 nie pozwala na formatowanie partycji w ReFS, ten system plików jest dostępny tylko w przestrzeni dyskowej. ReFS chroni dane używane na pulach wielu dysków twardych przed uszkodzeniem. W systemie Windows Server 2016 można formatować woluminy za pomocą ReFS zamiast NTFS. Taki wolumin może być używany do przechowywania maszyn wirtualnych, ale system operacyjny nadal może uruchamiać się tylko z NTFS.


Hetman Partition Recovery umożliwia analizę przestrzeni dyskowej zarządzanej przez system plików ReFS za pomocą algorytmu analizy sygnatur. Analizując urządzenie sektor po sektorze, program znajduje określone sekwencje bajtów i wyświetla je użytkownikowi. Przywracanie danych z miejsca na dysku ReFS nie różni się od pracy z systemem plików NTFS:

  1. Pobierz i zainstaluj program;
  2. Przeanalizuj dysk fizyczny zawarty w przestrzeni dyskowej;
  3. Wybierz i zapisz pliki, które chcesz odzyskać;
  4. Powtórz kroki 2 i 3 dla wszystkich dysków zawartych w miejscu na dysku.

Przyszłość nowego systemu plików jest raczej niejasna. Microsoft może sfinalizować ReFS, aby zastąpić starszy NTFS we wszystkich wersjach systemu Windows. W tej chwili ReFS nie może być używany uniwersalnie i służy tylko do niektórych zadań.

Jeśli już zainstalowałeś i pracowałeś z nowymi systemami operacyjnymi firmy Microsoft: Windows Server 2012 i Windows 8, prawdopodobnie już zauważyłeś, że teraz nowe woluminy można sformatować w systemie plików ReFS. Co to jest system plików ReFS? Skrót ReFS oznacza Odporny system plików, tj. w języku rosyjskim „Odporny na uszkodzenia system plików”.

Microsoft odczyta system plików ReFS jako następcę najpopularniejszego w tej chwili systemu plików NTFS, którego możliwości technologiczne osiągnęły już swoje granice. W szczególności podczas pracy z dużymi nośnikami danych występują trudności z ich pracą: jest zbyt długi podczas wykonywania operacji sprawdzania błędów, a dziennik jest powolny i osiąga limity maksymalnego rozmiaru pliku w systemie plików NTFS.

Cechy systemu plików ReFS

Większość innowacji w ReFS dotyczy obszaru tworzenia i zarządzania strukturami plików i folderów. Te funkcje są zaimplementowane w celu automatycznej korekcji błędów, wysokiej skalowalności i działania Always Online. Foldery w systemie plików ReFS mają strukturę tabel z plikami jako wpisami, które z kolei mogą mieć własne atrybuty zorganizowane jako podtabele, implementując hierarchiczną strukturę drzew B+ znanych nam z baz danych. Wolne miejsce na dysku jest również zorganizowane w tabelach.

Przy tworzeniu ReFS postawiono sobie następujące cele:

  • Zapewnienie maksymalnej kompatybilności z istniejącymi funkcjami NTFS i pozbycie się niepotrzebnych, które komplikują system
  • Weryfikacja i automatyczna korekta danych.
  • Skalowalność.
  • Elastyczność architektury z wykorzystaniem funkcji, która została faktycznie wymyślona dla ReFS.

Kluczowe cechy ReFS

  • Zwiększone limity rozmiaru partycji, katalogów i plików (tabela poniżej)
  • Integralność metadanych z sumami kontrolnymi.
  • Specjalną techniką zapisu na dysku są strumienie integralności, które zapewniają dodatkową ochronę danych w przypadku uszkodzenia części dysku.
  • Nowy model transakcji „alokuj przy zapisie” (kopiuj przy zapisie)
  • Czyszczenie dysków — technologia czyszczenia dysków w tle
  • Możliwość organizowania pul pamięci masowej, które można wykorzystać w wirtualizacji, m.in. aby zapewnić odporność na uszkodzenia maszyn wirtualnych i równoważenie obciążenia.
  • Segmentacja danych szeregowych (przeplatanie danych) służy do poprawy wydajności
  • Ratowanie danych wokół uszkodzonego obszaru na dysku.

Ograniczenia systemu plików ReFS

Obsługiwane funkcje NTFS

ReFS odziedziczył wiele funkcji i semantyki swojego poprzednika, NTFS, w tym:

  • Szyfrowanie funkcją BitLocker
  • Magazyn USN
  • listy kontroli dostępu (ACL)
  • dowiązania symboliczne do bibliotek
  • punkty montowania
  • punkty węzłowe
  • punkty wymiany

Wszystkie dane w systemie plików ReFS będą dostępne za pośrednictwem tych samych interfejsów API, które są obecnie używane do uzyskiwania dostępu do partycji NTFS.

ReFS usunęło następujące funkcje NTFS:

  • kompresja danych
  • Szyfrowanie na poziomie plików EFS
  • krótkie nazwy plików 8.3
  • Twarde linki

ReFS w Windows 8

Obsługa ReFS została wprowadzona w Windows 8 i Windows Server 2012 i tylko dla wolumenów danych. Oznacza to, że partycji z systemem ReFS nie można używać do instalacji systemu operacyjnego i uruchamiania z niego. Z biegiem czasu ReFS będzie wyposażony w więcej funkcji i będzie w stanie całkowicie zastąpić starszy system NTFS. Prawdopodobnie wszystkie nowe funkcje pojawią się w pierwszym dodatku Service Pack dla Windows 8.

Ponadto ReFS nie można jeszcze zastosować do wymiennych i przenośnych urządzeń pamięci masowej (ReFS ​​jest obecnie stosowany tylko do nośników wewnętrznych).

Nieprzyjemnym momentem jest fakt, że istniejących woluminów NTFS nie można konwertować na ReFS w locie. Dane będą musiały być przekazywane poprzez regularne kopiowanie.

Wolumin można sformatować w systemie plików ReFS za pomocą konsoli Zarządzanie dyskami. Ale Dodatkowe opcje, takie jak włączanie sprawdzania integralności, można włączyć tylko z wiersza poleceń.

Na przykład możesz włączyć sprawdzanie integralności ReFS za pomocą polecenia:

Formatuj /fs:refs /q /i:włącz

Wyłącz sprawdzanie integralności.