Переход на 64-х разрядный сервер 1С







Переход с 32-х разрядной версии сервера 1С на 64-х разрядную с сохранением данных журналов регистрации информационных баз, используемых в 32-х разрядной версии.

Как известно, начиная платформы 1С 8.3, все версии платформы находятся в одном общем каталоге:

  • Для 32-х разрядной версии — «C:Program Files (x86)1cv8»
  • Для 64-х разрядной версии — «C:Program Files1cv8»

Собственно, в 1С 8.2 они тоже были в одном, только он назывался по другому «1cv82». До 1С 8.2 новая версия платформы устанавливалась поверх старой. Отдельная подпапка для новой версии не создавалась.

Если же установлен сервер 1С Предприятие, его настройки находятся рабочем каталоге сервера, в этой же общей папке в каталоге «srvinfo» (при необходимости можно перенести эти данные в любое другое место). Соответственно, при установке новой версии 8.3, в папке «1cv8» появляется новая подпапка с номером новой версии, а все настройки сервера используются те же, из папки «srvinfo». При этом, не происходит установка нового экземпляра службы сервера.

Примечание. При необходимости, можно создать и использовать параллельно несколько версий  службы сервера 1С 8.3 на одном компьютере. Для этого необходимо воспользоваться командной строкой и создать новую службу вручную. Потребуется указать новые рабочие порты и путь к рабочему каталогу нового экземпляра сервера «srvinfo».

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

@echo offset
SrvUserName=".USR1CV8"
set SrvUserPwd="********"
set SrvcName="1C:Enterprise 8.3 Server Agent 2"
set BinPath=""C:Program Files (x86)1cv88.3.14.1630in
agent.exe" -srvc -agent -regport 2541 -port 2540 -range 2560:2591 -d "D:1c_srvinfo""
set Desctiption="1C:Enterprise 8.3 Server Agent 2"
sc delete %SrvcName%
sc create %SrvcName% binPath= %BinPath% start= auto obj= %SrvUserName% password= %SrvUserPwd% displayname= %Desctiption% depend= Dnscache/Tcpip/lanmanworkstation/lanmanserversc
start %SrvcName%

Однако, если необходимо не только установить новую версию сервера 1С, а, дополнительно перейти с 32-х разрядной версии на 64-х разрядную, путь нахождения программных файлов изменится. Новая версия сервера будет установлена параллельно текущей.

Как известно, журналы регистрации для серверных баз 1С находятся в рабочем каталоге сервера «srvinfo». Соответственно, при переходе на 64-х разрядную версию сервера, будут созданы новые журналы, вместе с новым экземпляром сервера. Информация из старых журналов регистрации будет потеряна. Если данные журналов регистрации часто используются администраторами и пользователями информационных баз, это является проблемой.

Собственно, в этой статье, я даю инструкцию по переходу на 64-х разрядную версию сервера 1С с сохранением данных журналов регистрации информационных баз, которые использовались при работе 32-х разрядной версии сервера.   

Примечание. Если служба сервера регистрируется вручную, а не автоматически при установке платформы, и путь к рабочему каталогу сервера отличается от стандартного, можно при регистрации службы 64-х разрядного сервера указать каталог 32-х разрядного сервера.  В этом случае переносить ничего не нужно и данные журналов регистрации будут доступны при работе с 64-х разрядным сервером.

 

Порядок действий для перехода на 64-х разрядный сервер 1С

Останавливаем и отключаем службу агента 32 разрядного сервера. Это можно сделать из командной строки или из списка рабочих служб сервера:

Список служб

Устанавливаем 1С платформу 64 (сервер и все необходимые компоненты), при установке необходимо не забыть указать пароль для существующего пользователя USR1CV8.

После успешной установки необходимо проверить запуск службы агента 64 разрядного сервера.

Далее пробуем запустить консоль кластера серверов 1С для 64-х разрядной версии. В случае, если консоль не запускается, регистрируем необходимую библиотеку dll:

Пуск >> Все программы >> 1С Предприятие 8 >> Дополнительно >> [Номер версии 1С] >> Регистрация утилиты администрирования серверов 1С Предприятия

Или из командной строки:

C:Program Files1cv88.3.14.1630inRegMSC.cmd

Выполняем перегрузку сервера (на всякий случай).

Опять запускаем консоль кластера серверов, открываем локальный кластер — список информационных баз пустой:

Пустой список информационных баз

Закрываем консоль кластера и останавливаем службу агента 1С сервера.

Переносим информацию об информационных базах из файлов «1CV8Clst.lst» и «1CV8Clsto.lst», расположенных в рабочем каталоге 32-х разрядного сервера:

C:Program Files (x86)1cv8srvinfo
eg_1541

в аналогичные файлы в рабочем каталоге 64-х разрядного сервера:

C:Program Files1cv8srvinfo
eg_1541

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

 Рабочий каталог сервера

Заменяем фрагмент:

},0,0,0}, {0},

Заменяем на:

},0,0,0}, {[количество баз],[информация о базах]}

Заменяемый фрагмент с информационными базами

Далее, переносим все папки из каталога 32-х разрядного сервера:

C:Program Files (x86)1cv8srvinfo
eg_1541

в каталог 64-х разрядного сервера:

C:Program Files1cv8srvinfo
eg_1541

Кроме папки, имя которой начинается с «snccntx» — ее не переносим.  

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

Далее, запускаем консоль кластеров 1С x64 и проверяем наличие всех информационных баз:

Список информационных баз заполненный

Пробуем открыть любую базу на сервере.

 

Изменение настроек для корректной работы web сервера

Если базы данных опубликованы на web сервере, необходимо изменить его настройки. Рассмотрим на примере использования web сервера IIS.

Меняем исполняемый файл для обработчика «1C Web-service Extension», в разделе «Сопоставление обработчиков» опубликованных информационных баз. Изменяем путь к скрипту «wsisapi.dll», на аналогичный путь из папки «bin» 64-х разрядной версии платформы:

Сопоставление обработчиков IIS

Примечание. В последних версиях платформы 1С 8.3 сопоставление обработчиков изменяется автоматически при перепубликации информационной базы. Необходимости делать это в ручную нет.

Так как разрешения для запуска 32 разрядных расширений уже не нужны, то меняем в настройке IIS:

Настройка разрешения 32 битных приложений

Пулы приложений -> DefaultAppPool -> Дополнительные параметры -> Разрешены 32-разрядные приложения -> на «false».

Выполняем повторную публикацию всех информационных баз на web сервере из конфигураторов системы:

Внимание. Для публикации и перепубликации баз данных на web сервере необходимо запускать конфигуратор 1С с правами администратора.

Пробуем открыть информационные базы через web, используя тонкий клиент или браузер.

Спасибо за внимание, если статья оказалась полезной не забывайте поставить звездочку J

12 Comments

  1. ruffer

    Спасибо за статью

    Reply
  2. schanya

    Спасибо за статью! Не проще в реестре изменить путь к ragent с 32бит на 64бит агента? Смысл оставлять запись для «мёртвого» 32бит.

    Reply
  3. СтарПом

    Спасибо. Схоронил.

    Reply
  4. ids79

    (2)А рабочий каталог старый использовать?

    Можно, как вариант.

    Reply
  5. ilya2184

    Рабочий каталог вообще рекомендую на отдельный быстрый диск выносить: так будет быстрее* и износ системного диска не будет беспокоить. Рабочий каталог для служб устанавливается в реестре. Периодически файл списка баз из рабочего каталога бэкапить не запрещено.

    * По крайней мере для типовых конфигураций.

    Reply
  6. ids79

    (46)Согласен. Тоже так делаю

    Reply
  7. Alfars

    Статья хорошая, только не понятно зачем создавать службу вручную, если она сама создается при установке сервера 1С.

    Аналогично можно поступать при переезде сервера 1С с одного сервера на другой, только нужно обязательно перезабить пароль SQL в консоли. При этом, при такой же разрядности, что кэш сервера «snccntx», можно сохранить.

    Reply
  8. ids79

    (7)Спасибо. Допустим, Вам нужно создать на сервере дополнительную службу сервера 1С для отладки и работы программистов.

    Reply
  9. toliman

    Спасибо)

    Reply
  10. danjer74

    Почему при запуске 64 битного сервера может происходить зависание конфигуратора? В диспетчере задач «Не отвечает» и все.

    Reply
  11. ids79

    (10)Проблем много может быть. Нужно разбираться по месту. Я не сталкивался с подобной ситуацией.

    Reply
  12. danjer74

    Служба SQL запущена, служба агента запущена от пользователя с админскими правами, все вроде ОК. Платформа 8.3.12.1924

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *