0

我有 2 个 Windows Azure Worker Roles 和 1 个 Cloud Drive VHD(用于 Lucene.NET 文档)。目前,第一个工作角色获得 VHD,第二个不断尝试挂载 VHD(如果另一个拥有它,则会失败),只有成功,它才会进入工作角色的运行部分。 ..

不过,我已经看到了一些问题:我在 OnStop 方法中手动卸载驱动器,这会解锁驱动器以供以后使用......但如果没有调用 OnStop 方法,我的驱动器现在无法通过两个系统......其次,我的第二个实例一直被列为“未准备好”,一段时间后天蓝色认为这很奇怪。最后,即使实例“未准备好”,它仍然出现在实例中列表...

以前有没有人做过这样的事情,并且对我应该做些什么来解决这个问题有任何提示?我想要一个故障转移搜索服务器,因为我的前端依赖于它,并且等待 Azure 启动一个新实例(5-15 分钟)将无法成立。

4

1 回答 1

2

如果不调用 OnStop,则不会再续订页 blob(支持 Windows Azure 驱动器的 VHD)上的租约,这意味着它将在 60 秒后到期。

如果您的实例被列为“忙碌”,则您的代码可能尚未从 OnStart 返回。确保您尝试安装驱动器的任何循环都在 Run() 中,而不是 OnStart() 中。

是的,如果您枚举实例,则应该显示该实例。如果您试图跟踪哪个实例安装了驱动器,我建议让该角色实例将其 ID 写入某处的 blob 或表中。发生故障转移时,新实例将覆盖该 ID。

于 2011-02-01T16:38:11.497 回答