VMware--解决vmdk越来越大的问题(vmdk瘦身)

原文网址:VMware--解决vmdk越来越大的问题(vmdk瘦身)-CSDN博客

简介

本文介绍VMware解决vmdk越来越大的问题的方法。

问题描述

刚开始虚拟机的vmdk还不大,也就1G左右。用着用着,它越来越大,到了30多G!

原因分析

VMDK文件之所以大,是因为guest系统总是占用空间而不释放。

虚拟机删除文件只是把文件索引给剔除掉了,而删除的这个文件可能存在.vmdk的任何位置,对于windows来说,这个文件的中间有一块位置是0,此空间无法释放。唯一的办法就是用一些手段把这块0的空间推到.vmdk的末尾,这样windows就知道这个文件变小了。

vmware-vdiskmanager.exe就是干这个事情:对.vmdk进行空间整理,把中间那些是0的块给挪到后边去,就释放掉了。

解决方案

对vmdk进行瘦身。

1.在虚拟机Ubuntu里操作

复制代码
cat /dev/zero > zero.fill

最终会因为磁盘空间用完而退出:

查看一下zero.fill文件大小(77G):

然后删除此文件:

复制代码
rm -f zero.fill

2.在主机上操作

关闭虚拟机,使用vmware-vdiskmanager.exe来给vmdk瘦身。

本处我的VMware安装在D盘(D:\Program Files (x86)\VMware\VMware Workstation),vmdk在这里:vmware-vdiskmanager.exe -k "E:\work\vmware\Ubuntu20.04.1\Ubuntu20.04.1\Ubuntu20.04.1.vmdk"

到VMware目录下执行命令:

复制代码
vmware-vdiskmanager.exe -k "E:\work\vmware\Ubuntu20.04.1\Ubuntu20.04.1\Ubuntu20.04.1.vmdk"

查看*.vmdk文件,已经缩小了(大概缩小了一半):

相关推荐
新时代牛马39 分钟前
Linux 系统调用与IPC 完整篇:从syscall 入口、VDSO 到pipe/shm/futex 选型
linux·运维·服务器
fpcc2 小时前
计算机原理—Linux是如何加载可执行文件到内存
linux
野熊佩骑2 小时前
Kubernetes实战系列文章(三) 之 K8S运维常用命令
linux·运维·docker·微服务·云原生·容器·kubernetes
码农客栈2 小时前
linux 设备树下的 platform 驱动编写
linux
小HANN2 小时前
Linux建站实战:CentOS7+LNMP 从零部署 ECShop 开源电商系统
linux·运维·服务器·经验分享
池塘游鱼2 小时前
VMware虚拟机安装Windows 10系统 超详细图文教程
windows·vmware
做运维的阿瑞2 小时前
Shell 脚本经典十三问:引号、变量、子 Shell 与重定向一次讲清问:引号、变量、子 Shell 与重定向一次讲清
linux·tcp/ip
昌原的儿子LEO3 小时前
Linux IO多路复用与SQLite数据库核心知识点总结
linux·数据库·oracle
GeW3 小时前
RHCE通关秘籍:从零基础到高分拿证的5个加速器
linux
前端世界3 小时前
基于 Linux 的本地 AI 智能问答平台搭建实践 —— Ollama + FastAPI + Nginx 实现本地大模型 Web 服务
linux·运维·人工智能