2011-02-01 6 views
0

Windows Azureワーカーロールは2つ、クラウドドライブVHD(Lucene.NETドキュメント用)は1つあります。現時点では、最初の作業者役割はVHDを取得し、2番目の作業者役割は常にVHDをマウントしようとします(他のVHDがあれば失敗します)。成功した場合のみ、ワーカー役割の実行セクションに移動します。 ..2ワーカーロール、1つのVHD、自動フェイルオーバー

私はこれで既に見ることができるいくつかの問題があります:私は、後で使うためにドライブのロックを解除するOnStopメソッドでドライブを手動でアンマウントします...しかし、OnStopメソッドが呼び出されない場合、私のドライブは現在、両方のシステムではマウントできません...第二に、私の第2のインスタンスは常に「準備ができていません」と表示されており、しばらく後にはこれは奇妙だと思っています..そして最後に、インスタンスは「準備ができていません。インスタンスリストにまだ表示されています...

誰もこれの前に何かをして、私は何のヒントがあるこの問題を回避するにはどうしたらいいですか?私はフロントエンドがそれに依存しているので、検索サーバーをフェールオーバーしたいと思います。Azureが新しいインスタンスを起動するのを待っています(5〜15分)。

答えて

2

OnStopが呼び出されていない場合、ページBLOB(Windows AzureドライブをバックアップするVHD)のリースは更新されません。これは60秒後に期限切れになることを意味します。

インスタンスが「ビジー状態」と表示されている場合、コードはおそらくOnStartから返されていません。ドライブをマウントしようとしているループがOnStart()ではなくRun()にあることを確認してください。

はい、インスタンスを列挙するとインスタンスが表示されます。どのインスタンスにドライブがマウントされているかを把握しようとするなら、そのロールインスタンスがどこかのブロブやテーブルにそのIDを書き込ませることをお勧めします。フェールオーバーが発生すると、新しいインスタンスがそのIDを上書きします。

+0

非常に涼しい!それは私の人生を楽にするはずです!ありがとう! – TiernanO

関連する問題