Pliki rozproszone w systemach plików Windows, Linux i MacOS, NTFS, REFS, Ext3, Ext4, BTRFS i APFS

Ten artykuł będzie mówił o plikach rozproszonych (sparse files). Omówimy wady i zalety plików rzadkich, które systemy plików je obsługują. Jak tworzyć lub konwertować je z normalnych plików.

Pliki rozproszone w systemach plików Windows, Linux i MacOS, NTFS, REFS, Ext3, Ext4, BTRFS i APFS

Pliki podzielone na partycje są specjalnymi plikami, które bardziej efektywnie wykorzystują system plików i zapobiegają zajmowaniu przez FS wolnego miejsca na dysku, gdy partycje nie są zapełnione. Oznacza to, że “pusta przestrzeń” będzie używana tylko w razie potrzeby. W bloku metadanych FS zapisywane są puste informacje w postaci zer. Dlatego puste pliki początkowo zajmują mniej miejsca na dysku niż ich rzeczywisty rozmiar.

Rozmiar fizyczny zajmuje mniej miejsca na dysku

Typ ten obsługuje większość systemów plików: BTRFS, NILFS, ZFS, NTFS, ext2, ext3, ext4, XFS, JFS, ReiserFS, Reiser4, UFS, Rock Ridge, UDF, ReFS, APFS, F2FS.

Typ ten obsługuje większość systemów plików: BTRFS, NILFS, ZFS, NTFS, ext2, ext3, ext4, XFS, JFS, ReiserFS, Reiser4, UFS, Rock Ridge, UDF, ReFS, APFS, F2FS.

Wszystkie te FS są w pełni obsługiwane, ale jednocześnie nie zapewniają bezpośredniego dostępu do ich właściwości poprzez ich standardowy interfejs. Możecie zarządzać ich właściwościami tylko za pomocą poleceń wiersza poleceń.

Różnica między plikami skompresowanymi a nielicznymi

Systemy plików, które wymieniłam powyżej również obsługują standardową funkcję kompresji. Obie mają zaletę oszczędzania miejsca na dysku, ale osiągają ten cel na różne sposoby. Główną wadą stosowania kompresji jest to, że może ona zmniejszyć wydajność systemu podczas wykonywania operacji odczytu/zapisu. Ponieważ będzie zużywać dodatkowe zasoby do dekompresji lub kompresji danych. Jednak niektóre programy nie obsługują kompresji.

Zalety i wady

Największą zaletą plików sparse jest to, że użytkownicy mogą tworzyć duże pliki, które zajmują bardzo mało miejsca na dysku. Przestrzeń dyskowa jest automatycznie przydzielana w miarę zapisywania danych. Rozproszone duże pliki mogą być tworzone w stosunkowo krótkim czasie, ponieważ system plików nie musi z góry alokować przestrzeni dyskowej do zapisu zer.

Korzyści są ograniczone tylko przez aplikacje, które je obsługują. Jeśli oprogramowanie nie ma możliwości ich rozpoznania lub wykorzystania, po prostu zachowa je w oryginalnym, nieskompresowanym stanie i nie powinno być z tego żadnych korzyści. Musicie również uważać z nimi, ponieważ plik sparse o rozmiarze zaledwie kilku megabajtów może nagle urosnąć do wielu gigabajtów, gdy nieobsługiwane aplikacje skopiują go do miejsca docelowego.

Kolejną wadą jest to, że nie można skopiować lub utworzyć takiego pliku, jeśli jego nominalny rozmiar przekracza dostępną wolną przestrzeń (lub limity wielkości quota nałożone na konta użytkowników). Na przykład, jeśli oryginalny rozmiar (ze wszystkimi bajtami zerowymi) wynosi 500 MB i istnieje limit kwotowy 400 MB dla konta użytkownika użytego do jego utworzenia. Spowodowałoby to błąd, nawet jeśli rzeczywiste miejsce na dysku, z którego korzysta, wynosi tylko 50 MB.

