Наличие свободного места

Наличие свободного места

от Yury Soloviev -
Количество ответов: 17

Добрый день!

В последнее время сталкиваюсь с получением сообщений о нехватке свободного места. В частности сегодня сообщение такое:

"Невозможно создать файл локального пула файлов, пожалуйста, проверьте разрешения в DataRoot и наличие свободного места на диске."

На выделенном сервере места диске составляет 90 Гб, мудл занимает около 9 гб (7 гб папка DATA, 500 мб сам сайт, плюс около 800 мб sql. Ну сам сервер, понятное дело тоже что-то ест. Но все равно, явно где-то нестыковка.

Пока не могу решить этот вопрос. Есть подозрение, что проблема в использовании пакетов SCORM, которые возможно где-то хранятся в виде архивов ZIP (?). Мы часто их перезаливаем и их достаточно много, около 200 штук. Если сложить весь объем пакетов, он не превышает 2Гб. Но мы их меняем почти ежемесячно. За пару лет могли убить свободное место. Почему так думаю - ранее, на другом сервере была подобная проблема, но система была не мудл.

Логи, бэкапы чистили.

Могли бы помочь с идеями? Я хочу понять откуда "растут ноги". Спасибо.

В ответ на Yury Soloviev

Re: Наличие свободного места

от Yury Soloviev -
Извините, перепутал с размером базы, затесался лишний нолик. База около 80 Мб.

Пока разбирался, наткнулся на одну странную папку: filedir, в корне Data. В ней - 256 папок, в каждой из папок еще по 100 папок, итого всего 31 986 папок, в которых 7958 файлов. Максимальный файл 1.3 Гб, но большинство мелкие. Вся эта мутотень занимает 5 Гб из 7 Гб папки Data. Зачем они? Файлы без расширений, название типа такого: 23a0c490ec71d5fe50b619852d5ce4de44369ffe.

Сервер отказывается загружать новый файлы, говорит нет места. Хотя место явно есть. Посоветуйте, что это может быть?
В ответ на Yury Soloviev

Re: Наличие свободного места

от Vadim Tabunshchik -
Изображение пользователя Developers
В этом же каталоге filedir есть ещё текстовый файл warning.txt, проочтите, что в нем написано, тогда поймете, что хранится в каталоге. улыбаюсь
Как и где хранятся файлы в Мудл с версии 2.0 на форуме много раз обсуждалось, например, тут: https://moodle.org/mod/forum/discuss.php?d=209919#p915181, только с поправкой - кеш считается не в MD5, а SHA1
В ответ на Vadim Tabunshchik

Re: Наличие свободного места

от Yury Soloviev -
Здравствуйте, Вадим!
Спасибо за ответ. Да, warning.txt прочитал. Вопрос, про файл, который я нашел размером 1.3 гб. Мы таких больших файлов не загружали. Так как сайт отказывался загружать хоть что-то, я сохранил этот большой файл на свой ПК и удалил его с сайта. После этого ошибка о нехватке места пропала (что логично). Все по прежнему работает, курсы тоже на месте. Что это за такой огромный файл, почему он такой большой и на что может повлиять его удаление, если видимых ухудшений в работе сайта нет?

Ссылку, где хранятся файлы мудл посмотрел. В этой связи у меня такой вопрос. Правильно ли я понимаю, что структура сайта - это две основные директории: Data и Htdocs, а также база SQL? Это всё? Остальное это файлы сервера? Я создал бэкап двух папок и базы вчера, архив не превысил 9 Гб. Сервер у нас Убунту, Это еще гига 3-4. Куда могло деться место 90Гб? Может Мудл плодить какие-то временные файлы, архивы и прочее и сохранять их в других местах, не в папке Data и htdocs? Или тупо разбираться с сервером и Мудл тут не причем?
В ответ на Yury Soloviev

Re: Наличие свободного места

от Vadim Tabunshchik -
Изображение пользователя Developers

Выполните запрос к базе данных:

SELECT * FROM mdl_files f WHERE f.contenthash = "название_типа_такого" файла размером 1.3 Гб

Из результатов запроса вы узнаете, что это за файл (тип, имя, размер), кто и когда его загружал в Мудл. И куда загружал.

После удаления файла курсы никуда и не денутся, просто не будет работать ссылка на этот файл, если где-то используется, будет недоступен ресурс и т. д. и т. п.

Мудл - это каталог самого сайта, каталог moodledata с файлами курсов/пользователей и др. нужными и не очень папками, и база данных.

Куда у вас девается место, я не знаю, файловая структура вашего сервера мне неизвестна.

Никаких других каталогов Мудл не использует, а вот веб-сервер - может. Всё зависит от настроек ПО.

В ответ на Vadim Tabunshchik

Re: Наличие свободного места

от Yury Soloviev -
Спасибо за ответ.
Можно уточняющий вопрос. Этот файл 1.3 Гб - это может быть совокупность двух, трех и более файлов/пакетов/изображений/видео.... ??? Т.е. если бы кто-то загрузил один файл, потом второй, могли бы эти два файла сохраниться в этом одном файле? Или это обязательно должна быть одна загрузка только одного файла?
В ответ на Yury Soloviev

Re: Наличие свободного места

от Vadim Tabunshchik -
Изображение пользователя Developers
В ответ на Vadim Tabunshchik

Re: Наличие свободного места

от Yury Soloviev -
Спасибо. Спасибо. Спасибо.
Ну тогда мне не о чем волноваться. Мы отродясь файлы такого размера не заливали. Максимум, 50 Мб.
Откуда же тогда они берутся такие файлы? Если эти файлы появляются только, когда кто-то что-то закачивает на сайт... Причем дата достаточно свежая, октябрь 2019 года.... Враги? Не понимаю. Пойдем менять пароли, явки, что-ли.

P.S. Уже написав пост, перечитал переписку. Оказалось пропустил совет про запрос в базу данных. Проверил - оказалось этот файл - созданный мудлом бэкап одного курса. Ну, теперь жить стало веселее. Еще раз благодарю за советы.
В ответ на Vadim Tabunshchik

Re: Наличие свободного места

от Yury Soloviev -

Еще раз приветствую всех и Вас, Вадим. Вы дали хороший совет в прошлый раз. И у меня вопрос по этой же теме. Мы полгода боролись с проблемой, пока наконец выяснили, что место за сервере забивается некой папкой .git/objects

В папке objects очень похожая структура файлов и папку на папку DATA. Тоже много папок и в каждой папке много-много файлов.

Эта папка не находится в папке с файлами мудл. Вот такая структура:

Файлы Мудл: /var/................../sdo/www/htdocs

Файлы DATA: /var/................../sdo/www/data

Папка objects: /var/................../sdo/.git/objects

В базе SQL упоминаний на эту папку и файлы нет и в помине.

НО, в папках есть свежие файлы, датированные СЕГОДНЯШНЕЙ датой. Т.е. файлы все время создаются новые.

Что это за файлы? Вся папка занимает аж 38 Гб!!!

Спасибо за помощь.

В ответ на Yury Soloviev

Re: Наличие свободного места

от Vadim Tabunshchik -
Изображение пользователя Developers

Что такое git: https://git-scm.com/

Подозреваю, что кто-то несведущий в этом ПО, создал git-репозиторий, указав неверный каталог /var/................../sdo/, в котором находятся и каталог moodle (/var/................../sdo/www/htdocs), и каталог moodledata (/var/................../sdo/www/data)

Можно удалить каталог .git, никаких проблем не будет. А если хотите установить Мудл через git, то читайте доки https://docs.moodle.org/39/en/Git_for_Administrators

В ответ на Vadim Tabunshchik

Re: Наличие свободного места

от Yury Soloviev -
Вадим, спасибо. Жаль, что нельзя тут написать, кто такой несведующий))) Ибо он читает и обидится))
Мы удалим этот каталог. Новые файлы будут создаваться после этого или с ними покончено?
В ответ на Yury Soloviev

