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.
- Różnica między plikami skompresowanymi a nielicznymi
- Zalety i wady
- Utwórzmy plik rozproszony w systemie Windows
- Jak utworzyć plik rozproszony w Linuksie
- Jak zwiększyć
- Rozproszone pliki w ApFS
- Odzyskiwanie tych typów danych
- Wniosek
- Pytania i odpowiedzi
- Komentarze
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.
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.
Zalety | Wady |
---|---|
Efektywne wykorzystanie przestrzeni dyskowej, ponieważ pliki zajmują tylko faktycznie używane bloki | Możliwa utrata danych, jeśli dysk zostanie zapełniony, ponieważ plik może zostać zapisany częściowo |
Zwiększona prędkość tworzenia dużych plików | Nie wszystkie systemy plików obsługują pliki rzadkie |
Oszczędność miejsca podczas pracy z kopiami zapasowymi i dużymi plikami | Używanie plików rzadkich może prowadzić do fragmentacji danych na dysku |
Możliwość szybkiego tworzenia i przydzielania dużej ilości miejsca na dysku | Monitorowanie rzeczywistego zużycia przestrzeni dyskowej może być bardziej skomplikowane |
Obsługiwane przez wiele systemów operacyjnych i platform wirtualizacyjnych | Wymaga dokładniejszego zarządzania przestrzenią dyskową, aby uniknąć problemów |
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.
Aby przypisać plik do "sparse", wpiszcie:
fsutil sparse setflag sparse-file
Aby usunąć tę flagę, wykonajcie następujące polecenie:
fsutil sparse setflag sparse-file 0
Aby ponownie przypisać atrybut:
fsutil sparse setflag sparse-file
Sprawdzamy:
fsutil sparse queryflag sparse-file
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
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
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.
Drugie polecenie jest prostsze, ma taką postać:
truncate -s2G file-sparse
Gdzie wartość s określa rozmiar, po którym następuje nazwa.
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.
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.
Aby sprawdzić rozmiar, wykonajmy następujące polecenie:
du -h --apparent-size 025.jpg
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
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.
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.
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óć.
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.