Rozumiem, że domyślnie nowo utworzone systemy plików zostaną utworzone z 5% miejsca przeznaczonego na root. Wiem też, że możesz zmienić zdefiniowaną przestrzeń za pomocą:
tune2fs -m 1 /dev/sdXY
Jestem jednak ciekawy, jaki jest rzeczywisty cel tej zarezerwowanej przestrzeni. Czy ma jakiś praktyczny cel, który w pewnych okolicznościach zasługiwałby na więcej niż 5% miejsca?
Powodem, dla którego natknąłem się na to pytanie, jest to, że niedawno zbudowaliśmy magazyn plików o pojemności 1 TB i nie mogłem zrozumieć, dlaczego df-h pozostawił nam brak 5% naszej pojemności.
filesystems
root
disk-usage
suitedupgeek
źródło
źródło
Odpowiedzi:
Jednym z powodów jest oszczędność miejsca na ważne procesy root (i możliwe akcje ratunkowe).
Ale jest jeszcze jeden. Ext3 jest całkiem dobry w unikaniu fragmentacji systemu plików, ale gdy osiągniesz poziom około 95%, zachowanie to spada z krawędzi i nagle wydajność systemu plików staje się bałaganem. Więc pozostawienie 5% rezerwy daje bufor przeciwko temu.
Ext4 powinien być w tym lepszy, jak wyjaśnił twórca systemu plików Linux / guru Theodore Ts'o :
źródło
Jeśli pozwalasz innym na logowanie się do twojego systemu, na przykład przez ssh, zarezerwowanie tych 5% bloków gwarantuje, że użytkownicy zewnętrzni nie będą mogli zapełnić dysku. Nawet jeśli nie pozwalasz innym na logowanie się do twojego systemu, zarezerwowane bloki zapobiegają zapełnianiu dysku przez programy nie działające jako root.
źródło
Z zastrzeżonymi blokami użytkownicy i usługi działające jako konkretni użytkownicy, a nie jako root, nie mogą wypełnić zestawu plików i potencjalnie uszkodzić innych rzeczy, które należy zapisać w tym systemie plików - chociaż usługi działające jako root nadal mogą go całkowicie zakończyć pełne oczywiście.
Daje to również trochę miejsca do pracy, gdy użytkownicy narzekają, że dysk jest pełny lub usługi zaczynają ulegać awarii, ponieważ system plików jest pełny. Na przykład możesz zarchiwizować niektóre pliki w archiwach zip / gz / 7zip przed ich usunięciem (chociaż jeśli system plików byłby całkowicie pełny, istnieje szansa, że masz inny system plików, w którym możesz zamiast tego utworzyć plik archiwum).
5% było ustawieniem domyślnym od dawna , od czasów, gdy dyski były znacznie mniejsze (dziesiątki megabajtów niż setki gigabajtów), więc 5% nie było aż tak dużo. Na szczęście można go łatwo dostrojony do mniejszego odsetka jak mówisz, lub ustawione na określoną liczbę bloków, jeśli używasz
tune2fs
„s-r
opcję zamiast-m
. W obu przypadkach można podać parametr 0, aby wyłączyć rezerwację całkowicie wyłączony - nie byłoby to zrobić za/
,/tmp
,/var
i tak dalej, ale warto dla systemu plików, który tylko działa jako pamięć użytkownika (słownie globalną Plik- udostępnij) lub taki, który po prostu przechowuje pliki o stałym rozmiarze (takie jak maszyny wirtualne o stałym rozmiarze), które będą rosły dopiero po utworzeniu nowego.źródło
Domyślnie 5% jest przeznaczone dla partycji systemowych. Na przykład, jeśli miejsce na dysku zapełni się, dzienniki systemowe (
/var/log
) i skrzynka pocztowa root (/var/mail/root
) nadal mogą otrzymywać ważne informacje. W przypadku/home
ogólnej partycji do przechowywania danych nie ma potrzeby zostawiać miejsca dla roota. Na specjalne potrzeby możesz zmienić użytkownika, który otrzymuje przestrzeń awaryjną (tune2fs -u 1234
).Jest jeszcze jeden powód, aby nie dopuścić do zapełnienia systemu plików ext [234], którym jest fragmentacja .
źródło