Re: Наличие свободного места

от Vadim Tabunshchik -
Изображение пользователя Developers

Удалив каталог .git, вы удалите репозиторий, включавший moodledata. А так как в moodledata постоянно вносились изменения пользователями сайта, то git это отслеживал и файлы в нем тоже постоянно обновлялись.

После удаления репозитория ничего создаваться не будет.

Потратьте пару часов на чтение документации по GIT и полчаса на настройку, сэкономите и 32000, и 1500. Ничего сложного в этом нет. В основном вам нужно будет использовать всего навсего несколько достаточно простых команд.

В ответ на Vadim Tabunshchik

Re: Наличие свободного места

от Yury Soloviev -
Вадим, спасибо. К сожалению, времени то у меня нет совсем. А технически - я не занимаюсь настройкой серверов. Каждый должен заниматься своим делом. Желательно хорошо. Я делаю свою работу хорошо. А вот те, кто ставил нам сервер - увы, не старались. Вот и приходится мне заниматься НЕ своим делом. Хорошо, что есть Вы)))
В ответ на Vadim Tabunshchik

Re: Наличие свободного места

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода

git не отслеживает автоматически в папках изменения, он делает это только по команде. Поэтому тут у вас или есть команда по расписанию, которая записывает изменения на диске, или репозиторий .git не обновляется, а он просто большой.

