При выводе из эксплуатации старого файлового сервера или реорганизации сетевой инфраструктуры системные администраторы часто сталкиваются с необходимостью изменить сетевой путь к томам хранения файлов в конфигурациях на платформе «1С:Предприятие», в частности в «1С:Документооборот». Однако при попытке отредактировать сетевой путь в карточке тома система выдает предупреждение: «Меняя путь тома, вы потеряете возможность доступа к уже созданным на этом томе файлам». Разберем механику работы томов в Библиотеке стандартных подсистем (БСП) и рассмотрим правильный алгоритм переноса данных без риска потери файлов.
Для понимания процесса проанализируем структуру хранения информации. Записи об объектах хранения формируются на уровне справочников версий файлов. Посмотрим на структуру заполнения реквизитов объекта при сохранении файла на диске:
ВерсияОбъект.Том = СведенияОФайле.Том;
ВерсияОбъект.ПутьКФайлу = СведенияОФайле.ПутьКФайлу;
ВерсияОбъект.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске;
ВерсияОбъект.ФайлХранилище = Новый ХранилищеЗначения("");
Выясним причину появления предупреждения программы. В реквизите Том хранится ссылка на элемент справочника ТомаХраненияФайлов, в котором задан базовый сетевой каталог (например, \\old-server\files_volume1\). В реквизите ПутьКФайлу хранится исключительно относительный путь файла внутри этого каталога (например, 20231120\00000001.pdf). Физический путь вычисляется динамически сложением базового пути тома и относительного пути версии.
Предупреждение платформы носит превентивный характер. Оно сообщает о том, что если мы изменим путь в базе, но не переместим физические файлы на диске с сохранением внутренней иерархии подпапок, платформа не сможет их обнаружить. Если же файлы перенесены корректно, система продолжит штатную работу.
Разберем по шагам классический и наиболее распространенный вариант миграции на новое дисковое пространство:
Извлечение текста, Синхронизация файлов, Очистка устаревших файлов), чтобы исключить параллельную запись файлов во время копирования.YYYYMMDD. В среде Windows для минимизации простоев рекомендуем использовать системную утилиту robocopy в зеркальном режиме (ключ /MIR) с сохранением атрибутов безопасности и времени создания.1С:Предприятия (по умолчанию USR1CV8 или доменный аккаунт). Именно рабочий процесс rphost выполняет чтение и запись файлов. Предоставляем этой службе полные права (Full Control) на уровне сетевого доступа (Share Permissions) и на уровне файловой системы (NTFS).Тома хранения файлов, переходим в нужный том, вводим новый UNC-путь в поле Полный путь Windows (а при работе сервера под управлением Linux — путь монтирования в поле Полный путь Linux) и подтверждаем системное предупреждение.Проверить целостность тома в карточке тома. Система сопоставит записи в информационной базе с фактическим наличием файлов на диске и сформирует отчет о валидности данных.Рассмотрим альтернативное решение задачи силами системного администрирования. Если на сервере хранится критически большой массив данных или томов слишком много, мы можем вовсе не вносить изменения в настройки конфигурации 1С:
USR1CV8 на новом сервере.В этом сценарии информационная база продолжит обращаться по прежнему UNC-пути, но сетевой поток прозрачно перенаправится на новое оборудование без необходимости редактировать справочники 1С.
Если вывод старого сервера производится плавно, проанализируем архитектурный подход без одномоментной миграции терабайтов данных:
Тома хранения файлов, указав путь к новому файловому ресурсу.Правила размещения файлов в томах так, чтобы все новые документы попадали в созданный том.В такой конфигурации старый том переходит в режим чтения для ранее созданных документов, а все новые файлы сохраняются на новом хранилище. Позднее, в плановом режиме, старый том переносится по алгоритму из Способа 1.