Типичные ошибки запуска веб-ферм и способы их устранения
В этой статье мы рассмотрим часто встречающиеся ошибки и методы их устранения.
1. Ошибка: К базе данных есть активные подключения от других версий ELMA.
- Причина: веб-фермы работают на разных ревизиях.
- Решение: Обновить веб-фермы до одинаковой ревизии.
2. Ошибка: Не удалось сконфигурировать провайдер по секции в конфигурации cacheService.
Данная ошибка может возникнуть после сброса базы данных или после перезапуска виртуальной машины.
- Причина: Остановка кэш-сервера.
- Решение: Остановка пула и сайта ELMA на всех ВМ фермы. На ферме 1 необходимо зайти в Пуск – Все программы – AppFabric for Windows Server – Администрирование кэша PowerShell (Запустить от имени Администратора) и выполнить:
Start-CacheCluster.
После этого запускаем пул и сайт ELMA на всех ВМ фермы.
3. Ошибка: Не запустилась головная ферма.
- Решение: Заходим на головную ВМ, далее идем в Диспетчер служб IIS – WEBFARM-Servers Farms – ELMA3 – Servers. Если у ферм стоит статус Unknown, его надо заменить на Yes.
Далее нужно выбрать первую ферму и в правом меню нажать на ссылку Repair Server.
После этого в контекстном меню данной фермы выбираем пункт Make Server Available.
4. Ошибка: Веб-ферма не запускается.
- Полный текст ошибки: EleWise.ELMA.Runtime.Exceptions.ConfigurationInitializeException: Не удалось сконфигурировать провайдер по секции в конфигурации cacheService ---> Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode:SubStatus: There is a temporary failure. Please retry later. (One or more specified cache servers are unavailable, which could be caused by busy network or servers. For on-premises cache clusters, also verify the following conditions. Ensure that security permission has been granted for this client account, and check that the AppFabric Caching Service is allowed through the firewall on all cache hosts. Also the MaxBufferSize on the server must be greater than or equal to the serialized object size sent from the client.) ---> System.ServiceModel.CommunicationException: Подключение к сокету было прервано. Возможно, это вызвано ошибкой обработки сообщения, превышением времени ожидания на удаленном узле или проблемой с выделенным сетевым ресурсом. Тайм-аут локального сокета: "10675199.02:48:05.4775807". ---> System.IO.IOException: Сбой операции чтения, см. внутреннее исключение. ---> System.ServiceModel.CommunicationException: Подключение к сокету было прервано. Возможно, это вызвано ошибкой обработки сообщения, превышением времени ожидания на удаленном узле или проблемой с выделенным сетевым ресурсом. Тайм-аут локального сокета: "10675199.02:48:05.4775807". ---> System.Net.Sockets.SocketException: Удаленный хост принудительно разорвал подключение.
- Решение: Нужно перенастроить пул приложения на Администратора машины, сети и кэша.
5. Ошибка: Ошибка обновления структуры БД: Не удалось выполнить метод EleWise.ELMA.Security.Db.SecurityDbStructure.FillCache3()
- Решение: Остановка пула и сайта ELMA на всех ВМ фермы. На ферме 1 необходимо зайти в Пуск – Все программы – AppFabric for Windows Server – Администрирование кэша PowerShell (Запустить от имени Администратора) и выполнить:
Grant-CacheAllowedClientAccount Domain\UserName
6. Ошибка: 502 – веб-сервером в качестве шлюза или прокси-сервера получен недопустимый ответ (возникает часто, но не постоянно).
- Решение: Зайдите в настройки веб-фермы на контроллере, далее в Диспетчер служб IIS – Proxy.
В открывшемся окне необходимо увеличить период ожидания ответа от сервера приложений. Для этого необходимо в разделе Proxy изменить значение в поле Time-out (seconds), например, на 600 секунд. При превышении времени генерации (данного значения) будет отображена ошибка 502.
Перезапуск кластера
Остановка пула и сайта ELMA на всех ВМ фермы. На ферме 1 необходимо зайти в Пуск – Все программы – AppFabric for Windows Server – Администрирование кэша PowerShell (Запустить от имени Администратора) и выполнить:
Stop-CacheCluster
Start-CacheCluster
После этого запускаем пул и сайт ELMA на всех ВМ фермы.
Удаление и создание кэша
Остановка пула и сайта ELMA на всех ВМ фермы.На ферме 1 необходимо зайти в Пуск – Все программы – AppFabric for Windows Server – Администрирование кэша PowerShell (Запустить от имени Администратора) и выполнить:
Remove-Cache ELMA
Remove-Cache ELMA_NH
Remove-Cache ELMA_NH_Locks
Далее необходимо подождать несколько минут (в это время осуществляется удаление кэшей – они могут долго удаляться) и потом выполнить:
New-Cache ELMA
New-Cache ELMA_NH
New-Cache ELMA_NH_Locks
В том случае, если при выполнении New-Cache отобразилась ошибка, значит кэши еще не успели удалиться, т.е. надо подождать еще немного и попробовать повторно выполнить запросы.
После этого запускаем пул и сайт ELMA на всех ВМ фермы.