У меня репозиторий гит с moodle занимает 600 мб.

Возможно, что администратор использовал репозиторий для установки/удаления системы (это гораздо удобнее, чем копированием файлов), потом вынес его из папки moodle из соображений безопасности (иначе доступ к репозиторию будет через интернет и можно узнать точную версию moodle), но удалять не стал, чтобы потом с его же помощью обновлять систему


В ответ на Vadim Dvorovenko

Re: Наличие свободного места

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода
Поправлюсь. Пропустил про размер в 38 гб. Для репозитория с програмным кодом этот размер невообразимо большой, значит туда попадают и ваши файлы из moodledata. Возможно админ настроил таким образом что-то вроде бэкапа, чтобы иметь возможность откатываться к состоянию на определенный момент времени. Но для этого обязательно нужен запуск по расписанию команды, которая бы добавляла в репозиторий изменения.
Зайдите в консоли сервера в папку, в которой находится папка .git, выполните
git --no-pager log -n 30
скиньте сюда, попробуем по описанию понять, что там в репозитории

нужно во всех cron поискать какую-то регулярную команду, содержащую или git, или какой-то скрипт, внутри которого есть вызов git, который пополняет репозиторий. Возможно, что этот скрипт делает ещё что-то, что предполагал тот, кто это настривал, и просто удалив папку с репозиторием вы можете создать больше проблем. Например, если там вместе с файлами бэкапится БД, то стоит разобраться, ведь эти бэкапы тоже будет занимать место на диске
В ответ на Yury Soloviev

Re: Наличие свободного места

от Anatoliy Skityaev -
У вас синхронизация с Git. Это хранилище(репозитарий) старых и новых версий ПО, moodle тоже там есть.
На новом сервере Git не установлен. При запуске Moodle использовался Git, поскольку есть синхронизация Git для moodle. Поэтому и появляются там новые файлы)) Найдите специалиста, разбирающегося в том, что такое Git. Он и решит ваши проблемы.
В ответ на Anatoliy Skityaev

Re: Наличие свободного места

от Yury Soloviev -
Не могу найти. К сожалению. Вот вроде бы простой вопрос, но увы. За всё нужно платить, но почему-то просят ОООчень много. Для примера. За решение это проблемы с нас просили 32 000 руб. Мы нашли просто ИТ-шника, который помог за 1500. Он правда в мудле не разбирается, поэтому не знает зачем Git нужен.
А вот те люди, которые ставили сервер - руки у них точно странные. И голова неадекватная.
В ответ на Yury Soloviev

Re: Наличие свободного места

от Anatoliy Skityaev -
Выберу время и постараюсь помочь. Там не так много времени и нужно. Свяжитесь со мной в телеграм: @Arpadar.
Денег не возьму, но буду рад методической помощи в создании моего курса в Moodle по основам программирования. Любая электронная документация на предмет создания обучающего курса.