Обновление Service Fabric застряло на PreUpgradeSafetyCheck - PullRequest
0 голосов
/ 06 декабря 2018

Я получил предупреждение о том, что доступна новая версия Service Fabric, однако, когда я попытался обновить ее, процесс застрял в PreUpgradeSafetyCheck на узле Rep_247.Я пробовал -Force и -ForceRestart, но это не помогло.

Карта кластеров

1 Ответ

0 голосов
/ 06 декабря 2018

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

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

В этом случае это может привести к потере кворума, если служба не может быть помещена в другой узел,возможно, потому что нет другого доступного узла, или из-за ограничений размещения в сервисе, или существует только один экземпляр сервиса.

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

Из вашей карты кластера и сообщения возможно узнать проблему, ваш кластер имеет только один узел типа ' Rep_247 ReportServerType ', я полагаю, у вас есть услуги с placemen• ограничения, которые будут развернуты только на этом типе узла, удаление узла сделает эти службы недоступными, поскольку ограничения размещения не позволят им перейти на другой тип узла.

Если служба не ограничена этим узломтипа, проблема может быть в следующем:

  • Не удается активировать на других узлах, например, в узле отсутствуют зависимости, и у него не будет минимальной реплики.
  • Для службы доступен только один экземпляр, и отключение сделает службу недоступной.

PS: то же самое относится к узлу MR_236 MRType

PreUpgradeSafetyCheck

UpgradePhase of PreUpgradeSafetyCheck означает, что были проблемы с подготовкой домена обновления до его выполнения.Наиболее распространенными проблемами в этом случае являются сервисные ошибки при закрытии или понижении из основных путей кода.

Возможные решения для этого случая:

  • Добавьте больше реплик \ экземпляров службы, чтобы соблюсти минимальный кворум.
  • Снимите ограничения размещения службы, чтобы они могли перемещаться на другие узлы.
  • Добавьте дополнительный узел того же узлавведите, чтобы служба могла безопасно выйти из системы.
  • Отключение службы и повторное создание при обновлении узла (последний параметр, если он не является состоящим, в противном случае данные будут потеряны)

Возможно, выинтересно посмотреть связанные с этим вопросы:

...