none
hyper-v 에서 VM 스냅샷 시 증가되는 .avhd 문제 RRS feed

  • 질문

  • 안녕하세요
    오늘 질문을 많이 하게 되네요

     hyper-v로 호스팅을 하고 있습니다.

    백업용도로 스냅샷 및 내보내기를 이용해서 백업을 하고 있습니다.

    어느분 말슴으로는 스냅샷은 백업이 아니니 온라인상에서 운용되는 vm 은 스냅샷을 하지 말라고 하셔서요..


    초반에는 일 1회 스냅샷을 찍었었습니다

    삭제도 해주면서 7일분정도를 보유 하고요 헌데. 시간이 가면 갈수록 스냅샷 폴더내에 있는 .avhd 가 미친듯이 증가 하더군요....100기가 200기가 실제 고객데이타가 그정도가 아님에도 불구하고

    시점 복원시 편리하긴 합니다만 위 문제 때문에 스냅샷을 중지할까 합니다


    해당 문제를 어떻게 해결할 방법이 있을까요
    2009년 5월 28일 목요일 오후 4:41

답변

  • 스냅샷은 원본 가상디스크(.VHD)에 대한 차등디스크입니다(.AVHD)


    즉 원본 가상디스크에 대해 특정시점에 대한 스냅샷을 만들경우

    원본 A.VHD
    중간 스냅샷 B.AVHD
    현 스냅샷 C.AVHD 라 가정할때

    현시점에서 일어나는 모든 I/O는 C.AVHD에서 일어납니다.  ( A.vhd 나 B.avhd 화일사이즈는 증가되지 않습니다 )
    I/O Operation 이 A .VHD   -> C.AVHD 로 바뀌게되죠.


    그렇기 때문에 원본가상디스크에 대해 운영함에 따라
    시간이 지나면 지날수록 차이점이 증가하기 때문에  VHD폴더사이즈의 총합은   원본 + 중간스냅샷에 대한 차이점 (+N개 ) + 현시점에서 추가데이타 만큼 
    증가가 되겠죠..

    더욱이 이 상황에서 원본 가상디스크 A.VHD ->   중간 스냅샷 시점( B.AVHD )   -> 현 스냅샷 시점( C.AVHD) 의 
    동일 트리구조일때  중간스냅샷의 B.VHD 화일에 파일 손상이 날 경우
    추후 Export 시 한개의 VHD 파일로 병합할 방법이 없어집니다 
    ( Parent VHD 에 대한 차이점을 보관하는 AVHD화일이기 때문입니다.  C.AVHD의 Parent VHD는 B.AVHD 이기 때문이죠..  )

    * Fixed Size VHD 화일은 하단의 511Byte 헤더에 VHD내부에대한 Location을 담고있습니다 , Dynamic은 상/하단의 511Byte헤더
      헤더부분이 손상되면 복구방법은...-_-


    트리구조가 복잡해질수록  추후 파일손상시 수동병합 작업에 걸리는 시간이 늘어나며, 문제 해결가능성이 줄어듭니다.
    또한 AVHD화일의 사이즈가 증가하면 할수록 추후 VM 마이그레이션이나 유지보수시 시간이 급격히 증가됩니다.

    Hyper-V 1.0 ( 추후 나올 R2에서는 특정 스냅샷 시점에 대한 Export 가 가능해지지만) 인 현상황에서는  
    스냅샷 트리구조가 복잡해질수록 추후 트러블슈팅시 복잡해집니다

    이런 문제점들 때문에 스냅샷은 테스트랩 환경이나 패치 전후의 Crisit한 환경을 대비하는 용도로만 사용하셔야 하며
    온라인환경에서는 사용 안하시는것이 좋습니다

    백업이 문제라면   유지보수시간때 현상태의 VM을 Export 해서 별도의 한세트로 보관하는 것이 오히려 더 좋습니다.
    혹은 SCDPM 도입이 가능하다면 문제가 쉽게 해결이 되겠죠~
    jslee@techdata.co.kr | http://wishy.net/blog
    • 편집됨 jsleeMicrosoft employee 2009년 6월 2일 화요일 오전 12:48 오타 수정
    • 답변으로 표시됨 이혜진 2009년 6월 13일 토요일 오후 12:58
    2009년 5월 29일 금요일 오전 1:26

모든 응답

  • 스냅샷은 원본 가상디스크(.VHD)에 대한 차등디스크입니다(.AVHD)


    즉 원본 가상디스크에 대해 특정시점에 대한 스냅샷을 만들경우

    원본 A.VHD
    중간 스냅샷 B.AVHD
    현 스냅샷 C.AVHD 라 가정할때

    현시점에서 일어나는 모든 I/O는 C.AVHD에서 일어납니다.  ( A.vhd 나 B.avhd 화일사이즈는 증가되지 않습니다 )
    I/O Operation 이 A .VHD   -> C.AVHD 로 바뀌게되죠.


    그렇기 때문에 원본가상디스크에 대해 운영함에 따라
    시간이 지나면 지날수록 차이점이 증가하기 때문에  VHD폴더사이즈의 총합은   원본 + 중간스냅샷에 대한 차이점 (+N개 ) + 현시점에서 추가데이타 만큼 
    증가가 되겠죠..

    더욱이 이 상황에서 원본 가상디스크 A.VHD ->   중간 스냅샷 시점( B.AVHD )   -> 현 스냅샷 시점( C.AVHD) 의 
    동일 트리구조일때  중간스냅샷의 B.VHD 화일에 파일 손상이 날 경우
    추후 Export 시 한개의 VHD 파일로 병합할 방법이 없어집니다 
    ( Parent VHD 에 대한 차이점을 보관하는 AVHD화일이기 때문입니다.  C.AVHD의 Parent VHD는 B.AVHD 이기 때문이죠..  )

    * Fixed Size VHD 화일은 하단의 511Byte 헤더에 VHD내부에대한 Location을 담고있습니다 , Dynamic은 상/하단의 511Byte헤더
      헤더부분이 손상되면 복구방법은...-_-


    트리구조가 복잡해질수록  추후 파일손상시 수동병합 작업에 걸리는 시간이 늘어나며, 문제 해결가능성이 줄어듭니다.
    또한 AVHD화일의 사이즈가 증가하면 할수록 추후 VM 마이그레이션이나 유지보수시 시간이 급격히 증가됩니다.

    Hyper-V 1.0 ( 추후 나올 R2에서는 특정 스냅샷 시점에 대한 Export 가 가능해지지만) 인 현상황에서는  
    스냅샷 트리구조가 복잡해질수록 추후 트러블슈팅시 복잡해집니다

    이런 문제점들 때문에 스냅샷은 테스트랩 환경이나 패치 전후의 Crisit한 환경을 대비하는 용도로만 사용하셔야 하며
    온라인환경에서는 사용 안하시는것이 좋습니다

    백업이 문제라면   유지보수시간때 현상태의 VM을 Export 해서 별도의 한세트로 보관하는 것이 오히려 더 좋습니다.
    혹은 SCDPM 도입이 가능하다면 문제가 쉽게 해결이 되겠죠~
    jslee@techdata.co.kr | http://wishy.net/blog
    • 편집됨 jsleeMicrosoft employee 2009년 6월 2일 화요일 오전 12:48 오타 수정
    • 답변으로 표시됨 이혜진 2009년 6월 13일 토요일 오후 12:58
    2009년 5월 29일 금요일 오전 1:26
  • 스냅샷의 문제를 인지하고 있는 상태에서 결국엔 하나의 VM 에서 문제가 발생했습니다.

    해당 VM 의 스냅샷 폴더의 C.AVHD 가 200기가가 거의 다되가는 고객이었습니다.

    그래서 우선 나중을 생각해서 스냅샷을 전부 지웠습니다. 백업작업할때 저장-병합하고 나서 스냅샷을 하지 않으려구요..

    스냅샷을 다 지워도 SNAPSHOT 폴더에는 C.AVHD가 있는 폴더가 남아있는걸로 알고 있습니다.  (그래서 스냅샷을 다 삭제를 했구요... )

    헌데 오늘 새벽 문제가 발생햇습니다. VM이 중지가 되어있더군요

    시작을 했더니 해당 디렉토리를 찾지 못하면서 [설정]-디스크 부분에서 정상적으로 연결을 못하길래 삭제하고 다시 연결 설정을 다시 했습니다.

    그리고 나서 VM 이 시작되고  OS 가 올라오긴 했으나. 확인결과 원본 A.VHD만 올라오고 차이점이 쌓인  AVHD들이 반영이 되지 않고 올라와버립니다.


    T.T 완전 오마이갓입니다....

    그래서 한 작업이.. 저번달에 내보내기로 백업된 데이타가 있어 다른 HOST 로 내보내기 백업본을 옮긴후에  현시점의 VM의 SNAPSHOT 폴더 와  내보내기 백업본 SNAPSHOT 폴더내에

    차이가 나는 AVHD 파일들을 카피해서 옮겨줬습니다.  이벤트로그를 봐서는 반영이 좀 된거 같긴 한데...


    이 VM은 게다가 병합을 하기위해 [저장] 이나 [끄기]를 했음에도 불구하고 병합이 안됩니다.

    그리고 끄고 나서 병합이 찔끔찔끔 되는 VM들도 있구요.. 병합이 완료 됬다가도 다시 병합을 들어가고 반복이 되고 있습니다.

    SNAPSHOT 폴더내의 데이타들이 방대해지니 별일이 다 생기네요

    위 경우에 어떻게 해결할 방법 없을까요

    2009년 6월 13일 토요일 오후 1:20
  • 스냅샷 .avhd 를 원본VHD로 수동병합하는 방법입니다. 참고로 진행하세요.

      1. XML 화일을 오픈해서 이전에 받아둔 최근 스냅샷의 경로와 이름을 확인합니다.
      
       확장자는 .AVHD 입니다.

      2. 서버로 스냅샷화일을 복사합니다.

      3. 관련 서버를 오프라인 합니다.

      4. 복사된 스냅샷화일의 확장자를 VHD 로 변경합니다.

      5. 가상서버를 선택후 오른쪽 작업패널에서 디스크 편집을 선택합니다.

      6. 위에서 변경한 VHD  화일을 선택합니다.

      7. 병합을 선택합니다.

      8. 하위 Child 트리가 있다면 위 과정을 반복합니다.

     


    jslee@techdata.co.kr | http://wishy.net/blog
    2009년 6월 15일 월요일 오전 5:38