Jaka jest maksymalna liczba plików, które może zawierać system plików?

34

Biorąc pod uwagę obecną strukturę pozycji katalogu w systemie plików ext4 w systemie Ubuntu, jaka jest maksymalna liczba plików, które system plików może zawierać?

Jaka jest ogólna metoda obliczania maksymalnej liczby plików, które może zawierać system plików?


źródło

Odpowiedzi:

37

Teoretyczny limit Ext4 wynosi 4 miliardy plików, co jest ograniczone rozmiarem liczby i-węzłów używanych do identyfikacji każdego pliku (ext4 używa 32-bitowych liczb i-węzłów). Jednak, jak mówi John, ext4 przydziela tabele i-węzłów statycznie, więc rzeczywisty limit jest ustalany podczas tworzenia systemu plików.

Polecenie df pokazuje liczbę wolnych i-węzłów w systemie plików:

$ df -i

Filesystem        iused     ifree  %iused  Mounted on
/dev/disk0s3   55253386  66810480    45%   /
/dev/disk1s3   55258045  66805821    45%   /Volumes/Clone

Ext4 obsługuje także nieograniczoną liczbę podkatalogów na katalog, choć domyślnie może mieć limit 64 000. Jest to konfigurowalne - zobacz artykuł ext4 na Kernel Newbies .

Aby uzyskać więcej informacji, zobacz Nowy system plików ext4: obecny stan i plany na przyszłość z sympozjum Linux 2007.


źródło
9

Nie ma jednego per se; to zależy. Podczas tworzenia systemu plików ext4 decydujesz o wielkości tabeli i-węzłów , która z kolei reguluje całkowitą liczbę katalogów lub plików, które system plików może przechowywać jednocześnie.

John Feminella
źródło
8
możesz uruchomić tune2fs -l /path/to/devicei poszukać wartości liczby i-węzłów, aby dowiedzieć się, jaki jest limit dla danego systemu plików
1
Czy możemy zwiększyć liczbę i-węzłów? O ile mi wiadomo, i-węzły są przechowywane jako lista połączona, więc to tak, jakby dodać więcej węzłów do listy połączonej. Myślę, że pytanie sprowadza się do maksymalnej długości połączonej listy?
4
W ext4 tablica i-węzłów jest przydzielana statycznie podczas tworzenia systemu plików. Jedynym sposobem na jego zwiększenie jest odtworzenie systemu plików. Opcje -N lub -i służą do ustawienia liczby utworzonych i-węzłów.
1
Warto również zauważyć, że katalogi są plikami i muszą być liczone jako takie.
dmckee,
1
Podobnie jak dowiązania symboliczne. Nie jestem pewien, czy liczą się urządzenia, FIFO i gniazda.
ephemient
1

Nie Ubuntu, ale w Redhat Linux podstawowe komendy, takie jak find, kończą się błędem „Błąd zbyt wielu argumentów”, gdy są uruchamiane w katalogu zawierającym 3 miliony plików. ls działa pomyślnie, jeśli nie są uwzględnione żadne parametry, ale kończy się niepowodzeniem z tym samym błędem, gdy tylko zostaną dodane parametry filtra.

Zakładając, że niezawodność takich podstawowych poleceń jest obowiązkowym wymogiem, sugerowałbym, że 3 miliony plików to zbyt wiele.

John Hadaway
źródło
3
Nie jest to jednak ograniczenie systemu plików.
user9517 obsługuje GoFundMonica
1
Słuszna uwaga! FS może to wspierać, ale narzędzia będą miały coraz większe trudności z radzeniem sobie z tym.
Csaba Toth