Miałem dzisiaj sytuację, w której ponownie uruchomiłem komputer i powiedziałem, że muszę sprawdzić dysk pod kątem spójności. Około 10 minut później (przy ukończeniu „1%”) poddałem się i postanowiłem pozwolić mu działać, kiedy wracam do domu.
Dla porównania, mój komputer domowy używa Ext4 dla wszystkich partycji, a sprawdzanie dysku (które są uruchamiane raz w tygodniu) zajmuje tylko kilka sekund. Pamiętam, że przeczytałem, że szybkie sprawdzanie dysku było priorytetem, ale nie wiem, jak mogliby to zrobić.
Jak więc Ext4 sprawdza tak szybko sprawdzanie dysku? Czy jest jakiś ogromny przełom w zrobieniu tego po wyjściu NTFS (~ 10 lat temu)?
Uwaga: Dysk NTFS ma pojemność ~ 300 GB, a dysk Ext4 ~ 500 GB. Oba są prawie w połowie pełne.
Odpowiedzi:
Istnieją dwa główne powody różnicy wydajności i dwa możliwe powody. Po pierwsze, główne powody:
Zwiększona wydajność ext4 w porównaniu z NTFS
Różne testy porównawcze wykazały, że rzeczywisty system plików ext4 może wykonywać wiele operacji odczytu i zapisu szybciej niż partycja NTFS. Zauważ, że chociaż testy te nie wskazują rzeczywistej wydajności, możemy ekstrapolować te wyniki i wykorzystać to jako jeden z powodów.
Jeśli chodzi o to, dlaczego ext4 faktycznie działa lepiej, to NTFS można przypisać wielu różnym przyczynom. Na przykład ext4 obsługuje bezpośrednio opóźnioną alokację. Znowu jednak wzrost wydajności zależy ściśle od używanego sprzętu (i może być całkowicie zanegowany w niektórych przypadkach).
Ograniczone wymagania dotyczące sprawdzania systemu plików
System plików ext4 jest również zdolny do szybszego sprawdzania systemu plików niż inne równoważne systemy plików kronikowania (np. NTFS). Według strony Wikipedii:
A teraz dwa możliwe powody:
Narzędzia do sprawdzania systemu plików
Niektóre aplikacje mogą uruchamiać różne procedury w systemach plików, aby faktycznie wykonać „sprawdzenie” kondycji. Można to łatwo zauważyć, jeśli używasz zestawu narzędzi fsck w systemie Linux w porównaniu z narzędziem chkdsk w systemie Windows. Aplikacje te są napisane w różnych systemach operacyjnych dla różnych systemów plików. Powodem, dla którego przedstawiłem to jako możliwą przyczynę, jest to, że wywołania systemowe niskiego poziomu w każdym systemie operacyjnym są inne, więc możesz nie być w stanie bezpośrednio porównać narzędzi za pomocą dwóch różnych systemów operacyjnych.
Fragmentacja dysku
Ten jest łatwy do zrozumienia, a także pomaga nam zrozumieć różnice między systemami plików. Chociaż wszystkie dane cyfrowe przechowywane w pliku są takie same, sposób ich przechowywania na dysku twardym różni się w zależności od systemu plików. Fragmentacja plików może oczywiście zwiększyć prędkość dostępu, przypisując większą różnicę prędkości.
źródło
Z mojego zrozumienia, ext4 próbuje zapisywać dane do największej ciągłej luki w otwartych i-węzłach, gdzie obecnie nie ma żadnych danych. Znacząco zmniejsza to opóźnienie, gdy pliki te muszą być odczytane, ponieważ w większości przypadków cała zawartość pojedynczego pliku leżałaby w większości na jednej ciągłej ścieżce, więc głowa napędów miałaby mniej wysiłku przy wyszukiwaniu każdego bloku zawierającego dane co stanowi ten jeden plik.
To (ext4) wciąż może ulec fragmentacji, ale o wiele mniej i niekoniecznie w sposób, który wpływa na wydajność odczytu / zapisu poważnie, jak w przypadku NTFS. W NTFS dane są zapisywane w pierwszych otwartych blokach na ścieżce głowy.
Więc gdziekolwiek leży głowa i tam są otwarte bloki, zapisuje tyle danych, ile może zmieścić, a następnie zapisuje gdziekolwiek wyląduje gdzie indziej na dysku, gdy głowa musi się przenieść, powiedzmy, do innej części dysku, aby uzyskać dostęp do innego pliku, który musi zostać otwarty w programie, który właśnie załadowałeś podczas zapisywania tego innego pliku.
Oznacza to, że jeśli plik jest duży, prawdopodobnie zostanie rozłożony na bloki oddzielone od siebie na osobnych ścieżkach i dlatego defragmentacja jest często potrzebna dla NTFS.
Ponadto, dlaczego serwery na ogół go nie używają, ponieważ na serwerze dzieje się coraz więcej operacji we / wy, na których dane są ciągle zapisywane i odczytywane z dysku 24/7.
Również nie jestem pewien, ale jeśli
chkdsk
sprawdzi integralność każdego pliku (w co wierzę i tofsck
robię), będzie on również wolniejszy w porównaniu z powodu tego, co właśnie opisałem na temat fragmentowania w NTFS.źródło
System Windows nigdy nie powinien sprawdzać woluminu NTFS podczas uruchamiania. Jeśli tak, coś poszło nie tak - coś znacznie gorszego niż zwykły BSOD lub awaria zasilania. Istnieje znaczna szansa, że niektóre dane zostały również uszkodzone przez jakiekolwiek uszkodzenie metadanych systemu plików. Kontrola dysku nie może tego wykryć; jego jedynym celem jest uniknięcie dalszej korupcji.
KB2854570 wymienia niektóre powody, dla których może się to zdarzyć. Jednym z nich jest hibernacja systemu operacyjnego z zamontowanym woluminem, modyfikowanie zawartości woluminu, a następnie wznawianie z hibernacji z podłączonym woluminem (ponownie). Jeśli to zrobisz, istnieje wysokie prawdopodobieństwo cichego uszkodzenia danych.
Nie wiem, dlaczego twój system plików ext4 sprawdzał się raz w tygodniu, ale prawdopodobnie (prawdopodobnie) nie było to spowodowane porównywalnym kryzysem, który pojawiał się co tydzień. Prawdopodobnie robił to rutynowo, a nie pełna kontrola spójności.
źródło
Ponieważ technologie UNIX / Linux Ext2 / Ext3 / Ext4 nakładają znacznie ciaśniejszy pasek magnetyczny bitów danych w porównaniu z NTFS układającymi bity magnetyczne, podobnie jak spray farby. NTFS potrzebuje regularnego „Defrag”, gdzie jako Ext2 / 3/4 rzadko potrzebuje defrag. To takie proste. Jeśli potrzebujesz czegoś poza dyskiem UNIX / Linux - system operacyjny dokładnie wie, gdzie odbierać sterty mocno namagnesowanych bitów danych, podczas gdy NTFS musi przesuwać się po dyskach, aby je odebrać. System dziennika NTFS działa bardzo dobrze - ale głowy grają w ponga, aby podnieść leżące bity magnetyczne. Podwójny system plików FAT działa dobrze - ale kiedy musisz biegać przez całe piekielne akry, aby zebrać buszle pojedynczych bitów - jest to znacznie szybsze, jeśli nie musisz i możesz zebrać całe ciągi bitów.
źródło