Dlaczego NAS zgłasza wolne miejsce, ale odrzuca nowe duże pliki?

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

NAS może wyświetlać wolne miejsce, a mimo to odrzucać duży plik, gdy wyczerpany zostanie limit docelowy, metadane, limit plików lub możliwość zapisu.

Panel może raportować miejsce dostępne w całej puli, podczas gdy udział należy do mniejszego zbioru danych, woluminu cienkiego, limitu użytkownika, zarezerwowanego systemu plików lub niemal wyczerpanego profilu metadanych. Przesłanie dużego pliku może również wymagać miejsca tymczasowego, drugiej kopii albo obsługi przez docelowy system plików rozmiaru pojedynczego pliku. Zacznij od dokładnej ścieżki, na której występuje błąd, oraz kodu błędu, zamiast zakładać, że ogólna informacja o wolnym miejscu opisuje tę operację.

Ustal, z którego systemu plików i limitu faktycznie korzysta udział

Powiąż udział SMB lub udział aplikacji z jego ścieżką na hoście, punktem montowania, zbiorem danych, podwoluminem, woluminem cienkim i bazową pulą. Zapisz liczbę wolnych bloków, wolnych i-węzłów, tożsamość użytkownika oraz rozmiar odrzuconego pliku.

Dokumentacja GNU wyjaśnia, że polecenie df raportuje zamontowany system plików powiązany ze ścieżką, a nie każdą pulę, limit, migawkę ani ograniczenie aplikacji znajdujące się powyżej lub poniżej tego poziomu.

Jeśli udział zapisuje dane na partycji systemowej lub w mniejszym zamontowanym zbiorze danych, wolne miejsce w całej puli nie ma znaczenia. Skoryguj ścieżkę lub montowanie, zanim usuniesz dane z niewłaściwej warstwy pamięci masowej.

Sprawdź limity użytkownika, grupy, zbioru danych i udziału

Porównaj widok wolnego miejsca administratora z limitem zastosowanym do konkretnego użytkownika SMB, grupy, zbioru danych, projektu lub folderu udostępnionego. Przeprowadź test przy użyciu tego samego konta, które otrzymuje błąd.

Firma Oracle dokumentuje, że limity i rezerwacje ZFS mogą ograniczać jeden zbiór danych, nawet gdy w puli pozostaje niewykorzystane miejsce, albo rezerwować dostępną pojemność dla innego zbioru danych.

Nie usuwaj limitów globalnie. Zwiększ tylko potwierdzone ograniczenie albo przenieś plik do zbioru danych, którego zasady pojemności odpowiadają danemu obciążeniu.

Porównaj miejsce na dane z metadanymi i przestrzenią roboczą alokacji

Sprawdź dane, metadane, alokację systemową, grupy bloków oraz liczniki rezerwacji właściwe dla systemu plików. Utworzenie dużego pliku może wymagać aktualizacji metadanych i przestrzeni roboczej kopiowania przy zapisie oprócz miejsca na same dane.

Dokumentacja Btrfs wskazuje, że system może zwrócić ENOSPC mimo widocznego wolnego miejsca, gdy nie można spełnić wymagań alokacji i kopiowania przy zapisie.

Jeśli ilość metadanych jest ograniczona, użyj obsługiwanych narzędzi diagnostycznych systemu plików i podejmij ściśle określone działania naprawcze. Nie zapełniaj pozostałego miejsca kolejnym dużym plikiem testowym ani nie uruchamiaj niezawężonego równoważenia bez zmierzenia dostępnej przestrzeni roboczej.

-15% OFF

Sprawdź i-węzły i limity rekordów plików

Zapisz liczbę wolnych i-węzłów lub rekordów plików i policz małe pliki w pamięciach podręcznych, magazynach poczty, miniaturach, rozpakowanych pakietach i katalogach aplikacji. Duża pojemność w bajtach nie gwarantuje możliwości przydzielenia kolejnego wpisu katalogu ani rekordu metadanych.

Przegląd systemów plików firmy Red Hat wyjaśnia, że XFS dynamicznie przydziela i-węzły, a implementacje systemów plików mają różne limity i-węzłów i rekordów plików.

Jeśli i-węzły są wyczerpane, usuń lub zarchiwizuj sprawdzoną pamięć podręczną zawierającą dużą liczbę plików, korzystając z aplikacji, która jest za nią odpowiedzialna. Usunięcie jednego dużego pliku nie rozwiąże problemu braku rekordów plików.

Zweryfikuj maksymalny rozmiar pliku i format miejsca docelowego

Ustal docelowy system plików i porównaj maksymalny rozmiar pojedynczego pliku z rozmiarem przesyłanego pliku. Uwzględnij wymienne dyski tymczasowe, miejsca docelowe kopii zapasowych USB oraz foldery tymczasowe aplikacji.

Przegląd systemu NTFS firmy Microsoft pokazuje, że maksymalny rozmiar pliku zależy od konstrukcji systemu plików i parametrów alokacji, dlatego zagregowane wolne miejsce nie znosi limitu pojedynczego pliku wynikającego z formatu.

Jeśli błąd występuje w pobliżu stałej granicy, na przykład 4 GB, sprawdź każdy pośredni system plików i element ścieżki przesyłania. Formatowanie usuwa dane, dlatego przed zmianą formatu miejsca docelowego przenieś zweryfikowane pliki w inne miejsce.

Zmierz wymagania dotyczące miejsca tymczasowego, plików rzadkich i wstępnej alokacji

Sprawdź, czy program przesyłający zapisuje plik tymczasowy, wstępnie przydziela całą przestrzeń docelową, zachowuje starą wersję do czasu zmiany nazwy albo rozpakowuje archiwum do dodatkowych plików. Zapisz szczytowe zapotrzebowanie na miejsce, a nie tylko końcowy rozmiar pliku.

Wywołanie systemowe fallocate rezerwuje miejsce na dysku, aby późniejsze zapisy nie kończyły się błędem z powodu braku pojemności. Oznacza to, że aplikacja może odrzucić duży plik przed przesłaniem wszystkich jego danych.

Wybierz katalog tymczasowy w zamierzonej puli danych albo wyłącz wstępną alokację tylko wtedy, gdy aplikacja obsługuje to bezpiecznie. Podczas zastępowania pliku pozostaw wystarczający zapas na oryginał, kopię tymczasową, metadane i migawki.

Odtwórz dokładny błąd przy użyciu kontrolowanego pliku

Utwórz pliki testowe o rozmiarze mniejszym i większym od rozmiaru powodującego błąd, używając tego samego użytkownika, protokołu, ścieżki i aplikacji. Zarejestruj błąd klienta i dziennik serwera, nie ponawiając wielokrotnie próby przesłania pliku produkcyjnego.

Poradnik ZimaSpace dotyczący znajdowania nieoczekiwanego zużycia miejsca na NAS przedstawia uzupełniającą metodę uzgadniania widocznych folderów z rzeczywistą alokacją systemu plików.

Problem jest rozwiązany, gdy potwierdzony limit dotyczący miejsca, metadanych, i-węzłów, formatu lub przestrzeni tymczasowej zostanie skorygowany, a plik większy od wcześniejszego rozmiaru granicznego zostanie zapisany, zamknięty, ponownie otwarty i pomyślnie zweryfikowany. Wstrzymaj zapisy, jeśli system plików przejdzie w tryb tylko do odczytu albo zgłosi uszkodzenie lub błędy sprzętowe.

Wsparcie i wskazówki

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.