У вас є файлова система VZFS, що означає, що ваш VPS є віртуальною машиною Parallels Virtuozzo. У Virtuozzo хостинг-провайдер може встановити обмеження для багатьох параметрів, включаючи, які розподіли ви отримаєте за допомогою VZFS.
Причина: Поза введення (найчастіше)
Після багатьох років роботи з сотнями клієнтів Virtuozzo VPS, у яких виникло питання про неможливість створення файлів, навіть незважаючи на те, що вільного місця виявилося достатньо, переважна більшість з них досягла межі їх введення. Виконайте цю команду, щоб побачити розподіл inode ( Inodes
), використані inode ( IUsed
), залишки inodes ( IFree
) та відсоток використаних inodes ( IUse%
):
df -i
Маючи 100% використання індексу, трапляється багато. Найпоширеніші причини мого досвіду:
- Відмови від спаму
- Вихідні спам-листи в черзі
- Зберігається багато вхідних електронних листів
- Деякі користувачі встановлюють свій збір сміття на сесії PHP (
session.gc_maxlifetime
) понад сто років
- Шлях занадто багато загальних файлів кешу
- Об'єкт кеш увімкнено в плагіні WordPress W3 Total Cache
- Журнал помилок Magento (для кожної помилки створюється новий файл)
- Інші погано налаштовані або погано розроблені програми / сценарії, які створюють купу файлів і забувають їх видалити
Вирішення проблем
Якщо ви виявите, що у вас мало вмісту або не маєте внесків, але не знаєте, де більшість з них є, у мене є цей однофайлер Bash, який здійснює пошук у поточному каталозі та підраховує вставки на глибині папки 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
Ви можете продовжувати змінювати поточний робочий каталог, починаючи з /
тих пір, поки не знайдете винуватця, використовуючи свій розподіл inode.
Пояснення
Ваш VPS знаходиться у файловій системі VZFS, яка є частиною Parallels Virtuozzo (не OpenVZ, яка схожа і заснована на тій же технології, але OpenVZ не використовує VZFS).
Завдяки тому, як Virtuozzo зберігає файли у VZFS, введення часто обмежується більше, ніж це було б в інших файлових системах, таких як ext4 або XFS. Хост відстежує всі ці файли, і хостинг-провайдеру було б вигідно не дозволити жодному VPS займати сотні мільйонів вкладень. Як результат, хостинг-провайдер може встановити ліміт введення як низький, як 1 000 000 входів.
Після багатьох років роботи з сотнями клієнтів, які вичерпали свій розподіл inode на Virtuozzo, ці "таємничі" дискові квотні проблеми мене вже не дивують.
Причина: інші обмеження віртуозо
Дуже невеликий відсоток клієнтів Virtuozzo VPS, з якими я працював, мали проблеми з файловою системою, оскільки вони досягли інших обмежень. Ви можете побачити деякі (але не всі) обмеження за допомогою цієї команди:
cat /proc/user_beancounters
Вирішення проблем
Якщо failcnt
стовпець має значення більше 0 або held
значення стовпця дорівнює відповідному limit
значенню, ви досягли межі.
Ви можете дізнатися, який параметр є у вікі OpenVZ тут . Параметр може бути "первинним", "вторинним" або "допоміжним".
Щоб отримати додаткову допомогу, зверніться до свого постачальника хостингу, якщо виявите, що не можете зменшити held
кількість лімітів, досягнутих вашим VPS.
Цю відповідь можна значно розширити залежно від того, які боби були помічені, оскільки різні межі, що досягаються, викликають різні симптоми.
Причина: Зниження ліміту після потрапляння
Стосовно /proc/user_beancounters
або df -i
, іноді, системний адміністратор Virtuozzo може зменшити значення limit
параметра нижче held
значення.
Наприклад, якщо початковий ліміт diskinodes
параметра становив 1 500 000, і ви досягли ліміту, то хтось у вашого постачальника хостингу встановить ваш ліміт inode до 1 000 000, ви побачите химерний звіт про введення df -i
цього сенсу.
Зрештою, ви могли побачити нерозумно велику кількість, наприклад 18,446,744,069,620,218,961 .
Я вважаю це зловісною поведінкою постачальника хостингу, особливо якщо вони не повідомляють вас, оскільки незвичайні значення, які ви бачите, суперечать знанням супер користувачів, які не мають досвіду роботи з Virtuozzo / OpenVZ, що призводить до введення в оману порада ( приклад , інший приклад ).
Вирішення проблем
Зверніться до свого постачальника хостингу. Покажіть їм, що ви знайшли, і попрацюйте з ними, щоб ваші затримані боби були нижче межі.
Якщо вони відмовляться вам допомогти, відмовтеся від свого постачальника хостінгу і знайдіть іншого, який не використовує віртуалізацію Virtuozzo / OpenVZ. Віртуалізація KVM, віртуалізація VMware, віртуалізація Xen або голі металеві сервери підлягають набагато меншим обмеженням, ніж Virtuozzo / OpenVZ.
Пояснення
Ваш хостинг-провайдер, можливо, проводив аудит або відповідав на попередження і виявив, що ваш VPS використовує занадто багато певного ресурсу (майже завжди обмеження введення, що є diskinodes
параметром на їх кінці).
Недосвідчений адміністратор Virtuozzo від постачальника послуг хостингу вважає, що вони можуть вирішити проблему, зменшивши ліміт на щось нижче, ніж фактичне використання ресурсів. У випадку з індексами у вас може бути нижчий розмір, наприклад, 1 000 000, навіть якщо фактичне поточне використання може бути більшим, наприклад, 1 500 000.
Адміністратор Virtuozzo на їх панелі керування побачить ваше фактичне використання та новий ліміт, але ви побачите фіктивне число, яке, можливо, дуже необґрунтовано велике через спосіб віртуалізації Virtuozzo.
Недбалий адміністратор Virtuozzo не повідомив би вас про цю зміну, тому вам слід звернутися до свого постачальника хостингу, якщо це трапиться з вами.