1. 公司的服务器采用ESXi 进行管理. 有时候为了灵活性,需要将虚拟机从ESXi服务器上面导出来. 放置到不同的客户机器上面去.

2. 但是发现,比如我在linux里面安装了Oracle数据库, 里面还有Oracle数据库的安装文件, 虚拟机df -h 提示占用空间 55G以上, 我删除了所有的垃圾文件, 看到占用文件信息变成了35G左右.

我将虚拟机导出成为 ovf文件,然后使用workstation导入.发现磁盘文件还是接近60G没有大的变化  如下图示:

虚拟机实际的磁盘占用信息

3. 最简单的解决办法:

. 将导出的ovf文件 在workstation 执行导入
就是第一个张图里面的结果.
并且执行开机操作.ESXi虚拟机里面删除完文件之后执行导出,在workstation里面执行导入,并且开机.
执行如下两个命令
dd if=/dev/zero of=/zero.file bs=2M
rm -rf /zero.file
#注意 dd 命令非常缓慢.根据不同机器的性能执行时间不一样.
#方法来源: https://blog.csdn.net/weixin_42741271/article/details/97256803
#注意这个命令 我在ESXi上面的虚拟机执行,直接导致磁盘文件变成了df -h 里面的容量大小(200G), 但是在Workstation虚拟机里面执行,文件仅仅增长了不到1G. . 将 workstation的安装目录放到 环境变量里面去
#注意这一边我就是偷懒,不想输入老长一堆的路径用的.
#比如默认安装我这边的目录如图示

虚拟机内文件的信息

. 进入workstation vmdk 所在的目录执行命令进行shrink
最简单的办法如下:
在地址栏里面输入 cmd 打开命令行就精确定位到当前目录了.

4. 执行命令
vmware-vdiskmanager.exe -k xxxx.vmdk #注意 一定要保证宿主机的磁盘剩余空间大于 vmdk的文件大小.
#shrink的速度比较慢.
#虽然有一个GUI的界面可以shrink磁盘文件,但是我发现linux的情况下或者某一些极端情况shrink是无效的
#使用命令行反而就有效果.
#需要注意一下shrink的速度是比较慢的. 有百分比的进度显示可以参考.
#我这边接近60G的硬盘, 如果不执行 dd 命令的话 shrink无效.并且shrink的时间大约是20分钟. 如果执行了dd命令, shrink的时间大概是15分钟. 硬盘性能差不多 一分钟读取加写入3G左右. 之后的文件是35G大小.

执行shrink命令的最终文件大小

ESXi以及WorkStation缩减thin provision模式Linux虚拟机磁盘的方法的更多相关文章

  1. Vmware Linux虚拟机磁盘扩容方法

    我的LINUX版本是ubuntu12.04 32bit.今天在下载android源代码的时候发现自己最初给这个虚拟机分配的磁盘空间不足了(只有20G).所以就需要给磁盘扩容.网上大致搜索了一下,主要有 ...

  2. 最简单的Linux虚拟机磁盘扩容方法

    思路:1.虚拟机增加磁盘容量: 2.将增加的磁盘容量增加到系统分区中: 准备阶段: 下载Gparted软件:https://sourceforge.net/projects/gparted/files ...

  3. linux虚拟机磁盘扩展与分区大小调整

    有段时间觉得linux虚拟机上的磁盘不太够用,研究了下其磁盘扩展 1.linux虚拟机磁盘扩展 step1. 先关机在编辑虚拟机中,找到硬盘选项增加空间,进行扩展step2. 进入root fdisk ...

  4. vmware 因误删Linux 虚拟机磁盘,无法启动处理方法

    有可能我们在做了以下误操作,导致Linux系统无法启动: 1). 磁盘损坏或虚拟机磁盘被我们删除了,而fstab文件没有更新: 2). 由于误操作或其它原因使动态库错误. 1. 首先准备好系统安装盘, ...

  5. linux虚拟机网络配制方法及遇到问题的解决方法

    linux虚拟机网络问题 刚安装一个vmware虚拟机.并在上面安装了一个redhat linux操作系统. 安装完后配制了下网络. 首先观察windows上的网络配制. ip:192.168.1.1 ...

  6. 如何解决 Linux 虚拟机磁盘设备名不一致的问题

    问题描述 在 Linux 虚拟机内,将附加的多块数据磁盘以设备名(/dev/sdxx)的方式创建文件系统,并将之写入 /etc/fstab 文件中实现启动自动挂载功能.但是在虚拟机重启之后,会随机出现 ...

  7. linux 测试磁盘iops 方法详解

    一.FIO安装  wget http://brick.kernel.dk/snaps/fio-2.0.7.tar.gz  yum -y install libaio-devel  tar -zxvf ...

  8. linux虚拟机磁盘不够用以及进行扩容时遇到的问题

    我使用的是:gparted live cd工具  系统是centOS6.2 使用gparted live cd工具进行无损分区,方法很简单,下载iso文件都在VMware对应的linux系统上设置CD ...

  9. linux 虚拟机 磁盘空间压缩

    /usr/bin/vmware-toolbox-cmd disk list /usr/bin/vmware-toolbox-cmd disk shrink / init 0

