存储精简配置可以节省VMware虚拟机磁盘文件(VMDK)上的空间 ,但回收这个空间需要使用下文介绍到的工具。 从vSphere 4.0系列测试版开始,我已经尝试使用虚拟机磁盘格式(VMDK)精简配置,因为我没有太多的存储空间备用。 在我们进入我发现的细节以前,这里有一些精简配置的背景情况。通常,当一个50GB的VMDK被创建,它会立即在虚拟机文件系统(VMFS)卷上占用掉50GB的磁盘空间。
由于应用管理员往往需要比他们真正需要的空间更多的空间,这里有很多昂贵的存储区域网络(SAN)磁盘容量被用于这些将永远不会被使用的应用。当你简单创建一个VMDK磁盘时 ,存储不分配给VMDK空间,除……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
存储精简配置可以节省VMware虚拟机磁盘文件(VMDK)上的空间 ,但回收这个空间需要使用下文介绍到的工具。
从vSphere 4.0系列测试版开始,我已经尝试使用虚拟机磁盘格式(VMDK)精简配置,因为我没有太多的存储空间备用。
在我们进入我发现的细节以前,这里有一些精简配置的背景情况。通常,当一个50GB的VMDK被创建,它会立即在虚拟机文件系统(VMFS)卷上占用掉50GB的磁盘空间。由于应用管理员往往需要比他们真正需要的空间更多的空间,这里有很多昂贵的存储区域网络(SAN)磁盘容量被用于这些将永远不会被使用的应用。当你简单创建一个VMDK磁盘时 ,存储不分配给VMDK空间,除非它是真的会被使用到的。50GB磁盘空间中只有仅仅10GB的空间被使用,那么只要有10GB的空间就可以了。
只有当磁盘被写入了数据,50GB的空间才可以说被使用了,这是非常合乎逻辑的。但是在存储上回收那些已经被删除的数据的空间是不可能的。一旦精简配置磁盘增长,它就绝不会收缩。这不是因为在储存上或者vSphere级别的限制,而是因为储存和vSphere没有收到这些区块是空的信息。当你删除它时,Windows不会删除文件,它只是更新了主文件表和登记这些区块从X变更为Y,即这些区块现在可以被再次写入,但空间并不是空的。这就是vSphere和存储块都不知道区块是可以被回收的原因。
但是,一些存储厂商,已经使用过特殊的驱动程序,这可以与客户的操作系统相互通信,并告诉存储,当客户删除文件时,它可以收回这些区块。
使用Storage VMotion收回空间
当我第一次听说精简配置是在2009年戛纳的VMworld上,我立即想到,在没有停机时间前提下,我将如何获得我客户现有的基础架构。幸运的是,在vCenter迁移向导中,有一个问题,改变数据存储,为一个VMDK或一个虚拟机(VM)上所有的VMDK,并立即更改磁盘类型从厚到薄的配置。你可以使用Storage VMotion功能在VMDK上并用这样的方式收回未使用的空间,但请记住,只有以前未曾被客户操作系统写入的空闲空间才可以回收。
作为测试,我进行了如下的操作:
- 增加10GB的精简配置VMDK到一台Windows 2003的虚拟机。
- 用数据填补了VMDK,稍后删除该数据。
- 在vCenter里,看到磁盘现在使用的空间是10GB 。正如预期的那样,通过在Windows中删去它,没有在存储级别将数据所占空间释放。
- 使用Storage VMotion迁移这个VMDK到不同的数据存储上。但是,这个过程没有释放掉存储上的空间。如果在向导中我选择保持磁盘格式或“更改为薄配置磁盘”,结果是没有差别的。
这证明,删除文件并不能收回未使用的区块。这仍然是相当的浪费,这些区块不能再次被回收了,所以我考虑其他方式收回这个空间。
使用sdelete命令收回空间
我下面要使用的工具是来自Sysinternals的sdelete 。虽然Sysinternals现在是微软的一部分,并应该在Microsoft TechNet网站上面,但是我一直无法找到它。这个链接是我可以找到的唯一的Sysinternals版本,但它可能是这个工具的旧版本。如果你找到了这个工具更新版本的下载位置,请让我知道。
要收回在Windows VMDK上的空间,就要下载sdelete到本地硬盘。在我的例子中,我使用sdelete清除虚拟机驱动器中的E盘。运行sdelete将清除所有空闲空间,可以使用以下命令: “ sdelete – c E: ” 。由于这是一个相当频繁的I/O操作,如在生产环境中你应该非常仔细地计划这一行动。还要注意到清除以后,该区块将真正是空的。如果一个文件被意外删除,几乎是不可能在磁盘上使用数据恢复工具来恢复。因此,在用这一工具进行试验以前,具有很好的备份是必要的。
在sdelete清除你的硬盘以后,vCenter仍然会表现出最大的磁盘使用情况,因此回收空间的最后一步是使用Storage VMotion。由于磁盘已经是精简配置的格式,在选择向导,你可以“保留磁盘格式”或“变更为薄配置磁盘”选项。这两种方法都将真正空余出未使用的空间。当Storage VMotion已经完成之后,你可以按下“更新存储使用”以使vCenter重新计算存储空间的使用情况,在此之后,VM将使用远远少于以前的存储空间。
使用VMtools收缩选项
在VMware Tools工具运行着的Windows虚拟机里,你可以右键单击该图标并选择打开VMware VMtools工具。其中一个标签显示的将是“收缩”。通常,这个选项将清除所有未使用的磁盘空间,但是,奇怪的是,这对精简配置磁盘并不起作用。因此,不幸的是,当你想收回未使用的磁盘空间时,这种选择是没有帮助的。
相关推荐
-
vSphere Web客户端升级并没有让用户停止抱怨
VMware针对困扰 vSphere Web客户端性能问题的解决方案是全新的基于HTML5的图形用户界面,但用 […]
-
存储IO控制能够避免哪些vSphere问题?
存储I/O控制(storage I/O control)可以帮助解决某些共享存储问题,但是其并非适用于所有虚拟机。
-
OpenStack项目:哪一个VMware贡献最多?
曾经有一段时间,VMware只专注于专有的软件上。随着IT世界的扩展,VMware的视野也越来越大。除了云服务、网络虚拟化和软件定义存储之外,VMware已经成为许多开源项目,包括OpenStack的重要贡献者。
-
从2016到2017:关于VMware云的疑惑也跨年
VMware NSX产品向前迈出了一大步,同时新版vSphere以及VSAN也初次登台。另一方面,业界对VMware云服务的定位仍旧存在困惑。