Как обновить типовую конфигурацию 1С 8.3 на Linux VDS сервере?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При использовании платформы 1С:Предприятие на удаленном Linux VDS сервере (в связке с PostgreSQL и веб-сервером Apache) многие администраторы и разработчики сталкиваются с замедлением процесса обновления. Попытка выгрузить и загрузить полный информационный архив (файл .dt) или выполнить полную загрузку базы через удаленный Конфигуратор с Windows-клиента по тонкому интернет-каналу может затянуться на долгие часы. Рассмотрим, с чем связаны такие задержки и какие варианты обновления баз 1С на серверном Linux существуют.

Причины низкой скорости при удаленной работе через Конфигуратор

Выясним причину медленной работы Конфигуратора при удаленном подключении к базе на VDS. Проблема кроется в особенностях сетевого взаимодействия платформы:

  1. Интенсивный служебный обмен: При выполнении операций сравнения, объединения и загрузки конфигурации платформа 1С выполняет огромное количество последовательных запросов между клиентом и сервером.
  2. Влияние сетевых задержек (Ping): Даже при высокой пропускной способности канала высокий пинг существенно увеличивает общее время выполнения операции из-за задержек подтверждения передачи данных (round-trip time).
  3. Большой объем передаваемых данных: Загрузка полного файла информационной базы .dt или основного файла конфигурации .cf требует передачи сотен мегабайт по исходящему каналу клиента.

Вариант 1. Оптимизация передачи через файлы обновлений (CFU)

Если нет возможности изменять инфраструктуру Linux-сервера, разберем самый простой способ уменьшения сетевого трафика — использование файлов обновлений .cfu вместо полных файлов конфигурации .cf или архивов .dt.

Рассмотрим по шагам данный подход:

  1. Скачаем необходимый файл обновления .cfu для текущей версии конфигурации. Размеры файлов .cfu обычно в десятки раз меньше полных дистрибутивов .cf.
  2. Запустим Конфигуратор 1С на клиентском компьютере и подключимся к информационной базе на VDS.
  3. Перейдем в меню Конфигурация — Поддержка — Обновить конфигурацию.
  4. Укажем путь к локальному файлу .cfu и выполним последовательное обновление метаданных и структуры базы данных.

Вариант 2. Пакетное обновление на сервере Linux через Xvfb

Для выполнения обновления непосредственно на стороне Linux VDS сервера без передачи тяжелых файлов по сети можно применить пакетный запуск Конфигуратора 1С. Посмотрим, как это реализовать на сервере без графической оболочки (GUI).

Исполняемые файлы Конфигуратора 1С для Linux требуют наличия библиотек графического сервера X11. Чтобы запустить его в консоли без установки полноценного рабочего стола, воспользуемся утилитой Xvfb (X Virtual Framebuffer), которая эмулирует графический дисплей в оперативной памяти.

Проанализируем порядок действий:

  1. Установим эмулятор графического дисплея Xvfb на Linux-сервер через пакетный менеджер вашей ОС.
  2. Загрузим файл обновления .cfu или .cf на VDS сервер по протоколу SFTP или SSH.
  3. Запустим Xvfb и вызовем бинарный файл Конфигуратора 1cv8 в пакетном режиме:

# Запуск виртуального дисплея
Xvfb :99 -screen 0 1024x768x24 &
export DISPLAY=:99

# Пакетный запуск обновления конфигурации
/opt/1C/v8.3/x86_64/1cv8 DESIGNER /S "vds-server\base_name" /N "Administrator" /P "password" /UpdateCfg "/path/to/update.cfu" /UpdateDBCfg

Обратите внимание: При обновлении некоторых типовых конфигураций через Linux могут возникать ошибки, если сценарии обновления используют вызовы Windows COM-объектов. В таких случаях вызов обработчиков обновления требует запуска базы в режиме клиента на платформе Windows.

Вариант 3. Использование автономной утилиты ibcmd

В платформе 1С:Предприятие 8.3 предусмотрена утилита командной строки ibcmd, которая позволяет выполнять операции с конфигурациями без необходимости запуска GUI и X11.

Рассмотрим применение ibcmd для автономной работы с базой на сервере:

  1. Загрузим файл конфигурации .cf на сервер VDS.
  2. Выполним команду обновления конфигурации базы данных непосредственно из консоли Linux, указав параметры подключения к информационной базе.

Вариант 4. Локальное обновление с использованием резервных копий СУБД

Если на сервере Linux невозможно запустить Конфигуратор или возникают ошибки, связанные с отсутствием COM-компонентов, разберем вариант с использованием локального тестового контура:

  1. Сделаем резервную копию базы данных на VDS средствами СУБД PostgreSQL с помощью утилиты pg_dump.
  2. Передадим сжатый дамп базы на локальный компьютер с установленным локальным сервером 1С и PostgreSQL.
  3. Проведем обновление конфигурации и выполнение обработчиков обновления в локальной среде Windows.
  4. Сформируем обновленный дамп базы с помощью pg_dump и восстановим его на сервере VDS через pg_restore.

Этот метод исключает медленную передачу данных через Конфигуратор 1С по сети и использует стандартные механизмы сжатия и восстановления PostgreSQL.

← На главную