2011-02-01 31 views
0

我有2個Windows Azure Worker角色和1個Cloud Drive VHD(用於Lucene.NET文檔)。目前,第一個worker角色獲取VHD,第二個角色獲取VHD,第二個角色不斷嘗試掛載VHD(如果另一個具有該VHD,則會失敗),並且只有成功時纔會進入工作角色的運行部分。 ..2角色工作者,一個VHD,自動故障轉移

有幾個問題,我可以看到這一點,雖然:我手動卸載驅動器的OnStop方法,解鎖驅動器供以後使用...但如果OnStop方法不會被調用,我的驅動器現在無法由兩個系統安裝......其次,我的第二個實例經常被列爲「未準備好」,偶爾會覺得這很奇怪。最後,即使實例「未準備好」,它仍然是仍然顯示在實例列表中...

有沒有人做過這樣的事情,並有任何提示我什麼我sh應該解決這個問題嗎?我想對搜索服務器進行失敗,因爲我的前端依賴於它,並且等待Azure啓動新實例(5-15分鐘)不會成功。

回答

2

如果未調用OnStop,頁面blob(支持Windows Azure驅動器的VHD)的租約將不會再續約,這意味着它將在60秒後過期。

如果您的實例被列爲「忙」,您的代碼可能沒有從OnStart返回。確保你嘗試安裝驅動器的任何循環都在Run()中,而不是OnStart()中。

是的,如果枚舉實例,實例應顯示出來。如果您試圖跟蹤哪個實例安裝了驅動器,我會建議讓該角色實例將其ID寫入某個Blob或表中。發生故障轉移時,新實例將覆蓋該ID。

+0

非常酷!這應該讓我的生活更輕鬆!謝謝! – TiernanO 2011-02-01 16:42:31