저는 윈도우 7 초창기부터 SSD에 VHD 부팅을 사용했기 때문에, 사실 VHD라고 물리 디스크에 비해 퍼포먼스가 떨어진다는 느낌은 별로 받지 못했습니다. 하지만 VHD에 관심을 가지게 된 분들은 가장 먼저 퍼포먼스에 대한 걱정부터 하더군요.

검색하다 보니 이미 작년 3월에 관련 자료가 나와 있었는데...

http://download.microsoft.com/download/0/7/7/0778C0BB-5281-4390-92CD-EC138A18F2F9/WS08_R2_VHD_Performance_WhitePaper.docx

전부 읽어보시면 좋겠지만, 귀찮으시다면 중간에 나오는 도표만 보셔도 되겠습니다. 결과적으로 VHD 부팅이라 해서 성능이 떨어지는 부분은 거의 없어 보이네요. 물론 Fixed 방식에서 그렇다는 얘기고... ^^;; 저처럼 Expandable 방식에 Differencing VHD 부팅을 사용한다면 성능 저하는 좀 있습니다. 하지만 저는 SSD라서 성능 저하를 거의 느끼지 못하고 있지요. ^^;;


우선 아래 자료를 보시면 Fixed VHD의 경우 물리 디스크와 거의 차이가 없음을 알 수 있습니다.



하지만 Expandable VHD는 IOPS가 대략 80% 정도 나오고 있습니다. Differencing VHD 역시 Expandable 방식이기 때문에 이 결과를 보시면 되겠습니다.



아래 자료는 실제로 VHD 부팅을 했을 때 프로그램 구동 환경에서 IOPS 측정값입니다. 실질적으로 가장 중요한 테스트라 할 수 있는데요, 보시다시피 Fixed 방식은 물리 디스크와 거의 차이가 없지만 Expandable 방식은 80~90% 정도의 성능을 보이고 있습니다. 그래도 성능이 그렇게 떨어지는 것은 아니죠?



마지막으로 Expandable 방식의 장단점을 정리한 표입니다.

Dynamically expanding or

Differencing VHD

·         Good performance

·         Quicker to create  than fixed sized VHD

·         Grow dynamically to save disk space and provide efficient storage usage.

·         Smaller VHD file size makes it more nimble in terms of transporting across the network.

·         Blocks of full zeros will not get allocated and thus save the space under certain circumstances.

·         Compact operation is available to reduce the actual physical file size.

·         Interleaving of meta-data and data blocks may cause I/O alignment issues.

·         Write performance may suffer during VHD expanding.

·         Dynamically expanding and differencing VHDs cannot exceed 2040GB

·         May get VM paused or VHD yanked out if disk space is running out due to the dynamic growth.

·         Shrinking the virtual capacity is not supported.

·         Expanding is not available for differencing VHDs due to the inherent size limitation of parent disk.

·         Defrag is not recommended due to inherent re-directional layer.


장점은 한마디로 요약하자면 공간의 효율적 활용이라 볼 수 있고, 단점은 디스크 단편화와 성능 저하 정도가 되겠습니다.


