Найти тему
ITAdventurer

itadventurer об обновлении релиза кластера 1с

У меня сложилось впечатление, что по большому счету кластер 1с состоит из записи службы в реестре и файла конфигурации в каталоге кэша. Получается, что для обновления кластера, и перевода любого количества баз 1с со старой версии кластера на новую нужно (подразумеваю, что задача выполняется на одном и том же физическом либо виртуальном сервере без изменения сервера баз данных):

  1. Установить новую версию сервера 1с в виде приложения
  2. Создать службу для новой версии сервера 1с
  3. Скопировать регистрацию баз 1с из файла конфигурации службы старого сервера 1с
  4. Удалить старый сервер 1с и остатки данных службы старого релиза

Если с первым пунктом вопросов не возникает, то остальные моменты стоит пояснить.

Что бы из релиза создать службу, я рекомендую создать файл с расширением *.reg с примерно таким содержимым

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Агент сервера 8.3.23.1782]
"Type"=dword:00000010
"Start"=dword:00000004
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):00
"DisplayName"="Агент сервера 8.3.23.1782"
"WOW64"=dword:0000014c
"ObjectName"="service_account@domain.local"
"DependOnService"=hex(7):54,00,63,00,70,00,69,00,70,00,00,00,44,00,6e,00,73,00,\
63,00,61,00,63,00,68,00,65,00,00,00,6c,00,61,00,6e,00,6d,00,61,00,6e,00,77,\
00,6f,00,72,00,6b,00,73,00,74,00,61,00,74,00,69,00,6f,00,6e,00,00,00,6c,00,\
61,00,6e,00,6d,00,61,00,6e,00,73,00,65,00,72,00,76,00,65,00,72,00,00,00,00,\
00
"Description"="Агент сервера 8.3.23.1782"
"FailureActions"=hex:ff,ff,ff,ff,00,00,00,00,00,00,00,00,01,00,00,00,14,00,00,\
00,01,00,00,00,10,27,00,00

везде, где упоминается наименование службы рекомендую использовать одинаковую нотацию. DisplayName, Description и название раздела в примере содержат запись "Агент сервера 8.3.23.1782", что отражает их суть.

После добавления записи в реестр нужно открыть редактор regedit и прописать корректно ImagePath

"C:\Program Files\1cv8\8.3.23.1782\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo_23_1782_test" -debug
  • "C:\Program Files\1cv8\8.3.23.1782\bin\ragent.exe" - путь к исполняемому файлу службы
  • -srvc -agent -regport 1541 -port 1540 -range 1560:1591 - порты службы
  • -d "C:\Program Files\1cv8\srvinfo_23_1782" - каталог кэша службы
  • -debug - опциональный ключ для включения отладки

После создания службы нужно не забыть создать каталог кэша службы и дать учетной записи службы права на чтение и запись в этот каталог. Тут нужно перезагрузить сервер, что бы новая службы отобразилась в оснастке "службы" сервера 1с. Затем нужно открыть оснастку прописать контекст новой службы (имя учетной записи службы и пароль).

Что бы службу можно было запустить переведите ее состояние запуска с отключено на "вручную" или "автоматически" запустите службы, проверьте, что она запустилась и остановите. В каталоге с кэшем будет создана структура подкаталогов и файлы. Нас интересует файл 1CV8Clst.lst, а именно шестая строка - {0}, (ориентир перед нужным значением идет строка },0,0,1,0},). В каталоге кэша старой службы вместо {0}, хранится список зарегистрированных баз. Вот эту часть нам и нужно добавить в новый файл. После сохранения можно перезапустить службу и попробовать зайти в 1с.

{0,
{71fe6da6-d0a1-4285-a0e4-d33ecaecb080,"Локальный кластер",1541,"server1c",0,0,0,60,0,0,0,
{1,
{"
server1c",1541}
},0,0,1,0},
{0},
{1,
{0a1422f5-32f8-4bad-9a49-13e3c2cbbc1d,"
server1c",1,0,1000,57fd80dd-7996-4ff7-bca0-90814b727a2a,0}
},
{0},
{1,
{57fd80dd-7996-4ff7-bca0-90814b727a2a,"Центральный сервер",1540,"
server1c",1,
{1,
{1560,1591}
},"","X37OjGo0qWi3GsGcUoNupw==",0,0,8,256,1000,1,0,1,0,1,1541,0,0,300,"",""}
},
{1,
{eb0b3ceb-47ee-478f-b938-8587f6da627a,"Главный менеджер кластера","
server1c",1,1,57fd80dd-7996-4ff7-bca0-90814b727a2a,""}
},
{0},
{0},
{0},
{0},
{0},
{0,0},0,
{0},
{0},
{0},
{0},
{0},
{0},
{0},
{0},
{0},4,
{0},
{0},
{""},
{""},
{1,
{57fd80dd-7996-4ff7-bca0-90814b727a2a,2036,1561,1562,"yoJSzk2Fr8xKVzHRkx7zkSpq3+hRJkz4cjMVVYT4FLU=","hF+I1dkjvRqyUSx4NklgLqVu+mLkLNbciAI9nGFL0ao=",1563}
},"Xf03BPr5PmVBHcNchlIOoiVdfisvu5LwgaLCJ0xlaEQ="}

Старую службу можно удалить вызвав редактор реестра [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Агент старого сервера 8.3.18.1705]

Затем из установка и удаление программ можно деинсталлировать старую версию сервера и почистить каталог кэша. Удачи!