2011-02-01 4 views
0

Windows Azure 작업자 역할 2 개와 Cloud Drive VHD (Lucene.NET 문서 용) 1 개가 있습니다. 현재 첫 번째 작업자 역할은 VHD를 가져오고 두 번째 작업자는 계속 VHD (다른 VHD가 있으면 실패 함)를 탑재하려고 시도하고 성공할 경우에만 작업자 역할의 실행 섹션으로 이동합니다. ..2 Worker 역할, 하나의 VHD, 자동 장애 조치

내가 이미이 문제를 볼 수있는 몇 가지 문제가 있습니다 : 수동으로 나중에 사용할 드라이브의 잠금을 해제하는 OnStop 메서드에서 드라이브를 마운트 해제 ...하지만 OnStop 메서드가 호출되지 않는 경우, 내 드라이브는 이제 두 시스템 모두에서 마운트 할 수 없습니다. 둘째, 두 번째 인스턴스는 계속해서 "준비되지 않음"으로 표시되고 잠시 후 하늘빛이 이상하다고 생각합니다. 그리고 마지막으로 인스턴스가 "준비되지 않음"이지만 여전히 인스턴스 목록에 나타납니다 ...

누구나 전에 이런 식으로 뭔가를하고 어떤 팁을 가지고 내가 쉿 ould는이 문제를 해결하려고합니까? 내 프론트 엔드가 그것에 의존하기 때문에 검색 서버에서 장애 조치를하고 싶습니다. 그리고 Azure가 새로운 인스턴스 (5-15 분)를 시작하기를 기다리는 것은 일어 나지 않습니다.

답변

2

OnStop이 호출되지 않으면 페이지 BLOB (Windows Azure 드라이브를 백업하는 VHD)의 임대가 더 이상 갱신되지 않으므로 60 초 후에 만료됩니다.

인스턴스가 "사용 중"으로 표시되면 코드가 OnStart에서 반환되지 않은 것일 수 있습니다. 드라이브를 마운트하려는 모든 루프가 OnStart()가 아닌 Run()에 있는지 확인하십시오.

예, 인스턴스를 열거하면 인스턴스가 표시되어야합니다. 어떤 인스턴스가 드라이브를 마운트했는지 추적하려는 경우 해당 역할 인스턴스가 BLOB 또는 테이블 어딘가에 ID를 쓰게하는 것이 좋습니다. 장애 조치가 발생하면 새 인스턴스가 해당 ID를 덮어 씁니다.

+0

매우 멋지다! 내 인생을 더 쉽게 만들어야 해! 감사! – TiernanO

관련 문제