Имя: Пароль:
1C
1С v8
Как правильно перезагрузить кластер 1с 8.3
0 vpalchik
 
13.01.21
12:39
Здравствуйте.
Есть кластер 1с + ms sql. Кластер состоит из двух физических серверов объединенных в отказоустойчивый кластер Windows, также настроена группа доступности always on group для sql. Платформа 1с 8.3.12.1714 база УТ 10.3
Как корректно перезагрузить сервер 1С ? Перезагрузка переодически необходима из-за утечек памяти. При перезагрузки нужно, чтобы создались новые рабочие процессы и сбросились сеансы пользователей.
Перепробовал множество способов. Таких как:

1) Остановка службы Агента сервера 1с на всех машинах кластера. Результат: сервер останавливается, но после того как службы вновь были запущены, сервер 1с запускается с использованием тем же рабочих процессов(смотрю в консоле в свойствах рабочего процесса строку "время запуска") и все сеансы пользователей обратно присасываются (с сеансами понятно, время жизни сеанса 20 минут, но почему не создаётся новый рабочий процесс!?).
2) Остановка службы как Агента сервера 1с так и MS SQL на всех машинах кластера. Результат тот же.
3) Остановка сервера 1С таким способом на обеих машинах: С:\1c\8.3.12.1714\bin\ragent.exe -stop .
4) Через консоль администрирования выключить рабочий процесс выключить нет возможности, свойство "Использование" не доступно

Спасает только полная перезагрузка обеих машин кластера. Подскажите, пожалуйста, в какую сторону думать!
1 ДенисЧ
 
13.01.21
12:45
Так всё-таки отказоустойчивость работает ))))
А говорили...

Стопь все процессы на всех серверах. Чтобы сеансы не ползали.
2 rphosts
 
13.01.21
12:52
(0) указать в настройках кластера интервал перезапуска для РП
3 rphosts
 
13.01.21
13:08
+ (2) да, это про то, если утечка со сторона РП а не со стороны rmngr
4 vpalchik
 
13.01.21
13:29
(1) Все процессы это какие? Агенты 1с и SQL стопил на обоих или нужно еще что-то стопить?
5 vpalchik
 
13.01.21
13:35
(2)Например, указать интервал перезагрузки 180 секунд, а потом после того как будут созданы новые РП обратно вернуть 0. Правильно?
6 Dmitrii
 
гуру
13.01.21
16:00
(0) См. статьи на ИТС.
Check-list по настройке рабочих серверов в продукционной зоне.
https://its.1c.ru/db/metod8dev#content:5899:hdoc

Там в конце есть примеры скриптов для остановки и для перезапуска, и для перезапуска с очисткой кеша сервера.
https://its.1c.ru/db/metod8dev#content:5899:hdoc:примеры%20скриптов
7 vpalchik
 
13.01.21
16:32
(6) Спасибо! Попробую собрать, что-нибудь из скрипта "Рестарт с очисткой временых файлов"
8 vpalchik
 
14.01.21
08:46
(7) Собрал такой скрипт. Скрипт сработал, создались новые рабочие процессы, но сеансы подтянулись обратно (скорее всего это можно решить увеличением таймаута между остановкой и запуском службы, поправьте если я ошибаюсь).


set logfile="C:\script\restart1C_log.txt"
set SERVICE_1C_NAME="1C:Enterprise 8.3 Server Agent (x86-64)"

echo %date% %time% «Остановка службы агента сервера 1С Предприятия на node2» >>%logfile%
sc \\node2 stop %SERVICE_1C_NAME%

timeout 5

echo %date% %time% «Остановка службы агента сервера 1С Предприятия на node1» >>%logfile%
sc stop %SERVICE_1C_NAME%

timeout 5

rem остановка процессов на node2
taskkill /s node2 /f /im "rphost.exe"
taskkill /s node2 /f /im "rmngr.exe"
taskkill /s node2 /f /im "ragent.exe"

timeout 5

rem остановка процессов на node1
taskkill /f /im  "rphost.exe"
taskkill /f /im "rmngr.exe"
taskkill /f /im "ragent.exe"

echo done stop %date% %time% >> %logfile%

timeout 20

rem запуск службы агента 1с на node1
echo %date% %time% «Запуск службы агента сервера 1С Предприятия на node1cl» >>%logfile%
sc start %SERVICE_1C_NAME%

rem запуск службы агента 1с на node2
echo %date% %time% «Запуск службы агента сервера 1С Предприятия на node2cl» >>%logfile%
sc \\node2 start %SERVICE_1C_NAME%

echo Service %SERVICE_1C_NAME% restarted at %DATE% %TIME% >> %logfile%
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.