使用存储精简配置回收未使用的VMDK空间

云计算 虚拟化
本文说明VSphere 4.0的精简配置功能能帮助回收未使用的VMDK空间。

存储精简配置可以节省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工具。其中一个标签显示的将是“收缩”。通常,这个选项将清除所有未使用的磁盘空间,但是,奇怪的是,这对精简配置磁盘并不起作用。因此,不幸的是,当你想收回未使用的磁盘空间时,这种选择是没有帮助的。

【编辑推荐】

  1. iPhone上的VMware vCenter Mobile Access
  2. VMware vSphere 4体验之主机配置文件
  3. VMware承诺:为客户节约50%硬件成本
责任编辑:符甲 来源: TT中国
相关推荐

2015-12-15 15:38:57

Windows 10存储空间微软

2015-07-28 11:05:02

VMware存储自动精简配置

2016-10-12 13:37:09

LombokIDEidea

2009-01-03 15:32:26

SAN存储区域网存储设备

2023-07-05 10:11:02

2018-01-11 09:00:01

混合存储阵列

2021-01-08 08:10:34

MySQL表空间回收

2022-03-11 09:47:17

Google手机空间应用归档

2020-05-11 09:50:26

JavaScript函数开发

2018-04-02 09:08:49

混合存储阵列

2015-04-03 10:43:49

2018-06-11 12:53:53

LinuxStratis本地存储

2010-09-16 15:10:24

JVM垃圾回收机制

2012-10-18 09:22:35

云计算管理云计算

2009-06-30 13:54:00

名称空间Java

2021-07-05 11:00:43

GDB栈空间编程语言

2020-11-27 20:02:17

LVM逻辑卷管理器

2021-08-29 22:05:04

对象自动回收

2010-08-04 15:00:06

DB2未使用索引

2023-04-21 10:08:00

版本工具依赖关系
点赞
收藏

51CTO技术栈公众号