Переход с одной разрядности сервера 1С:Предприятие на другую — задача не самая тривиальная, особенно если ранее в системе использовались неофициальные сборки («репаки»). Часто системные администраторы сталкиваются с тем, что стандартный установщик выдает сообщение «В процессе установки произошла неисправимая ошибка». В рамках данной статьи мы подробно разберем, как подготовить операционную систему Windows Server 2012 R2 к смене разрядности, как очистить систему от следов предыдущих установок и как настроить 32-битный сервер для стабильной работы с современными конфигурациями.
Первым делом проанализируем ситуацию, когда инсталлятор 1С прерывает работу. Чаще всего проблема кроется в компонентах, которые платформа пытается установить вместе с основным движком. Рассмотрим по шагам, как диагностировать и устранить эту проблему:
Microsoft Visual C++ 2015-2019 Redistributable (x86) и позволить установщику 1С поставить их заново, либо предварительно обновить их с официального сайта Microsoft.KB2999226 или KB3118401 регистрация многих DLL-файлов 1С завершится аварией. Убедимся, что сервер полностью обновлен.
msiexec /i "1CEnterprise 8.3.msi" /L*V "C:\install_log.txt"
В созданном файле install_log.txt выполним поиск по фразе "Return value 3". Обычно именно над этой строкой находится описание конкретной ошибки: будь то отсутствие прав доступа к ветке реестра или невозможность перезаписать системный файл.
Разберем ситуацию, когда ранее стоял «репак». Такие сборки часто модифицируют систему способами, которые блокируют установку лицензионной версии. Выясним, что нужно вычистить:
1C:Enterprise 8.3 Server Agent. Если она не удаляется через панель управления, используем команду в консоли: sc delete "1C:Enterprise 8.3 Server Agent".C:\Program Files\1cv8 и C:\Program Files (x86)\1cv8. После удаления старой версии желательно вручную удалить остаточные файлы в папке bin.Переход на 32-битную версию накладывает жесткие ограничения на использование оперативной памяти. Процесс rphost.exe в 32-битной архитектуре может адресовать не более 2 ГБ (в редких случаях до 3 ГБ) памяти. Для таких конфигураций, как «Бухгалтерия предприятия 3.0» или «Управление торговлей 11», этого катастрофически мало. Однако, мы можем оптимизировать работу сервера через консоль администрирования.
Чтобы сервер не «падал» с ошибкой «Нехватка памяти», мы можем распределить нагрузку на несколько рабочих процессов. Рассмотрим, как это сделать:
Это заставит систему порождать новые процессы rphost.exe. Каждый такой процесс получит свои 2 ГБ адресного пространства. Таким образом, общая память сервера будет использоваться эффективнее, хотя и с небольшими накладными расходами на кэширование метаданных в каждом процессе.
Проанализируем параметры безопасности в свойствах сервера 1С. Важно правильно задать следующие значения:
Выясним еще один важный момент: если пользователей немного (как в случае автора темы — 5 человек), можно использовать лицензию «Сервер МИНИ». Она поддерживает работу как с x86, так и с x64 платформой. Если бюджет позволяет, переход обратно на x64 будет лучшим решением в долгосрочной перспективе, так как современные конфигурации 1С продолжают «тяжелеть» с каждым обновлением.
Если один 32-битный кластер не справляется, можно прибегнуть к более сложному, но надежному методу — установке нескольких экземпляров службы сервера на разные порты (например, 1540, 1640 и т.д.). Это позволит полностью изолировать базы друг от друга, чтобы критическая ошибка в одной базе не влияла на работу пользователей в другой. Однако для 5 пользователей и одной-двух баз БП 3.0 стандартной настройки «Количество соединений на процесс» будет вполне достаточно.
Подводя итог, отметим, что переход с x64 на x86 возможен, но требует тщательной очистки системы от модифицированных библиотек и точечной настройки параметров памяти в консоли кластера. Главное — следить за фрагментацией памяти в процессах rphost.exe и вовремя перезапускать их через настройки регламентного перезапуска процессов в консоли.