2013-02-24 4 views
0

저는 Windows Azure에 추가로 작은 VM 인스턴스를 설치하여 회사의 도움말 콘솔을 실행했습니다. 도움말 파일은 간단한 .NET 인터페이스를 통해 업데이트하고 게시 할 수 있습니다. 분명히 플랫 html 파일은 VM의 로컬 드라이브에 배포되고 IIS를 통해 공개적으로 노출됩니다. 이게 얼마나 안정적인지 궁금하네요? VM에 하드웨어 오류가 발생하면 자동 장애 조치 (failover)가 발생하지 않고 도움말 시스템에 대한 수정 사항이 손실됩니다.Azure Virtual Machine 로컬 폴더를 BLOB 저장소에 백업 하시겠습니까?

누구든지 VM에서 소스 파일을 BLOB 저장소로 셔틀 할 수있는 방법을 권장 할 수 있습니까? 이 작업을 수행하는 응용 프로그램을 작성할 수 있습니다. 바로 out-of-the-box 솔루션이 있는지 궁금합니다.

추가 정보 :

  • 는 VM 인스턴스가 실행중인 서버 2008 R2 SP1 (가상 머신이 아닌 웹 역할로는)
  • 백업은 24 시간마다 한 번씩 작성해야합니다
  • blob 컨테이너에서 세 백업 (3 일 이상 경과)을 자동으로 지워야합니다.
  • 우리가 사용하는 도움말 시스템은 HelpConsole 2012
  • 새로운 페이지는

답변

2

대답은 당신이 윈도우 Azure 가상 머신이나 윈도우 Azure 웹 역할이 실행 여부 방법에 따라 달라집니다 주당 myabe 2-3의 속도로 추가됩니다.

Windows Azure 가상 컴퓨터에서이 파일을 실행하는 경우 VHD는 BLOB 저장소에 저장되며 사이트에서 데이터 디스크가 아닌 C : 드라이브를 실행하는 경우 시스템에 일부 호스트 캐싱이 있습니다 읽기 및 쓰기 모두에 대해 켜집니다. 이 시나리오에서는 오류가 발생하기 전에 데이터를 BLOB 저장소의 VHD로 다시 푸시하지 않는 것이 가능합니다 (파일을 쓰는 데 사용하는 방법에 따라 다름). 쓰기 메소드가 write through 조작을 수행하는지 확인하거나 write 캐싱을 해제 할 수 있습니다. 더 나아가 웹 사이트 파일 용 데이터 디스크를 부착하십시오. 기본적으로 데이터 디스크는 읽기 및 쓰기 캐싱을 모두 해제합니다 (읽기 캐싱을 켤 수 있음). VHD가 유지되므로 편집 내용이 손실 될 염려는 없습니다. 스크립트의 스냅 샷을 스크립트로 작성하여 BLOB 저장소로 개별적으로 이동하거나 다른 곳으로 밀어 넣을 수도 있습니다. 이 옵션을 사용하여 생각해 볼 또 다른 사항은 VM 인스턴스를 관리하고 패치를 유지하고 최신 상태로 유지해야한다는 것입니다.

웹 롤을 실행중인 경우 오류가 발생하고 VM이 자체 복구를 수행하면 실제로 이전 파일로 다시 배포됩니다. 이 경우에는 로컬 파일의 업데이트를 BLOB 저장소에 넣는 웹 역할의 코드를 변경하는 것이 좋습니다. 또한 웹 역할 OnStart에서 BLOB 저장소에 접근하여 모든 새 콘텐츠를 로컬에서 가져올 수 있습니다. 이 방법을 사용하면 매우주의해야합니다. 왜냐하면 여러 인스턴스가 아닌 하나의 인스턴스에서만 실제로 작동하기 때문입니다. 서버 인스턴스를 여러 개 실행하려는 경우 (그리고 SLA를 가동 시간으로 설정해야하는 경우) 코드가 좀 더 강력해야하고 BLOB 저장소에 기록한 다음 모든 역할 인스턴스에 경고를 보내야합니다 로컬로 풀다운 할 새 파일이 있다는 것을.

웹 역할에 대한 또 다른 옵션은 내용이 들어오고 요청이 들어오고 파일 BLOB 저장소에 직접 매핑되도록 콘텐츠에 대한 처리기를 작성하는 것입니다. 그런 다음 BLOB 저장 영역에서 파일을 편집하기 위해 갱신이 발생할 수 있습니다.이렇게하면 계산 노드에서 BLOB 저장소로 플랫 파일을 제공하는 부담이 줄어들고 원한다면 직접 BLOB 저장소에 도달하는 대신 처리기를 통해 일부 캐싱과 스트림을 다시 구현할 수도 있습니다.

이제 다른 옵션은 Windows Azure 웹 사이트를 사용하는 것입니다. Windows Azure 웹 사이트에서 웹 사이트 파일의 기본 저장소는 공유 위치이므로 파일을 업데이트하면 모든 인스턴스에 즉시 반영됩니다. 또한 사이트 콘텐츠는 BLOB 저장소에 저장되며 FTP, 소스 제어 또는 코드에서 직접 업데이트 할 수 있습니다. 여기에 다양한 옵션이 있습니다. 웹 사이트에있는 할당량 일부를 멀리 할 수 ​​있도록 예약 인스턴스로 이동하게 될 수 있습니다. 웹 사이트는 다른 요구 사항에 따라 현재 선택 사항이 아닐 수도 있습니다 (웹 사이트에 대한 통제력을 많이 얻지 못해 환경을 얼마나 제어해야하는지 등).

+0

마이크, 매우 포괄적 인 답변을 주셔서 감사합니다. 우리는 웹 역할이 아닌 가상 머신을 실행하고 있습니다. 이제 Visual Studio에서 blob 컨테이너의 .vhd 이미지를 볼 수 있습니다. 나는 모든 소스 파일을 D : 드라이브 (Temporary Storage)에 배포했다.이 파일은 .vhd에 매핑되기 위해 C :로 옮겨야한다고 생각한다. 헬프 시스템이 웹 역할을 수행하는 시작 스크립트를 필요로하는 종속성에 의존하는 exe 설치 프로그램에서 배포되므로 웹 사이트 또는 웹 역할을 통해 VM을 선택했습니다. RDP를 사용하여 사이트를 작동시키는 것은 저를위한 간단한 해결책이었습니다. – QFDev

+0

또한이 VM의 도움말 시스템이 매주 한 번만 수정된다는 것을 추가해야합니다. – QFDev

+0

아, 예, 확실히 D : 드라이브에서 파일을 이동하십시오. 그 운전은 일시적입니다. C에서 파일을 원하지 않는다면 데이터 디스크를 만드는 것이 좋을 것입니다. 그러나 데이터가 C : 또는 데이터 디스크 (기본 D :)가 아닌 경우 컴퓨터가 다운 된 경우에도 데이터가 유지됩니다 (다시 말하면 드라이브 캐싱 설정이 설정되었는지 알고 있어야합니다). 추가 종속성에 대한 귀하의 표시를 감안할 때 웹 역할을 통해 VM을 사용하는 것이 의미가 있지만 나중에 패치에 대한 유지 관리 요구 사항을 줄이려면 향후 웹 역할을 얻는 방법을 제안하는 것이 좋습니다. – MikeWo

관련 문제