2个工作者角色,一个VHD,自动故障转移

时间:2011-02-01 15:01:46

标签: azure lucene.net vhd

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

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

之前有没有人做过这样的事情并且有什么建议我应该怎样做以解决这个问题?我希望有一个故障转移搜索服务器,因为我的前端依赖它,并等待Azure启动一个新实例(5-15分钟)将无法忍受。

1 个答案:

答案 0 :(得分:2)

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

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

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