VMware 디스크 크기를 줄이는 방법


15

내 우분투 이미지 VMware 디스크가 실제 파일 크기가 5GB로 증가했습니다. 최대 용량이 8GB 인 동적으로 증가하는 디스크입니다. 나는 리눅스 배포판 내부에서 물건을 청소했고 지금은 3GB를 차지합니다. 실제 파일 크기는 자동으로 줄어들지 않았습니다. 이 디스크를 ~ 3GB로 축소하는 방법 (가능한 경우 무료)이 있습니까?

DVD의 이미지에 맞추려면 이것이 필요합니다.

답변:


21

세 단계가 있습니다.

  1. 조각 모음 (아무것도 다시 마운트 할 필요가 없습니다)

    sudo e4defrag /

    오류를 무시하십시오. 심볼릭 링크 및 장치 파일과 같은 일부 파일은 조각 모음 할 수 없습니다.

  2. VMware가 사용하지 않는 공간을 모두 알 수 있도록 사용되지 않은 공간을 모두 채우십시오.

    dd if=/dev/zero of=wipefile bs=1M; sync; rm wipefile

  3. 축소 작업을 실행하십시오.

    sudo vmware-toolbox-cmd disk shrinkonly


이것은 VMWare Workstation에 대한 정답입니다. 고마워요, 많은 도움이되었습니다!
Clonkex

옳은. VM웨어 워크 스테이션 (14), CentOS의 7 개 고객에서 잘 작동
odiszapc

1
S3과 같은 마운트 된 외부 볼륨으로이를 실행하는 경우주의하십시오. zero fill 명령은 S3 버킷에 256TB 와이프 파일을 생성하려고 시도합니다.
paj

Windows 10 호스트 및 Ubuntu 16 게스트에서 나를 위해 일했습니다. 처음에는 3 단계를 호스트에서 실행해야한다고 생각했지만 잘못되었습니다. 모든 단계를 수행 한 후 여기에 설명 된대로 파일 시스템 검사도 실행합니다. askubuntu.com/a/953750/590877
Alex Che

1
+1, 그러나 2 단계에 zerofree를 사용하는 것이 훨씬 빠르고 깨끗할 것이라고 생각합니다 : manpages.ubuntu.com/manpages/xenial/man8/zerofree.8.html
Étienne

15

해결책을 찾았습니다. 하드 드라이브를 압축해야합니다.

가상 머신-설정-일반-가상 머신 정리


와. 마지막 으로이 답변을 찾았습니다. 하지만 ... 가상 디스크를 압축해도 실제로 여유 공간이 확보되지 않는 이유는 무엇입니까?
Wizard79

8
게스트 Ubuntu OS (VMware Tools가 설치되어 있다고 가정)에서이 작업을 수행해야합니다. "vmware-toolbox-cmd disk shrink /"(작업을 수행해야 함).
DH4

ESXi에는 적용되지 않습니다. 이를 위해 아래의 답변을 참조하십시오.
Collin Chaffin

3

게스트에서 VMware Toolbox를 열고 (루트로) 디스크를 축소하십시오. (선적 서류 비치)


VMware Tools가 없으면 두 단계로 디스크를 수동으로 축소 할 수 있습니다. 먼저 zerofree 와 같은 도구를 사용하여 가상 디스크의 여유 공간을 비 웁니다 . Zerofree는 Ubuntu 에서 사용할 수 있지만 게스트 OS 파일 시스템을 읽기 전용으로 마운트해야하므로 라이브 CD에서 실행할 수 있습니다. Parted Magic 은 제로 프리를 포함한다고한다.

여유 공간을 0으로 설정 한 후 가상 머신 설정을 열고 가상 디스크를 압축하십시오.


3
vmware 도구 상자 UI는 더 이상 없지만 여전히 "vmware-toolbox-cmd disk shrink /"를 사용하여 작업을 수행 할 수 있습니다.
DH4 2016 년

3

사용하다

sudo vmware-toolbox-cmd disk shrinkonly

우분투 게스트의 명령 프롬프트에서.