제게 윈도우 7을 사용하는 이유를 꼽으라면 단연 0순위가 바로 VHD 부팅, 그것도 Differencing VHD 부팅 때문입니다. 나머지 편의성들은 그 다음입니다. 하지만 개인적으로 저는 SSD 사용자에게만 VHD 부팅을 권장합니다. 일반 하드에서 Expandable 부모에 Differencing 자식까지 붙이면 확실히 하드디스크 긁는 소리가 심할 것 같습니다. 물론 Fixed 부모에 Differencing 자식이라면 상황이 좀 나아지겠지만... SSD는 용량이 작아서 그렇다 쳐도 일반 하드에서는 그다지 용량 걱정할 일이 없으니 굳이 Differencing VHD 부팅을 활용하고 싶으시다면 일반 하드 사용자는 Fixed 부모 + Differencing 자식 조합을 추천합니다.
신고
Share
  1. 이전 댓글 더보기
  2. BlogIcon 엑소알(xor_life)
    2011.07.20 02:31 신고

    윗분처럼 저도 HDD에 Expandable로 사용하는데 게임을 안해서 그런지 그다지 성능저하는 느끼지 못하겠습니다. 조금 체감하는 부분이 있긴해도 별로 신경쓰일 정도도 아니고, Expandable VHD는 저~얼대 포기할 수 없는 것이니까요. ㅋㅋㅋ

  3. BlogIcon 시린
    2011.07.20 10:38 신고

    이미 expandable로 만들어진 vhd를 fixed로 변경하는 방법이 있나요?
    흠.. 설마 새로 만들어야 하나요??

  4. run2thesun
    2011.07.22 13:23 신고

    SSD에 VHD구성해서 사용하면 수명에 지장이 있지않나요?

    VHD가 매 부팅마다 부모든 자식이든 SSD에 마운트하는 원리잖아요..

    이러면 부팅시마다 쓰기작업이 된다는건데.. SSD의 수명에 영향이 있을거 같은데..

    이전에 사용하던 SSD가 2년도 못버티고 뻗은후 새걸로 교체한지 한달도 안됬는데 벌써 수명이 4%깍여서 민감합니다.

    답변좀 부탁드립니다

  5. BlogIcon 초고수
    2011.07.27 23:39 신고

    HDD 사용 중이지만... VHD 에 중독되어버렸습니다. 빠른 복구 때문에 끊을 수가 없습니다. ㅋㅋㅋ

  6. brendan
    2011.08.08 13:40 신고

    안녕하세요? 최근 VHD에 대해 공부하면서 많은 도움 받고 있습니다. 감사합니다.
    VHD에 Win7을 설치하였는데 C:\Users 폴더를 다른 파티션으로 옮겼습니다. XP 사용할 때부터 '내 문서, 즐겨찾기, 바탕화면'을 다른 파티션으로 옮겨놓고 OS를 쉽게 복원할 수 있도록 하기 위해서입니다. 그 이유로 VHD의 Users 폴더를 E:\Users 로 옮겼는데, 이렇게 하면, 자식 VHD를 사용하면서 추가 설치한 프로그램이나 설정값들이 E드라이브에 싸이게 되어 클린 VHD로 자식 VHD를 복구했을 때 깨끗하게 복구되지 않는 것 아닌가 하는 생각이 들었습니다.

    Users 폴더를 원래 위치 VHD의 C로 복구하고 필요한 폴더 즉, 내 문서, 즐겨찾기, 바탕화면 이렇게 3가지의 경로만 옮겨주는 방식으로 하는 것이 옳은 방법인지요? 머릿속에 정확한 개념이 없이 이것 저것 건드리다보니 '클린'에서 점점 멀어지는 것 아닌가 걱정됩니다. 빨리 마무리하고 자식 VHD를 생성해야 맘 놓고 사용할텐데요. 좀 도와 주세요!!

    • 아무개
      2011.08.31 00:40 신고
      수정 및 삭제

      윈도우의 My Documents 폴더, 바탕화면 등은 함부로 옮기는 것이 아닙니다.
      이는 Profile로 정의되어 있는 영역으로 일반 폴더와는 성격이 다릅니다. 옮기시지 마시고, C:\Users 는 두고 그 아래에 필요한 폴더를 링크로 D 드라이브로 생성해서 만드시길 권장합니다.
      정 옮기시고 싶으시다면, gpedit.msc 를 실행해서 profile 에 관련된 부분을 변경하십시오.

  7. daramz
    2011.08.30 17:28 신고

    run2thesun님
    SSD수명을 언급하셨는데 걱정하실 필요는 없는 듯 합니다.

    http://review.connect.kr/BIN/communityInfo/?mode=view&idx=463

    참고 하시면 되겠습니다.

  8. Fixed VHD
    2011.09.09 17:30 신고

    Fixed VHD 부모와 Expandable VHD 자식을 사용하는 경우 성능저하가 없다는 말씀인가요? HDD 사용자인데 Fixed VHD 방식으로 설치할껄 그랬네요. 지금도 딱히 불편함은 없지만..

  9. BlogIcon 조강로
    2011.09.28 00:27 신고

    고마 읍니ㅏ가입어떳 합니까

  10. BlogIcon 조강로
    2011.09.28 00:32 신고

    십게해주세요


  11. 2011.10.08 00:24 신고

    스누피님 윈7 엔터프라이즈로도 vhd생성과 vhd부팅이 가능합니까?
    얼티밋 버전이 아니라 엔터프라이즈 버젼이요

    스누피님 블로그를 보면서 정말 많은 도움 얻어갑니다 (__)

    • BlogIcon snpbox
      2011.10.08 00:47 신고
      수정 및 삭제

      네 VHD 부팅은 엔터프라이즈, 얼티밋 버전만 가능합니다. (서버는 전부 가능)


  12. 2011.10.08 10:18 신고

    스누피님 엔터프라이즈는 vhd 생성은 안되는건가요??,부팅만 가능한건가요?
    아님 양쪽다 가능 한건가요??

    제가 윈7 엔터프라이즈는 정품이 있거든요, 그래서 이와 같은 질문을 드렸습니다 ^^


  13. 2011.10.08 11:37 신고

    스누피님 블로그 보면서 열심히 vhd를 공부하고있습니다.
    일반 하드라서 스누피님 추천에 따라 부모는 고정으로 사용하고 자식 생성해서 사용할려고 합니다.
    이때 용량에 대해서 궁금하여 검색해서 용량 관련 글을 봤는데 이해가 안가는 부분이 있습니다.
    부모가 고정 40g이고, 사용중 용량은 10g가 이고, 자식 생성후 자식에 응용프로그램을 대략 15g설치했다면 하드에서 차지하는 총용량이
    1. 부모 40g+ 자식 40g + 15g 입니까?
    2. 아니면 부모 40g+ 자식 40g chd 80g를 하드에서 차지합니까?
    관련글을 봐도 제가 이해를 잘 못하여 이렇게 질문드립니다.


  14. 2011.10.08 14:53 신고

    스누피님 답변 감사합니다 (__)


  15. 2011.10.08 20:09 신고

    다시 또 질문입니다 ^^;;
    부모(fixed) 20g + 자식(100kb) 이때 자식으로 부팅해도 40g를 차지하나요?
    그렇다면 왜 20g+100kb가 아닌 40g인지 원리를 알수가 있을까요?
    용량을 차지하는 원리가 참 궁금합니다.

    • 그건
      2012.01.19 10:23 신고
      수정 및 삭제

      자식파일로 부팅하면 그 크기가 일시적으로 부모의 크기만큼 늘어납니다.
      개념이 (부모+추가되는부분)이지만 그건 사용 후의 결과적인 것이고,
      사용 중에서는 부모의 크기만큼 확장이 되는 겁니다.

      예를들어 부모가 fixed 20기가이고 실제 프로그램이 설치된건 10기가라고 했을 때 여유공간은 10기가입니다.
      자식으로 부팅하면 일단 파일은 부모의 크기만큼 임시적으로 확장이 됩니다.
      그래서 총 용량은 40기가를 차지합니다.
      이 상태에서 프로그램 2기가를 깔고 난 후 재부팅을 부모로 다시 한다면
      용량은 부모20기가 + 자식 2기가를 차지하게 됩니다.

      단점이라면 단점일 수 있는 부분이죠.
      실제 하드용량의 반까지만 부모를 설정해야 한다는 점..

  16. 초보자
    2011.10.22 15:31 신고

    VHD에 대해서 많은 글들을 보고 나름 이렇게 하기로 했습니다.

    개인적으로 수시로 복원하는과정은 없을것 같고 편의성보다는 성능을

    중요시 하기 때문에 FIXED 단일로 사용하면서 VHD화일을 하드에 백업하는 방식

    또는 FIXED부모에 Differencing 자식을 두는방식.........

    둘중에 고려중인데 성능 차트를 보니 FIXED만이 성능저하가 없더군요.

    그렇다면 FIXED 부모를 두고 Differencing 자식으로 사용하면 성능저하가 있는건가요 없는건가요?

  17. VHD User
    2012.01.19 13:36 신고

    이 글과는 상관없지만, ssd(60)+VHD 사용 중 궁금해서 여쭙니다.
    스누피님이 아니시더라도 답변 좀 부탁드리겠습니다.

    메모리를 4기가로 업그레이드 하고, 64비트 win7을 설치했습니다.
    제 직업상 고용량 프로그램들이 많아서,
    VHD(expandable)를 30G로 설정하고,
    자식 VHD로 부팅하고 나니,
    바로 ssd 용량부족으로 블루스크린 떠버리더군요.

    VHD를 포기해야 하나요?

    • BlogIcon 노라스
      2012.02.06 13:33 신고
      수정 및 삭제

      정확한건 아니지만 제 생각에는 60G를

      반으로 쪼개서 30G로 하신거 같은데

      여유 공간 생각하셔서 좀 줄이셔서 해보세요

    • 호기심유저
      2012.02.11 10:07 신고
      수정 및 삭제

      60기가면 충분히 사용가능해보입니다 윈7 64비트 울티를설치하면 10기가정도 먹어니 30기가 확장형식으로 윈도우를 설치하면 부모vhd는 10기가고 자식으로 불러들이면 30기가일테구요 즉 총40기가니깐요
      용량 문제가아니라 다른문제가 아닐까요?
      저도 vhd 호기심에 부모 vhd생성은 성공했는데 자식vhd를 만드니 블루스크린이 뜨더군요 좀더 연습해봐야겠습니다 그리고 물리적인 하드 c드라이브에 윈7을 설치안하고 vhd에 바로 윈도우를 설치후에 자식vhd를 만들었다가 블루스크린떠니 참난감하더군요 일반적으로c드라이브에 윈도우를 설치했다면 이상있다면 스누피고스트로 복구가 쉬웟을텐데 vhd상에선 실행불가능이더군요

  18. 사마중달
    2013.04.04 13:44 신고

    윈도8 이 깔린상태에서
    윈도7
    윈도 xp를
    멀티부팅할수 있을런지요
    방법이 궁금합니다

  19. BlogIcon HugeJH
    2013.05.28 12:27 신고

    Expandable 로 하다가 다시 Fixed 부모 + Differencing 자식 조합을 추천한다고하여 다시 설치합니다.

    윈도우8 과 윈도우 7을 자식교차부팅하려면 어떻게 해야 할까요.

  20. BlogIcon HugeJH
    2013.05.28 12:46 신고

    질문입니다.

    자식1에서 부모파일을 교체는 불가능하죠?

  21. 친일파말살
    2013.07.22 19:35 신고

    안녕하세요.항상 새로운 정보가 없나 기웃 거리는 친스누피 유저입니다.
    .며칠전 부터 VHD 설치 관련 자료 찾아보고 이것 저것 해서 최근해서 설치 되었습니다.
    SSD30GB+500GB/이며 UEFI 설치후 빠른캐쉬를 잡고 보니 부팅속도 8초이내 여러모로
    편하네요..스누피님이 언급하신 Fixed 추전하신다고 하니 또 고민이네요...^^