Posiadasz system plików VZFS, co oznacza, że twój VPS jest maszyną wirtualną Parallels Virtuozzo. W Virtuozzo dostawca hostingu może ustawić limity dla wielu parametrów, w tym przydziałów, jakie otrzymujesz dzięki VZFS.
Przyczyna: Brak węzłów (najczęściej)
Po latach pracy z setkami klientów Virtuozzo VPS, którzy mieli problem z tworzeniem plików, mimo że wydawało się, że jest dużo wolnego miejsca, zdecydowana większość z nich osiągnęła limit i-węzłów. Uruchom to polecenie, aby zobaczyć przydział i-węzłów ( Inodes
), używane i-węzły ( IUsed
), pozostałe i-węzły ( IFree
) oraz procent używanych i-węzłów ( IUse%
):
df -i
Posiadanie 100% użycia i-węzła zdarza się często. Najczęstsze przyczyny mojego doświadczenia:
- Odbicia zwrotne wiadomości e-mail
- Wychodzące wiadomości e-mail będące spamem w kolejce
- Przechowywanych jest wiele przychodzących wiadomości e-mail
- Niektórzy użytkownicy ustawiają swoje czyszczenie pamięci sesji PHP
session.gc_maxlifetime
na ponad sto lat
- Zbyt wiele ogólnych plików pamięci podręcznej
- Pamięć podręczna obiektów włączona we wtyczce WordPress W3 Total Cache
- Dziennik błędów Magento (dla każdego błędu generowany jest nowy plik)
- Inne źle skonfigurowane lub źle zaprojektowane programy / skrypty, które tworzą kilka plików i zapominają je usunąć
Rozwiązywanie problemów
Jeśli stwierdzisz, że masz mało lub brakuje i-węzłów, ale nie wiesz, gdzie jest większość z nich, mam ten linijkę Bash, która przeszukuje bieżący katalog i zlicza i-węzły na głębokości folderu 1:
for i in $(find $(pwd) -maxdepth 1 -type d | sort); do echo -e "$(find "$i" | wc -l)\t: $(readlink -f "$i")"; done | sort -nr
Możesz ciągle zmieniać bieżący katalog roboczy, poczynając od, /
aż znajdziesz winowajcę, który zużyje alokację węzła.
Wyjaśnienie
Twój VPS działa na systemie plików VZFS, który jest częścią Parallels Virtuozzo (nie OpenVZ, który jest podobny i oparty na tej samej technologii, ale OpenVZ nie używałby VZFS).
Ze względu na sposób, w jaki Virtuozzo przechowuje pliki w VZFS, i-węzły są często bardziej ograniczone niż w innych systemach plików, takich jak ext4 lub XFS. Host śledzi wszystkie te pliki i byłoby korzystne dla dostawcy hostingu, aby nie pozwolić, aby pojedynczy VPS zajął setki milionów i-węzłów. W rezultacie dostawca hostingu może ustawić niski limit i-węzłów, na przykład 1 000 000 i-węzłów.
Po latach pracy z setkami klientów, którzy wyczerpali przydział i-węzłów na Virtuozzo, te „tajemnicze” problemy z przydziałem dysku już mnie nie zaskakują.
Przyczyna: Inne granice wirtuozzo
Bardzo mały odsetek klientów Virtuozzo VPS, z którymi współpracowałem, miał problemy z systemem plików, ponieważ przekroczyły inne granice. Za pomocą tego polecenia możesz zobaczyć niektóre (ale nie wszystkie) ograniczenia:
cat /proc/user_beancounters
Rozwiązywanie problemów
Jeśli failcnt
kolumna ma wartość większą niż 0 lub held
wartość kolumny jest równa odpowiedniej limit
wartości, osiągnąłeś limit.
Możesz sprawdzić, jaki jest każdy parametr na wiki OpenVZ tutaj . Parametr może być „pierwotny”, „wtórny” lub „pomocniczy”.
Skontaktuj się z dostawcą usług hostingowych, aby uzyskać dalszą pomoc, jeśli okaże się, że nie możesz zmniejszyć held
liczby limitu osiągniętego przez VPS.
Ta odpowiedź może zostać znacznie rozszerzona w zależności od tego, która fasola została maksymalnie zwiększona, ponieważ różne limity osiągane powodują różne objawy.
Przyczyna: Zmniejszono limit (y) po trafieniu
Jeśli chodzi o, /proc/user_beancounters
lub df -i
czasami administrator systemu Virtuozzo, może zmniejszyć limit
parametr poniżej held
wartości.
Na przykład, jeśli pierwotny limit diskinodes
parametru wynosił 1 500 000 i osiągnąłeś limit, to ktoś u twojego dostawcy hosta ustawił limit twojego i-węzła na 1 000 000, zobaczyłbyś dziwny raport z df -i
i- węzła, który nie ma sensu.
Na twoim końcu możesz zobaczyć nieuzasadnioną liczbę, na przykład 18 446,744,069,620,218,961 .
Uważam to za złowrogie zachowanie dostawcy usług hostingowych, zwłaszcza jeśli nie informują o tym, ponieważ niezwykłe wartości, które widzisz, są sprzeczne z wiedzą superużytkowników, którzy nie mają doświadczenia z Virtuozzo / OpenVZ, co prowadzi do wprowadzających w błąd rada ( przykład , inny przykład ).
Rozwiązywanie problemów
Skontaktuj się z dostawcą usług hostingowych. Pokaż im, co znalazłeś, i współpracuj z nimi, aby utrzymać trzymaną fasolę poniżej limitu.
Jeśli odmówią ci pomocy, porzuć swojego dostawcę usług hostingowych i znajdź innego, który nie korzysta z wirtualizacji Virtuozzo / OpenVZ. Wirtualizacja KVM, wirtualizacja VMware, wirtualizacja Xen lub serwery bez systemu operacyjnego podlegałyby znacznie mniejszym ograniczeniom niż Virtuozzo / OpenVZ.
Wyjaśnienie
Twój dostawca hostingu mógł kontrolować lub odpowiadać na alert i stwierdził, że Twój VPS zużywał zbyt wiele określonego zasobu (prawie zawsze limit i-węzłów, który jest diskinodes
parametrem na ich końcu).
Niedoświadczony administrator Virtuozzo u dostawcy hostingu wierzy, że może poradzić sobie z tym problemem, zmniejszając limit do poziomu niższego niż faktyczne zużycie zasobów. W przypadku i-węzłów możesz mieć mniejszy przydział, na przykład 1 000 000, nawet jeśli twoje aktualne użycie może być wyższe, na przykład 1 500 000.
Administrator Virtuozzo w swoim panelu sterowania zobaczyłby twoje aktualne użycie i nowy limit, ale zobaczyłbyś fałszywe liczby, które są prawdopodobnie bardzo nieuzasadnione wysokie ze względu na sposób wirtualizacji Virtuozzo.
Niedbały administrator Virtuozzo nie poinformuje cię o tej zmianie, dlatego powinieneś skontaktować się z dostawcą usług hostingowych, jeśli tak się stanie.