Когда файлы коробочного Битрикс24 занимают весь диск, есть два рабочих пути: подключить к серверу отдельный диск и перенести на него папку upload либо настроить модуль «Облачные хранилища» и отправлять файлы в S3-совместимое хранилище. Первый путь быстрее и ничего не меняет в логике портала, второй снимает проблему роста надолго, но требует аккуратных правил и проверки.
Обычно все начинается с мелочей: сотрудники жалуются, что не загружается вложение в задачу, резервная копия перестала создаваться, а в почту администратора приходят письма о нехватке места. Через пару дней портал может просто перестать открываться, потому что базе данных негде писать временные файлы. Хуже всего то, что к этому моменту чистить диск приходится в спешке, и под удаление легко попадает то, что удалять было нельзя.
Что занимает место на сервере коробочного Битрикс24
Больше всего места почти всегда занимают три вещи: загруженные пользователями файлы в папке upload, локальные резервные копии и база данных. Прежде чем что-то переносить, посмотрите, кто из них вырос сильнее, иначе можно потратить день на облако, а через неделю снова упереться в потолок из-за бэкапов.
| Что растет | Где лежит | Что с этим делать |
|---|---|---|
| Файлы пользователей: Диск, вложения задач, CRM, чатов | Папка /upload в корне портала | Перенос на отдельный диск или в облачное хранилище |
| Локальные резервные копии | По умолчанию /bitrix/backup | Хранить копии вне сервера, локально оставлять одну-две последние |
| База данных | Каталог данных MySQL | Чистка журналов и устаревших данных, при росте отдельный диск под базу |
| Логи и временные файлы | Системные каталоги сервера, кеш портала | Ротация логов, очистка кеша штатными средствами |
Самая частая находка на наших проектах в B2BPRO.KZ: место съели не документы сотрудников, а резервные копии, которые годами складывались на тот же диск, что и портал. Такая копия к тому же бесполезна при отказе диска, потому что пропадет вместе с оригиналом. Как правильно выстроить копирование, мы описали в статье про резервное копирование коробочного Битрикс24.
Проверить картину можно командами du и df на сервере: df покажет, какой раздел заполнен, а du по каталогам покажет, что именно выросло. Если сервер обслуживает подрядчик, попросите у него такую выгрузку: это пять минут работы, и по ней сразу видно, нужен ли перенос файлов или достаточно навести порядок с копиями.
Что сделать в первые полчаса, если диск уже заполнен
Если места не осталось совсем, сначала освободите несколько гигабайт безопасными способами, а перенос планируйте уже в спокойном режиме. Порядок такой:
- Скопируйте самую свежую резервную копию с сервера в другое место и только после этого удалите старые локальные копии.
- Очистите кеш портала штатными средствами администрирования, не удаляя каталоги вручную.
- Проверьте размер системных логов и включите их ротацию, если она не настроена.
- Убедитесь, что портал открывается, файлы загружаются, а база данных не выдает ошибок.
- Запишите, сколько места освободилось и с какой скоростью диск заполнялся до этого: от этого зависит выбор между отдельным диском и облаком.
Чего делать не стоит: удалять файлы из upload вручную. Портал хранит на них ссылки в базе, и после такой «чистки» у сотрудников появятся задачи и сделки с битыми вложениями. Если в upload действительно много лишнего, для этого есть другие инструменты, о них ниже.
Как вынести папку upload на отдельный диск
Перенос upload на отдельный диск: это подключение к серверу нового диска и перемещение на него папки с пользовательскими файлами так, чтобы портал продолжал обращаться к ней по прежнему пути. Для Битрикс24 ничего не меняется, меняется только физическое место хранения.
Схема, которую мы применяем на проектах, выглядит так:
- Сделайте полную резервную копию и проверьте, что она разворачивается.
- Подключите к серверу новый диск нужного объема и смонтируйте его в отдельный каталог.
- Скопируйте содержимое upload на новый диск с сохранением прав и владельцев файлов.
- В выбранное окно обслуживания переведите портал в режим техработ, докопируйте файлы, изменившиеся с момента первого копирования.
- Подключите новый каталог по старому пути upload (монтированием или символьной ссылкой) и снимите режим техработ.
- Проверьте, что открываются старые вложения и загружаются новые, и только через несколько дней удаляйте копию со старого диска.
Встроенной кнопки для этого в Битрикс24 нет, это обычная работа администратора Linux, поэтому детали зависят от того, как устроен ваш сервер: виртуальная машина у хостера, собственное железо или BitrixVM. Если вы в этот момент все равно планируете переезд, разумнее сразу заложить отдельный диск под файлы в новой конфигурации. Об этом подробно в статье про перенос коробочного Битрикс24 на новый сервер.
Плюс этого способа: он понятен, быстро делается и не зависит от внешних сервисов. Минус: диск снова заполнится, просто позже. Если файлы растут на десятки гигабайт в месяц, вы вернетесь к этой задаче через год, только объемы будут больше.
Что такое облачное хранилище в коробочном Битрикс24
Облачное хранилище: это внешний сервис хранения файлов, чаще всего совместимый с API Amazon S3, куда портал складывает файлы вместо локального диска сервера. В продуктах на платформе 1С-Битрикс за это отвечает модуль «Облачные хранилища». Его назначение, по уроку 1С-Битрикс о том, что такое облачные хранилища, в том, чтобы переносить в облако файлы разных модулей и снимать нагрузку с сервера.
Сами разработчики Битрикс24 пишут, что на уровне кода продукта поддерживаются S3-хранилища для всех версий, и пользователь коробочной версии может подключить хранилище другого поставщика. Об этом говорится в статье команды Битрикс24 на Хабре о переходе на объектное хранилище. В курсе 1С-Битрикс есть отдельные уроки по подключению Yandex Object Storage и Selectel, а для компаний в Казахстане подойдет любой провайдер с S3-совместимым API, в том числе с дата-центром в стране, если это важно для требований к хранению данных.
Модуль настраивается в административной части портала. Список подключений находится в разделе «Настройки», пункт «Облачные хранилища». Там видно, активно ли подключение, сколько в нем файлов и какой объем они занимают.
Как настроить подключение к S3 и правила хранения
Подключение создается в списке облачных хранилищ, а то, какие файлы туда пойдут, определяется правилами. Форма описана в уроке 1С-Битрикс о создании подключения к облачному хранилищу.
На вкладке «Подключение» заполняются:
- «Провайдер»: от выбора зависят остальные поля;
- «Регион» и параметры доступа: ключ доступа, секретный ключ и другие данные, которые выдает провайдер;
- «Контейнер»: имя контейнера, в котором будут лежать файлы (у провайдеров его часто называют бакетом);
- «Только для чтения»: если включено, новые файлы сохраняются не в облако, а на сервере;
- «Каноническое имя домена (CNAME)»: необязательный параметр для работы через CDN.
На вкладке «Правила» задается отбор файлов:
| Поле | Пример | Если оставить пустым |
|---|---|---|
| Список модулей | iblock, advertising | Подходят файлы любых модулей |
| Список расширений | gif, png, jpeg, jpg | Подходят статические файлы с любым расширением |
| Список размеров | 1K-1M, 2.3M- | Подходят файлы любого размера |
Правила работают как фильтр: новые файлы, которые под них подходят, сохраняются в облако автоматически, и ссылки на них формируются с учетом нового расположения. Если хранилище нужно только для резервных копий, правила создавать не надо, а пустое правило, которое появляется по умолчанию, документация советует удалить.
Практический совет: не начинайте с правила «все файлы любых модулей». Сначала отправьте в облако то, что растет быстрее всего и реже всего нужно мгновенно, например крупные файлы от нескольких мегабайт. Посмотрите неделю, как ведет себя портал, и только потом расширяйте правила. Модули, которые используются на вашем портале, и то, какие из них сохраняют файлы через ядро платформы, лучше проверить на тестовой копии, прежде чем включать правило на рабочем портале.
Как перенести уже загруженные файлы в облако
Новые файлы после настройки правил идут в облако сами, а накопленные нужно перенести отдельно. Процедура описана в уроке 1С-Битрикс о переносе файлов и поиске дубликатов.
- Откройте «Настройки», затем «Облачные хранилища».
- В меню действий нужного подключения выберите «Переместить файлы в облачное хранилище». Перенесутся файлы тех модулей, расширений и размеров, что заданы в правилах.
- Следите за ходом переноса в списке подключений.
- Если нужно вернуть файлы на сервер, в том же меню есть пункт «Вернуть файлы из облачного хранилища».
Есть ограничения, о которых стоит знать заранее. При больших объемах часть файлов может не загрузиться, и документация рекомендует составную загрузку и инструменты провайдера. Файлы, которые просто лежат в /upload и не зарегистрированы в системе, перенести можно, но портал продолжит искать их по старому пути. Облако предназначено для статических файлов: php-скрипты перенесутся как текст и выполняться не будут.
Подключение можно деактивировать: тогда данные из контейнера остаются доступны для чтения, но новые файлы туда не пишутся. Это удобно, если вы решили сменить провайдера: старый контейнер остается в режиме чтения, а новые файлы идут в новый.
Дубликаты: сколько места можно вернуть без переноса
Часть места занимают одинаковые файлы, загруженные несколько раз: один и тот же прайс в десяти сделках, одна презентация во вложениях сотни писем. В модуле «Облачные хранилища» начиная с версии 22.0.0 есть поиск дубликатов: в меню контейнера пункт «Оценить объем и количество дубликатов» показывает, сколько их и сколько места они занимают.
Дубликаты можно удалить кнопкой «Обработать все» или по одному через меню строки. Там, где это нужно, ссылки переводятся на оставшийся основной файл. Чтобы новые дубликаты не появлялись, в настройках главного модуля включается «Контроль дубликатов».
Если вы еще не решили, переносить ли файлы в облако, начните с оценки дубликатов: цифра в уведомлении сразу покажет, сколько можно сэкономить без смены схемы хранения.
Отдельный диск или облако: что выбрать компании
Отдельный диск выгоднее, если файлы растут медленно и важна предсказуемость, а облако выгоднее, если объем растет быстро и вы не хотите каждый год заниматься расширением сервера. Решение лучше принимать по скорости роста файлов за последние месяцы.
| Критерий | Отдельный диск | Облачное хранилище S3 |
|---|---|---|
| Скорость запуска | Несколько часов работы администратора | Настройка подключения, правил и проверка переноса |
| Изменения в портале | Нет, путь к файлам прежний | Файлы отдаются из контейнера, ссылки строятся по-новому |
| Рост объема | Ограничен размером диска | Растет вместе с хранилищем, оплата по объему у провайдера |
| Зависимость от внешних сервисов | Нет | Есть, нужен доступ к провайдеру |
| Резервные копии файлов | Нужно копировать новый диск отдельно | Зависит от возможностей провайдера и ваших настроек |
Есть и третий вариант, который часто оказывается самым разумным: отдельный диск под базу и систему, облако для крупных файлов, резервные копии вне сервера. Так каждая часть растет независимо, и ни один всплеск не кладет портал целиком.
Для бизнеса важен еще один вопрос: где физически лежат данные клиентов. Если у вас есть требования к хранению персональных данных на территории Казахстана, выбирайте провайдера с дата-центром в стране или оставайтесь на собственном диске. Это решение стоит согласовать с тем, кто в компании отвечает за юридические вопросы.
Пример: как может выглядеть решение для компании на 80 сотрудников
Ниже условный пример, чтобы показать ход рассуждений. Компания и цифры вымышлены.
Торговая компания в Алматы, коробочный Битрикс24 на виртуальном сервере у хостера, 80 пользователей. Диск на 200 ГБ заполнен на 97%. Проверка показала: около трети места занимают локальные резервные копии за полгода, примерно половину папка upload, остальное база и система. Файлы растут в основном за счет фотографий товаров и сканов документов в сделках.
Что сделали по шагам. Сначала вынесли резервные копии во внешнее хранилище и оставили на сервере только последнюю: диск освободился до безопасного уровня в тот же день. Затем запустили оценку дубликатов: оказалось, что одни и те же прайсы и каталоги загружались в сделки сотни раз. После их обработки и включения контроля дубликатов рост upload заметно замедлился. И только после этого настроили облачное хранилище с правилом для файлов крупнее нескольких мегабайт, проверили его неделю на новых файлах и перенесли накопленные.
Обратите внимание на порядок: облако появилось последним шагом, когда стало понятно, какие именно файлы растут. Если бы начали с него, в облако уехали бы и дубликаты, и за их хранение пришлось бы платить провайдеру.
Как проверить портал после переноса файлов
После любого переноса проверьте, что сотрудники видят старые файлы и могут загружать новые. Удобно пройти короткий список вместе с одним из активных пользователей:
- Откройте файл на Диске, загруженный год назад, и файл, загруженный вчера.
- Откройте вложение в старой задаче и в старой сделке CRM.
- Загрузите новый файл в задачу и в чат, затем скачайте его с другого компьютера.
- Проверьте, что формируются превью картинок и документов.
- Посмотрите журнал событий портала и логи сервера на ошибки за первые сутки.
Для облачных хранилищ в настройках модуля есть параметр «Записывать 404 ошибки на перемещенных в облака файлах в журнал событий». Его стоит включить на время после переноса: если какой-то файл не доехал, вы увидите это в журнале раньше, чем сотрудник придет с жалобой.
Как не допустить повторения
Повторная авария предотвращается мониторингом свободного места и регулярной уборкой. Достаточно трех вещей:
- оповещение, когда на разделе остается меньше 20% места, а не в момент, когда его ноль;
- резервные копии хранятся вне сервера, локально лежит не больше одной-двух последних;
- раз в квартал кто-то смотрит, какие каталоги выросли и почему.
Какие метрики сервера еще стоит держать под наблюдением, мы описали в статье про мониторинг производительности коробочного Битрикс24.
Если на сервере некому этим заниматься, проще отдать задачу тем, кто делает это регулярно. Мы занимаемся внедрением и сопровождением Битрикс24, в том числе коробочных порталов: проверим, что занимает место, вынесем файлы на отдельный диск или в облачное хранилище и настроим мониторинг, чтобы ситуация не повторилась.
Частые вопросы
Можно ли просто удалить старые файлы из папки upload, чтобы освободить место?
Нет, вручную удалять файлы из upload нельзя. Портал хранит ссылки на эти файлы в базе данных, и после удаления в задачах, сделках и на Диске появятся битые вложения. Освобождайте место через удаление старых локальных резервных копий, очистку кеша и поиск дубликатов в модуле «Облачные хранилища».
Поддерживает ли коробочный Битрикс24 хранение файлов в S3?
Да, в коробочной версии можно подключить S3-совместимое хранилище через модуль «Облачные хранилища». Подключение создается в разделе «Настройки», пункт «Облачные хранилища», а какие файлы туда пойдут, задается правилами по модулям, расширениям и размерам. В курсе 1С-Битрикс есть уроки по подключению Yandex Object Storage и Selectel.
Перенесутся ли в облако файлы, загруженные до настройки хранилища?
Да, но только по отдельной команде. Новые файлы попадают в облако автоматически по правилам, а для накопленных нужно выбрать в меню подключения пункт «Переместить файлы в облачное хранилище». При больших объемах часть файлов может не загрузиться, поэтому после переноса проверьте результат и при необходимости повторите.
Как вернуть файлы из облака обратно на сервер?
В списке облачных хранилищ в меню действий подключения выберите «Вернуть файлы из облачного хранилища». Если нужно только перестать писать новые файлы в облако, подключение можно деактивировать: файлы останутся доступны для чтения, а новые будут сохраняться на сервере или в другом подключении.
Сколько стоит хранить файлы Битрикс24 в облаке?
Стоимость зависит от выбранного провайдера и объема: обычно оплачиваются хранение и исходящий трафик. Отдельная плата идет провайдеру хранилища, а доступность модуля в вашей редакции можно проверить в разделе обновления платформы. Перед выбором посчитайте, сколько файлов у вас сейчас и на сколько они вырастают за месяц.
Техподдержка Битрикс24
Диск коробочного Битрикс24 заполнен, а портал начал сбоить?
Проверим, что занимает место, вынесем файлы на отдельный диск или в облачное хранилище и настроим оповещения. Линия поддержки работает круглосуточно, реакция на заявку 15 минут.