W odniesieniu do dysków przechowujących te dane, są one również podatne na fragmentację, ponieważ system plików będzie zapisywać dane w nielicznych plikach w razie potrzeby. Z czasem może to prowadzić do obniżenia wydajności. Ponadto niektóre narzędzia do zarządzania dyskami mogą niedokładnie wyświetlać ilość dostępnego wolnego miejsca. Gdy system plików jest prawie pełny, może to prowadzić do nieoczekiwanych rezultatów. Na przykład, błędy “disk full” mogą wystąpić, gdy dane są kopiowane na istniejącą część, która została oznaczona jako sparse.

Utwórzmy plik rozproszony w systemie Windows

Użyjemy do tego wiersza poleceń w systemie Windows. Wpiszcie cmd w polu wyszukiwania i uruchomcie go jako administrator.

W Windows, używamy fsutil (narzędzie systemu plików) do zarządzania tymi danymi. Kiedy wykonujecie create, domyślnie plik jest tworzony jak zwykle. Przejdźcie do folderu, w którym chcecie go utworzyć i wpiszcie:

fsutil file createnew sparse-file 1000000000

Gdzie sparse-file jest nazwą, a na końcu jest jego rozmiar w bajtach.

utwórz

Aby przypisać plik do "sparse", wpiszcie:

fsutil sparse setflag sparse-file

Przypisz atrybut

Aby usunąć tę flagę, wykonajcie następujące polecenie:

fsutil sparse setflag sparse-file 0

Usuń atrybut

Aby ponownie przypisać atrybut:

fsutil sparse setflag sparse-file

Sprawdzamy:

fsutil sparse queryflag sparse-file

Sprawdź atrybuty i właściwości

Sam atrybut nie powoduje jeszcze oszczędności miejsca na dysku. Wymaga to partycjonowania pustego obszaru, który zostanie wewnętrznie zwolniony.

Aby zaznaczyć pusty obszar, wpiszcie:

fsutil sparse setrange sparse-file 0 1000000000

Zaznaczanie pustego obszaru przestrzeni dyskowej

Koniec określa offset i długość, są one podane w bajtach. W moim przypadku jest to od zera do 1GB.

Aby ustawić plik w pełni sparse, podajcie jego pełną pojemność. Jeśli potrzebujecie rozszerzyć plik, możecie ustawić tutaj większą wartość.

Jeśli chcemy się upewnić, że plik posiada ten atrybut, to wykonujemy layout

fsutil file layout sparse-file

Sprawdź atrybuty

Ten atrybut może być ustawiony na dowolny plik. Po prostu uruchomcie polecenie z jego nazwą i ustawcie rozmiar, który chcecie.

We właściwościach wcześniej utworzonego pliku widać, że przy rozmiarze 1GB, plik zajmuje 0 bajtów na dysku.

Ten zestaw poleceń działa na wszystkich systemach plików Windows, które obsługują ten typ danych (NTFS, ReFS, itd.).

Jak utworzyć plik rozproszony w Linuksie

W Linuksie proces tworzenia tego typu danych jest nieco prostszy, ponieważ istnieje kilka poleceń do ich tworzenia. Ten zestaw poleceń może być używany na wszystkich systemach plików Linuksa.

Gdzie można użyć polecenia dd, czyli truncate

Pierwsze polecenie wygląda następująco:

dd if=/dev/zero of=file-sparse bs=1 count=0 seek=2G

Gdzie plik-rozmiar jest nazwą, a jego rozmiar jest podany na końcu, możesz podać w bajtach, megabajtach, itd.

Tworzenie przez terminal Linuksa

Drugie polecenie jest prostsze, ma taką postać:

truncate -s2G file-sparse

Gdzie wartość s określa rozmiar, po którym następuje nazwa.

Drugi sposób na stworzenie przez terminal Linuksa

W porównaniu do Windowsa, w Linuksie, gdy utworzycie taki plik za pomocą jednej z komend, będzie on domyślnie "sparse".