(Ubuntu 14.04 LTS 게스트 + Windows 10 호스트 + VMWare Workstation 12.1.1에서 테스트)


1

VMWare 하드 디스크 크기 조정 :

VMWare에서 동적 가상 하드 디스크를 쉽게 확장 할 수 있으며 더 이상 vmware-vdiskmanager.exe기본적으로에 있는 명령 줄 도구가 필요하지 않습니다 C:\Program Files\VMware\VMware Workstation\.

크기를 조정하려면 다음 명령을 사용하십시오 (WIN + R을 눌러 명령 프롬프트를 열고 cmd를 입력하십시오) : " C:\Program Files\VMware\VMware Workstation\vmware-vdiskmanager.exe" -x NEWSIZE "diskname.vmdk"

절차 :

다음 단계는 다음과 같습니다.

  • 여기에서 다운로드 하십시오
  • 설치
  • 열다
  • 파티션을 선택하고 크기 조정 / 이동을 클릭 한 후 핸들을 전체 너비로 끕니다.
  • 적용을 클릭하십시오
  • 재부팅에 동의
  • 시작하는 동안 아무 키나 누르지 마십시오
  • 부팅 모듈이 작업을 수행하게하십시오
  • Windows 시스템 파티션 크기가 증가했는지 확인하십시오.

단계 및 추가 정보에 대한 시각적 설명은 여기를 참조 하십시오 .


1

이 단계는 나를 위해 완벽하게 작동했습니다.

1) 제로 필 미사용 공간

cat /dev/zero > zero.fill;sync;sleep 1;sync;rm -f zero.fill

2) vmware 도구 상자로 디스크 축소

sudo vmware-toolbox-cmd disk shrink /

Ubuntu 16.04, VMware Workstation 12.1.0 Player, Windows 7 Host에서 테스트되었습니다.


0

ESXi에서 디스크 축소가 가능합니다.

  1. 큰 파일을 찾아 삭제하십시오.

    찾기 /-타입 f-크기 + 50M

  2. 조각 모음 (아무것도 마운트 해제하지 않아도 됨) 오류를 무시하십시오. 심볼릭 링크 및 장치 파일과 같은 일부 파일은 조각 모음 할 수 없습니다.

    sudo e4defrag /

  3. VMware가 사용하지 않는 공간을 모두 알 수 있도록 사용되지 않은 공간을 모두 채우십시오.

    dd if = / dev / zero of = wipefile bs = 1M; 동조; rm 와이프 파일

  4. 축소 작업을 실행하십시오. 4가 실패하면 5로 진행하십시오.

    sudo vmware-toolbox-cmd 디스크 축소 전용

  5. try 옵션으로 Linux 시스템을 재부팅하고 gparted를 사용하여 파티션 테이블을 편집하십시오. 루트 파일 시스템을 축소하고 스왑 파티션을 삭제하고 루트 파티션 근처로 이동하십시오.

  6. ESXi로 SSH하고 다음 명령을 실행하십시오.

    vmkfstools -K /vmfs/volumes/volumename/vmname/vmname.vmdk

  7. * .vmdk 파일을 편집해야합니다. RW 문자 뒤에 VMware 가상 디스크 (VMDK)의 크기를 정의합니다.

    * 40GB = 40 * 1024 * 1024 * 1024/512 = 83886080 *

  8. 새로운 크기를 반영하기 위해 다른 데이터 스토어로 마이그레이션하십시오.


(1) 문제는 파일 시스템 사용을 줄이는 방법에 관한 것이 아닙니다. 그것은 OP가 이미 그렇게했다고 말합니다. 따라서 당신의 find명령은 실제로 관련이 없습니다. (2) 무엇을 vmkfstools -K합니까? (3) 파일을 수동으로 편집 하시겠습니까? 정말? (4) 사용자가 파일에서 변경해야 할 사항에 대한 지침을 이해하지 못합니다. (5) 다른 데이터 스토어로 마이그레이션하는 것에 대해 무엇을 말하고 있습니까? (0) 당신이하는 말의 대부분은 이미 다루었습니다. ………………………………………  명확하고 완전하게 답변을 편집 하십시오.
Scott

