簡體   English   中英

Service Fabric升級停留在PreUpgradeSafetyCheck上

[英]Service Fabric Upgrade stuck on PreUpgradeSafetyCheck

我收到一個警告,提示有可用的Service Fabric新版本,但是,當我嘗試對其進行升級時,該過程被卡在節點Rep_247上的PreUpgradeSafetyCheck中。 我已經嘗試了-Force和-ForceRestart,但是並沒有幫助。

集群圖

因為服務結構無法以安全的方式關閉服務來升級節點或應用程序,所以可能會發生此問題。

每當升級節點時,必須先將在該節點中激活的服務移至另一個節點,以便可以重新啟動該節點而不會影響應用程序/服務的可用性。

在這種情況下,當無法將服務放置在另一個節點中時,這樣做可能會導致仲裁丟失,可能是因為沒有其他可用的節點,或者是由於服務中的放置限制,或者只有一個服務實例。

由於SF無法保證服務的可靠性,因此它將暫停升級過程,直到可以應用解決方案來解決問題並繼續進行。

從您的集群映射中可以看到該消息,您的集群只有一個節點類型為“ Rep_247 ReportServerType ”,我假設您具有帶有放置約束的服務只能在該節點類型上部署,因此將節點取下使這些服務不可用,因為放置約束將阻止它們移動到另一節點類型。

如果服務不限於該節點類型,則問題可能是:

  • 它無法在其他節點上激活,例如,該節點中缺少依賴項,這將導致副本數量最少。
  • 該服務只有一個實例可用,取消運行將使該服務不可用。

PS:同樣適用於節點MR_236 MRType

PreUpgradeSafetyCheck

PreUpgradeSafetyCheck的UpgradePhase意味着在執行升級域之前准備問題。 在這種情況下,最常見的問題是服務關閉或主代碼路徑降級時的錯誤。

這種情況的可能解決方案是:

  • 添加服務的更多副本\\實例,以便達到最低仲裁人數。
  • 刪除服務的Placement約束,以使其移動到其他節點。
  • 添加相同節點類型的其他節點,以便服務可以安全地移出。
  • 斷開服務並在節點更新時重新創建(如果沒有狀態,則為最后一個選項,否則將丟失數據)

您可能有興趣查看相關問題:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM