답변:
세 단계가 있습니다.
조각 모음 (아무것도 다시 마운트 할 필요가 없습니다)
sudo e4defrag /
오류를 무시하십시오. 심볼릭 링크 및 장치 파일과 같은 일부 파일은 조각 모음 할 수 없습니다.
VMware가 사용하지 않는 공간을 모두 알 수 있도록 사용되지 않은 공간을 모두 채우십시오.
dd if=/dev/zero of=wipefile bs=1M; sync; rm wipefile
축소 작업을 실행하십시오.
sudo vmware-toolbox-cmd disk shrinkonly
해결책을 찾았습니다. 하드 드라이브를 압축해야합니다.
가상 머신-설정-일반-가상 머신 정리
게스트에서 VMware Toolbox를 열고 (루트로) 디스크를 축소하십시오. (선적 서류 비치)
VMware Tools가 없으면 두 단계로 디스크를 수동으로 축소 할 수 있습니다. 먼저 zerofree 와 같은 도구를 사용하여 가상 디스크의 여유 공간을 비 웁니다 . Zerofree는 Ubuntu 에서 사용할 수 있지만 게스트 OS 파일 시스템을 읽기 전용으로 마운트해야하므로 라이브 CD에서 실행할 수 있습니다. Parted Magic 은 제로 프리를 포함한다고한다.
여유 공간을 0으로 설정 한 후 가상 머신 설정을 열고 가상 디스크를 압축하십시오.
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
"
절차 :
다음 단계는 다음과 같습니다.
이 단계는 나를 위해 완벽하게 작동했습니다.
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에서 테스트되었습니다.
큰 파일을 찾아 삭제하십시오.
찾기 /-타입 f-크기 + 50M
조각 모음 (아무것도 마운트 해제하지 않아도 됨) 오류를 무시하십시오. 심볼릭 링크 및 장치 파일과 같은 일부 파일은 조각 모음 할 수 없습니다.
sudo e4defrag /
VMware가 사용하지 않는 공간을 모두 알 수 있도록 사용되지 않은 공간을 모두 채우십시오.
dd if = / dev / zero of = wipefile bs = 1M; 동조; rm 와이프 파일
축소 작업을 실행하십시오. 4가 실패하면 5로 진행하십시오.
sudo vmware-toolbox-cmd 디스크 축소 전용
try 옵션으로 Linux 시스템을 재부팅하고 gparted를 사용하여 파티션 테이블을 편집하십시오. 루트 파일 시스템을 축소하고 스왑 파티션을 삭제하고 루트 파티션 근처로 이동하십시오.
ESXi로 SSH하고 다음 명령을 실행하십시오.
vmkfstools -K /vmfs/volumes/volumename/vmname/vmname.vmdk
* .vmdk 파일을 편집해야합니다. RW 문자 뒤에 VMware 가상 디스크 (VMDK)의 크기를 정의합니다.
* 40GB = 40 * 1024 * 1024 * 1024/512 = 83886080 *
새로운 크기를 반영하기 위해 다른 데이터 스토어로 마이그레이션하십시오.
find
명령은 실제로 관련이 없습니다. (2) 무엇을 vmkfstools -K
합니까? (3) 파일을 수동으로 편집 하시겠습니까? 정말? (4) 사용자가 파일에서 변경해야 할 사항에 대한 지침을 이해하지 못합니다. (5) 다른 데이터 스토어로 마이그레이션하는 것에 대해 무엇을 말하고 있습니까? (0) 당신이하는 말의 대부분은 이미 다루었습니다. ……………………………………… 명확하고 완전하게 답변을 편집 하십시오.
참고 : "축소"는 종종 얇은 유형 디스크 파일의 크기를 줄이는 프로세스를 나타 내기 위해 상호 교환 적으로 사용됩니다. VMware는 "수축 (shrink)"이라는 용어를 사용하여 게스트가 사용할 수있는 디스크의 기본 크기를 줄이고, 사용 가능한 공간의 기본 크기를 변경하지 않고 사용되지 않은 공간을 다시 사용하는 프로세스를 가장 많이 사용하는 "박화"를 나타냅니다.
ESXi는 Linux 게스트에서 vmtools 기반 축소를 지원하지 않으므로 다음 단계를 사용해야합니다. 자세한 내용은 아래 참조 링크를 참조하십시오.
(가능한 경우) 다음 단계가 대상 볼륨을 순간적으로 채우므로 모든 디스크 쓰기 집약적 응용 프로그램 및 서비스를 중지
대상 VMDK에서 볼륨 조각 모음을 수행하고 심볼릭 링크 / 장치 파일 등의 오류를 무시하십시오. 조각 모음을 수행 할 수 없습니다.
# USE sudo IF NECESSARY IN YOUR CONFIG!
e4defrag /
# or e4defrag /mnt/MOUNTVOLUME
dd if=/dev/zero of=/mnt/MOUNTVOLUME/zeroes bs=1M; sync; rm /mnt/MOUNTVOLUME/zeroes
손님 종료 및 전원 끄기
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
https://kb.vmware.com/s/article/1002019
대부분의 파일 시스템에서 파일을 삭제해도 완전히 제거되지는 않습니다. 파일 테이블 만 변경됩니다. 지우개 또는 SDelete와 같은 프리웨어 보안 파일 삭제 유틸리티를 사용하면 볼륨의 여유 공간을 '0'으로 설정하여 데이터의 여유 공간을 효과적으로 지울 수 있습니다. 그런 다음 디스크를 올바르게 얇게 할 수 있습니다. 그런 다음 vmkfstools -K 명령 (ESXi / ESX 4.1 이상)을 사용하여 블록 회수를 완료하거나 Storage vMotion을 사용하여 가상 머신을 다른 VMFS 블록 크기의 데이터 스토어로 마이그레이션 할 수 있습니다.