Aby przekonwertować normalny na sparse, istnieje osobne polecenie:

cp --sparse=always ./025.jpg ./0251.jpg

Gdzie 025.jpg jest pierwszą nazwą zwykego.

0251.jpg – i druga nazwa rozproszonego.

Konwertuj istniejący plik na wybrany typ

Jak zwiększyć

Jeśli potrzebujecie powiększyć istniejący plik, użyjcie pierwszej komendy tutaj, zastępując nazwę żądanym rozmiarem

dd if=/dev/zero of=025.jpg bs=1 count=0 seek=2G

To zwiększy jego rozmiar do 2GB.

Enlarge

Aby sprawdzić rozmiar, wykonajmy następujące polecenie:

du -h --apparent-size 025.jpg

Sprawdzanie atrybutów

Rozproszone pliki w ApFS

W rzeczywistości ten zestaw poleceń działa również z systemem plików Apple, ApFS, ponieważ Linux i MacOS korzystają z architektury jądra Uniksa w swoim rdzeniu i oba zapewniają dostęp do poleceń Uniksa i powłoki Bash.

Uruchomcie terminal i uruchomcie dowolne z poleceń, których używałam w Linuksie.

W MacOS Catalina działa tylko pierwsze polecenie i trzeba podać rozmiar w bajtach, w przeciwnym razie polecenie wypisuje błąd.

sudo dd if=/dev/zero of=sparse_APFS bs=1 count=0 seek=1000000000

Tworzenie na macOS Catalina

System plików ApFS tworzy domyślnie pliki sparse, jeśli spełnione są pewne warunki, więc możecie użyć tej komendy do powiększenia dowolnego pliku:

dd if=/dev/zero of=187.jpg bs=1 count=0 seek=500000000000000

Ustawcie rozmiar, na przykład, na 500Mb, więc na MacOS musicie określić rozmiar w bajtach.

Możecie zobaczyć na właściwościach, że jego rozmiar wzrósł do 500Mb.

Odzyskiwanie tych typów danych

Jeśli przypadkowo usuniecie lub sformatujecie ważny dysk z danymi, a on sam stanie się niekompletny? Użyjcie Hetman Partition lub RAID Recovery, aby je przywrócić. Nasz program obsługuje ten typ plików we wszystkich systemach operacyjnych i systemach plików pokazanych w tym filmie. Pobierzcie, zainstalujcie i uruchomcie oprogramowanie, a następnie przeskanujcie nośnik.

Odzyskanie

Jak widać, program łatwo znajduje istniejące i usunięte pliki sparse i wyświetla ich zawartość. Otwierając plik za pomocą edytora HEX, można sprawdzić, czy jest on w całości wypełniony zerami.

Podgląd w edytorze HEX

Program odnalazł skasowane wcześniej dane na dysku z systemami plików NTFS, REFS, BtrFS, Ext3, Ext4 i ApFS. Teraz wystarczy tylko kliknąć przycisk Przywróć.

Odzyskiwanie danych z uszkodzonych macierzy RAID, które nie są dostępne dla komputera.

Po zakończeniu procesu wszystkie potrzebne dane będą znajdować się w podanym folderze. Sprawdźcie właściwości i pliki są w pełni odzyskane.

Wniosek

Zanim użyjecie tej funkcjonalności w jakimkolwiek systemie operacyjnym, ważne jest, abyś zrozumiał za i przeciw. Wiedza na ten temat pozwoli Wam uniknąć potencjalnych problemów w przyszłości.

Oksana Volyniuk

Autor: Oksana Volyniuk, Pisarz techniczny

Oksana Volyniuk jest autorem pracującym w Hetman Software. Ma prawie trzyletnie doświadczenie w zakresie technologii IT, a wcześniej pracowała jako HR menedżer w IT kompanii. Oksana kocha technologię i jest zapalona tworzeniem każdego aktykułu, który może pomóć ludziom. Czytać

Rekomendujemy