Monitorowanie miejsca na dysku

Wieża ciśnień na tle błękitnego nieba

Zapełniony dysk zatrzymuje wszystko naraz: bazę, zapis plików, kopie zapasowe. Ostrzeżenie dzień wcześniej zamienia awarię w drobiazg.

Dwa progi

Ostrzegawczy przy osiemdziesięciu procentach i alarmowy przy dziewięćdziesięciu. Pierwszy daje czas na spokojną reakcję, drugi wymusza natychmiastową.

Przy bardzo dużych dyskach progi procentowe tracą sens — kilka procent to nadal sporo miejsca. Wtedy lepiej ustawić próg na wartości bezwzględnej, czyli na ilości wolnego miejsca potrzebnej na jedną kopię bazy i zapas na dzień pracy.

Próg ustawiony zbyt nisko jest gorszy niż jego brak. Powiadomienie przychodzi wtedy, gdy nie ma już czasu na spokojne działanie, a jedynym wyjściem zostaje kasowanie w pośpiechu — czyli sytuacja, w której najłatwiej usunąć coś potrzebnego.

Tempo przyrostu

Ważniejsze od samej zajętości. Dysk zapełniony w połowie, ale rosnący o procent dziennie, wymaga działania wcześniej niż stabilny na osiemdziesięciu procentach.

Żeby liczyć tempo, trzeba zapisywać pomiary. Wystarczy krótki wpis raz na dobę: data, zasób, zajętość. Z takiego zestawienia widać nie tylko przyrost, ale i moment, w którym się zaczął — a to zwykle wskazuje przyczynę.

Typowi winowajcy

  • dzienniki zdarzeń bez rotacji,
  • kopie zapasowe składowane lokalnie,
  • pliki tymczasowe po przerwanych operacjach,
  • miniatury generowane bez ograniczeń,
  • archiwa poczty.

Do tego dochodzą pliki usunięte, ale nadal trzymane przez działający proces. Zajmują miejsce, choć nie widać ich w katalogach, i zwalniają je dopiero po restarcie usługi. To częsty powód, dla którego skasowanie dużego pliku nic nie zmienia.

Nie tylko przestrzeń

Kończą się też wpisy katalogowe. Miliony małych plików potrafią zablokować zapis przy dysku zapełnionym w połowie.

Objaw jest mylący: system zgłasza brak miejsca, a zestawienie pokazuje wolną przestrzeń. Dlatego kontrola powinna sprawdzać oba zasoby osobno. Podobnie warto pilnować odrębnych obszarów — katalog danych, katalog tymczasowy i katalog kopii bywają na różnych nośnikach i zapełniają się niezależnie.

Zestawienie największych katalogów

Dołączone do powiadomienia oszczędza pierwszych minut szukania. Skrypt powinien podawać nie tylko fakt, ale i prawdopodobną przyczynę.

Najbardziej przydatne jest porównanie: które katalogi urosły od poprzedniego pomiaru. Sama lista największych pokazuje stan trwały, a szuka się zmiany. Zasady doboru treści i częstotliwości takich wiadomości opisuje tekst o powiadomieniach z serwera.

Rotacja dzienników

Ustawiona zawczasu rozwiązuje najczęstszą przyczynę zapełnienia raz na zawsze.

Rotacja obejmuje trzy rzeczy: podział pliku po osiągnięciu rozmiaru lub okresu, spakowanie starszych części i usunięcie najstarszych. Trzeba przy tym pamiętać o dziennikach aplikacji, które nie trafiają do systemowego mechanizmu — one rosną dalej, bo nikt ich nie objął ustawieniem. Co w nich zapisywać, opisuje tekst o dziennikach zdarzeń i ich przeglądzie. Sprzątanie pozostałych katalogów to osobne zadanie i osobny skrypt.