글쎄, 나는 VMware 사람입니다 (이 중 하나를 시도하는 사람도 있어야한다고 생각합니다).이 답변은 ESXi에도 적용되는 유일한 답변 일뿐 만 아니라 (ESXi는 vmtools를 통해 Linux 게스트 축소를 지원하지 않기 때문에) 궁극적으로 완벽하게 만들어졌습니다 나에게 감각. 그것으로 말하면, 7 단계는 불필요 할뿐만 아니라 잘못되었습니다. 축소는 실제 볼륨 크기를 변경하지 않기 때문에 6 단계 후에 간단히 중지합니다. 8 단계 (스토리지 마이그레이션)는 vmkfstools를 실행하지 않고 디스크를 축소하려는 경우에만 사용됩니다. 5a-SHUT DOWN 게스트.
Collin Chaffin

위의 답변을 참조하십시오. 5 단계에 나열된 vmtools 기반 cmd는 모든 ESXi 호스트 기반 시나리오에서 지원되지 않거나 작동하지 않으므로 잘못되었습니다.
Collin Chaffin

0

ESXi / vSphere Linux 게스트에서 VMDK 디스크 씬닝 (축소)

참고 : "축소"는 종종 얇은 유형 디스크 파일의 크기를 줄이는 프로세스를 나타 내기 위해 상호 교환 적으로 사용됩니다. VMware는 "수축 (shrink)"이라는 용어를 사용하여 게스트가 사용할 수있는 디스크의 기본 크기를 줄이고, 사용 가능한 공간의 기본 크기를 변경하지 않고 사용되지 않은 공간을 다시 사용하는 프로세스를 가장 많이 사용하는 "박화"를 나타냅니다.

ESXi는 Linux 게스트에서 vmtools 기반 축소를 지원하지 않으므로 다음 단계를 사용해야합니다. 자세한 내용은 아래 참조 링크를 참조하십시오.

  1. (가능한 경우) 다음 단계가 대상 볼륨을 순간적으로 채우므로 모든 디스크 쓰기 집약적 응용 프로그램 및 서비스를 중지

  2. 대상 VMDK에서 볼륨 조각 모음을 수행하고 심볼릭 링크 / 장치 파일 등의 오류를 무시하십시오. 조각 모음을 수행 할 수 없습니다.

    # USE sudo IF NECESSARY IN YOUR CONFIG!
    e4defrag /
    # or e4defrag /mnt/MOUNTVOLUME
  1. 사용하지 않은 공간을 모두 채우십시오.
    dd if=/dev/zero of=/mnt/MOUNTVOLUME/zeroes bs=1M; sync; rm /mnt/MOUNTVOLUME/zeroes
  1. 손님 종료 및 전원 끄기

  2. ESXi 호스트에 SSH하고 다음 명령을 실행하십시오.

    # Check current vmdk allocation
    du -h /vmfs/volumes/volumename/vmname/vmname.vmdk

    # Shrink it
    vmkfstools -K /vmfs/volumes/volumename/vmname/vmname.vmdk

    # Check again to verify shrinkage
    du -h /vmfs/volumes/volumename/vmname/vmname.vmdk
  1. 게스트 전원 켜기

출처

https://kb.vmware.com/s/article/1002019

대부분의 파일 시스템에서 파일을 삭제해도 완전히 제거되지는 않습니다. 파일 테이블 만 변경됩니다. 지우개 또는 SDelete와 같은 프리웨어 보안 파일 삭제 유틸리티를 사용하면 볼륨의 여유 공간을 '0'으로 설정하여 데이터의 여유 공간을 효과적으로 지울 수 있습니다. 그런 다음 디스크를 올바르게 얇게 할 수 있습니다. 그런 다음 vmkfstools -K 명령 (ESXi / ESX 4.1 이상)을 사용하여 블록 회수를 완료하거나 Storage vMotion을 사용하여 가상 머신을 다른 VMFS 블록 크기의 데이터 스토어로 마이그레이션 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.