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. AcWing 251. 小Z的袜子| 分块+莫队

    传送门 题目描述 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿. 终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命. 具体来说,小Z把这N只袜子从 ...

  2. FlashFXP中文破解 指南

    flashfxp是一款使用非常广泛,功能非常更强大的FXP/FTP软件.它拥有显示彩色文字.比较CuteFTP的目录.上传和下载文件.共享文件等众多功能,其中深受用户喜爱的便是目录比较功能,它能够有效 ...

  3. 微信小程序之猜拳游戏

    ---恢复内容开始--- 最近几天在学习小程序,看了网上的学习视频,于是自己捣鼓着做出了视频里面的小程序. 这是实现的效果图 一个小程序页面,一般有三个部分文件组成,index.js 这个文件里面放的 ...

  4. Spark 配置参数

    SparkConfiguration 这一章节来看看 Spark的相关配置. 并非仅仅能够应用于 SparkStreaming, 而是对于 Spark的各种类型都有支持. 各个不同. 其中中文参考链接 ...

  5. day6 相对定位:position:relative

    相对定位:position:relative 特点:a.相对于自己原来位置的定位,以自己的左上角为基准. b.相对定位原来的位置仍然算位置,不会出现浮动现象. 以下为初始位置:(可以看出设置margi ...

  6. margin和 padding 以及 float :left和float :right的介绍

    1.margin和padding的介绍 margin是外边距,padding是内边距,用CSS时首先要做的就是把所有标签的margin和padding清空.这样更容易控制布局和兼容浏览器. p li等 ...

  7. Vue 例子

    一.简单音乐播放器 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  8. jdbc实现批量提交rollback

    最近上了一个老项目,要修改一些业务,具体的思路是在jsp中实现对数据的某些批量操作,因此做一下笔记. 1.整体jdbc建立连接/关闭连接 conn = DbUtil.getConnection(); ...

  9. 玩转Django2.0---Django笔记建站基础九(一)(Auth认证系统)

    第九章 Auth认证系统 Django除了有强大的Admin管理系统之外,还提供了完善的用户管理系统.整个用户管理系统可分为三大部分:用户信息.用户权限和用户组,在数据库中分别对应数据表auth_us ...

  10. 管理2000+Docker镜像,Kolla是如何做到的

    根据 DockerHub 上的数据,整个 Kolla 项目管理的 镜像有 2000 多个,这么多的镜像,是怎么定义,又是如何构建的呢? 简介 我们一直在说的 Kolla,通常情况下泛指,包括了 Kol ...