Microsoft MVP성태의 닷넷 이야기
개발 환경 구성: 29. VHD 파일 크기 줄이기 [링크 복사], [링크+제목 복사],
조회: 26688
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 


VHD 파일 크기 줄이기


VHD의 파일 크기가... 71GB를 육박했습니다. ^^;

shrink_vhd_disk_1.png

어쩌다가, DB 트랜잭션 로그 관리를 잘못해서 ^^; 하드 디스크의 남은 용량이 20MB 정도일 때까지 계속 커지게 된 것이었습니다.

참고로, 저는 DB 백업 관리에 대해서 다음의 사이트 자료를 이용했습니다. (잘 정리된 사이트입니다. ^^)

SQLWorld - 운영
; http://www.sqlworld.pe.kr/mboard/mboard/mboard.asp?board_id=sql02&group_name=board

어쨌든, 지금 당장은 VHD 파일의 크기를 줄이는 것이 급선무입니다. 아시겠지만, 한번 늘어난 VHD 파일은 내부의 파일을 지운다고 해서 VHD 파일 자체의 크기가 줄어들지는 않습니다. 예전에 이와 관련해서 토픽을 하나 소개해 드렸었지요! ^^

VHD 파일 크기 줄이기 
; https://www.sysnet.pe.kr/2/1/394

경험이 쌓이다 보니, 데이터 파일 관련 공간을 별도로 마련해 두기 위해서 VPC를 만들 때는 반드시 D 드라이브용 VHD를 일부러 만들어서 사용하고 있었습니다. 그러다 보니, 위의 토픽에서 소개한 여러 가지 단계 중에서 12번 단계부터 시작할 수가 있었습니다. 간단히 디스크 축소 작업을 2번 정도 하다 보니, 다음과 같이 크기가 줄어들 수 있었습니다.

shrink_vhd_disk_2.png
shrink_vhd_disk_3.png

그런 후, "Virtual Disk Precompactor"를 실행시킨 다음 VPC를 종료하고 마지막 단계인 "Compact" 단계를 밟으려는 순간.

^^; 결정적으로 Compact 단계에 소모될 디스크 공간이 없어서 작업 진행이 더 이상 안되었습니다. 그도 그럴 수밖에 없는 것이, 70GB가 넘는 자료를 20MB 남은 공간에서 다루기가 무척 버거웠을 테니까요.

할 수 없이, 좀 무식한 (그러면서도 효율적인) 방법을 택했습니다. 일단, 새로 VHD 파일을 만들어서 VPC에 연결시킨 후 F 드라이브로 할당했습니다. 그다음, 70GB로 늘어난 기존 D 드라이브의 내용을 모두 robocopy.exe로 복사를 하고 VPC를 종료한 다음 2개의 VHD 파일명을 바꿔버렸습니다. ^^; 부팅한 다음 F로 할당된 드라이브 문자를 D 드라이브로 해주니... ^^ 아주 잘 동작하는군요.





[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 7/7/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 76  77  78  79  80  81  82  83  84  85  [86]  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
11819정성태2/20/201923537Windows: 158. 컴퓨터와 사용자의 SID(security identifier) 확인 방법
11818정성태2/20/201921587VS.NET IDE: 131. Visual Studio 2019 Preview의 닷넷 프로젝트 빌드가 20초 이상 걸리는 경우 [2]
11817정성태2/17/201917502오류 유형: 514. WinDbg Preview 실행 오류 - Error : DbgX.dll : WindowsDebugger.WindowsDebuggerException: Could not load dbgeng.dll
11816정성태2/17/201921431Windows: 157. 윈도우 스토어 앱(Microsoft Store App)을 명령행에서 직접 실행하는 방법
11815정성태2/14/201919557오류 유형: 513. Visual Studio 2019 - VSIX 설치 시 "The extension cannot be installed to this product due to prerequisites that cannot be resolved." 오류 발생
11814정성태2/12/201918207오류 유형: 512. VM(가상 머신)의 NT 서비스들이 자동 시작되지 않는 문제
11813정성태2/12/201919189.NET Framework: 809. C# - ("Save File Dialog" 등의) 대화 창에 확장 속성을 보이는 방법
11812정성태2/11/201916558오류 유형: 511. Windows Server 2003 VM 부팅 후 로그인 시점에 0xC0000005 BSOD 발생
11811정성태2/11/201922414오류 유형: 510. 서버 운영체제에 NVIDIA GeForce Experience 실행 시 wlanapi.dll 누락 문제
11810정성태2/11/201919350.NET Framework: 808. .NET Profiler - GAC 모듈에서 GAC 비-등록 모듈을 참조하는 경우의 문제
11809정성태2/11/201922241.NET Framework: 807. ClrMD를 이용해 메모리 덤프 파일로부터 특정 인스턴스를 참조하고 있는 소유자 확인
11808정성태2/8/201923696디버깅 기술: 123. windbg - 닷넷 응용 프로그램의 메모리 누수 분석
11807정성태1/29/201921439Windows: 156. 가상 디스크의 용량을 복구 파티션으로 인해 늘리지 못하는 경우 [4]
11806정성태1/29/201920519디버깅 기술: 122. windbg - 덤프 파일로부터 PID와 환경 변수 등의 정보를 구하는 방법
11805정성태1/28/201923307.NET Framework: 806. C# - int []와 object []의 차이로 이해하는 제네릭의 필요성 [4]파일 다운로드1
11804정성태1/24/201920872Windows: 155. diskpart - remove letter 이후 재부팅 시 다시 드라이브 문자가 할당되는 경우
11803정성태1/10/201919829디버깅 기술: 121. windbg - 닷넷 Finalizer 스레드가 멈춰있는 현상
11802정성태1/7/201921457.NET Framework: 805. 두 개의 윈도우를 각각 실행하는 방법(Windows Forms, WPF)파일 다운로드1
11801정성태1/1/201922433개발 환경 구성: 427. Netsh의 네트워크 모니터링 기능 [3]
11800정성태12/28/201821854오류 유형: 509. WCF 호출 오류 메시지 - System.ServiceModel.CommunicationException: Internal Server Error
11799정성태12/19/201823777.NET Framework: 804. WPF(또는 WinForm)에서 UWP UI 구성 요소 사용하는 방법 [3]파일 다운로드1
11798정성태12/19/201822357개발 환경 구성: 426. vcpkg - "Building vcpkg.exe failed. Please ensure you have installed Visual Studio with the Desktop C++ workload and the Windows SDK for Desktop C++"
11797정성태12/19/201818082개발 환경 구성: 425. vcpkg - CMake Error: Problem with archive_write_header(): Can't create '' 빌드 오류
11796정성태12/19/201818930개발 환경 구성: 424. vcpkg - "File does not have expected hash" 오류를 무시하는 방법
11795정성태12/19/201822342Windows: 154. PowerShell - Zone 별로 DNS 레코드 유형 정보 조회 [1]
11794정성태12/16/201818247오류 유형: 508. Get-AzureWebsite : Request to a downlevel service failed.
... 76  77  78  79  80  81  82  83  84  85  [86]  87  88  89  90  ...