随机推荐

  1. Faster Rcnn训练自己的数据集过程大白话记录

    声明:每人都有自己的理解,动手实践才能对细节更加理解! 一.算法理解 此处省略一万字.................. 二.训练及源码理解 首先配置: 在./lib/utils文件下....运行 p ...

  2. mongo windows 安装

    下载安装包 一路next 打开cmd 或者 power shell 准备本地目录. D: #进入d盘 md data #创建目录 data cd data #进入目录 data md config # ...

  3. NOIP2004普及组第3题 FBI树

    /* 1106: NOIP2004普及组第3题 FBI树 时间限制: 1 Sec 内存限制: 128 MB 提交: 10 解决: 9 [提交] [状态] [讨论版] [命题人:外部导入] 题目描述 我 ...

  4. Tarjan算法伪代码

    伪代码: 栈:当前dfs路径上的点low[x]:x能到达的点中最小的dfn dfs(x,t)    将x入栈     dfn[x]=t    low[x]=t    for(x,y)        i ...

  5. Render函数详解

    一.虚拟dom DOM是文档对象模型(Document Object Model)的简写,在浏览器中通过js来操作DOM的操作性能很差,于是虚拟Dom应运而生.虚拟Dom就是在js中模拟DOM对象树来 ...

  6. Mac下使用Matplotlib无法显示中文的解决办法

    参考:matplotlib图例中文乱码? - 知乎用户的回答 - 知乎 https://www.zhihu.com/question/25404709/answer/309784195 1.下载字体安 ...

  7. python简易计算器

    import re """ 过程:(最内部的括号->先乘除,替换->整理表达式->加减)->替换 """ def m ...

  8. 全网最全RabbitMQ总结,别再说你不会RabbitMQ

    RabbitMQ入门教程 当初我学RabbitMQ的时候,第一时间就上GitHub找相应的教程,但是令我很失望的是没有找到,Spring,Mybatis之类的教程很多,而RabbitMQ的教程几乎找不 ...

  9. 关于Spring集成Quartz的concurrent属性

    关于Spring集成Quartz的concurrent属性 以前经常在任务调度程序中使用Spring集成的Quartz,这种方式可以用简单的声明式配置即可实现定时任务,并结合了Spring自身的Bea ...

  10. 总是在起头可是能怎么办呢 Python数据分析

    目录 前言1 第1章准备工作5 本书主要内容5 为什么要使用Python进行数据分析6 重要的Python库7 安装和设置10 社区和研讨会16 使用本书16 致谢18 第2章引言20 来自bit.l ...