首页业界动态基础网络服务高级网络服务网络技术相关下载 登录论坛 @联系我们
WinSVR.ORG > 信息 > 高级网络服务 > 虚拟机 > 如何有效的压缩虚拟磁盘
现在时间是: 2017-04-24 07:46
如何有效的压缩虚拟磁盘

(2006-03-03 23:17)

如何有效的压缩虚拟磁盘

在使用虚拟机时,可能虚拟硬盘文件占用了宿主机上的大量硬盘空间让你很头痛吧,那么如何有效的减少虚拟硬盘文件所占用的硬盘空间呢?

你可以采用以下两个方法:

  • 压缩虚拟硬盘。微软已经考虑到了虚拟硬盘文件会占用大量的硬盘空间,因此在VPC和VS中均附带了虚拟硬盘压缩功能,支持对动态扩展类型的虚拟硬盘进行压缩,从而减少虚拟硬盘文件所占用的硬盘空间。

  • 针对虚拟硬盘文件启用NTFS压缩功能。这可以显著的降低虚拟硬盘文件所占用的硬盘空间,但是带来的后果是降低了宿主机的磁盘读写性能,从而导致虚拟机的性能降低,建议只有在特别需要时才使用此功能。

这两个方法是相互独立的,你可以同时使用这两个方法。启用NTFS压缩非常简单,但是会降低性能,因此我不推荐你使用这种方式。在这篇文章中,我将为大家介绍一下如何有效的压缩虚拟磁盘。

首先介绍一下VPC和VS中虚拟硬盘压缩的原理。虚拟硬盘压缩只支持对动态扩展类型的虚拟硬盘进行压缩,不支持压缩其他类型的虚拟硬盘。当使用动态扩展类型的虚拟硬盘时,VPC和VS会根据虚拟机的需求动态扩展宿主机上虚拟硬盘文件所占用的硬盘空间;但是当虚拟机中删除文件后,虽然虚拟机中不再使用被删除的文件所占用的那部分磁盘空间,但是VPC和VS并不会相应的减少宿主机上虚拟硬盘所占用的硬盘空间,你必须通过压缩虚拟硬盘,才能根据虚拟机所使用的磁盘空间大小来减少宿主机上虚拟硬盘所占用的硬盘空间大小。回想一下虚拟机中不同虚拟硬盘类型的特性(参考Virtual PC 使用指南一文中的创建虚拟硬盘一节),你就可以明白为什么只有动态扩展类型的虚拟硬盘才支持压缩。

那么,VPC和VS如何判断虚拟硬盘文件中的哪部分数据是虚拟机所使用的,而哪部分数据是虚拟机未使用的呢?关于这个压缩机制,微软只是在官方文档中简单的提及当执行磁盘压缩时,将移除所有只是包含数据“0”的扇区。不过由于在删除文件时,Windows系统并没有把被删除的文件所占用的硬盘扇区进行清零处理,而是简单的把这些硬盘扇区标注为可以使用,因此微软在VPC 2004 SP1和VS中均提供了一个Precompactor工具,它可以把未使用的扇区进行清零处理(用数据“0”覆写整个扇区),从而便于进行磁盘压缩。

从上面的磁盘压缩原理可以看出,它只能从宿主机上的虚拟硬盘文件中清除虚拟机未使用的磁盘空间,并不能对虚拟机所使用的磁盘空间进行压缩操作,因此对于磁盘压缩而言,最好的效果就是压缩后的虚拟硬盘文件大小非常接近于虚拟机中所使用的磁盘空间大小

因此,在压缩虚拟硬盘文件之前,我们必须先在虚拟机中进行预压缩处理,以Undo磁盘禁用模式启动虚拟机,然后进行以下三个操作步骤:

1、在虚拟机中删除临时文件和不必要的文件,具体的操作步骤如下:

  • 首先,对Windows组件进行处理,删除不需要的组件;你也可以删除Windows目录下不需要的文件,不过我不建议这样做,如果需要建议只是删除*.log文件;

  • 然后,删除不需要的其他应用程序;

  • 禁用虚拟内存(可能需要重启虚拟机);

  • 最后,删除临时文件并清空回收站。默认情况下,Windows系统的临时文件主要存放在以下几个目录:

    • %systemroot%\temp,默认为c:\windows\temp,存放Windows系统的临时文件

    • %userprofile%\%username%\Local Settings\temp,默认为C:\Documents and Settings\%username%\Local Settings\Temp,存放用户的临时文件,如果有多个用户,则分别进行删除;

    • %userprofile%\%username%\Local Settings\Temporary Internet Files,默认为C:\Documents and Settings\%username%\Local Settings\Temporary Internet Files,存放用户的Internet临时文件,如果有多个用户,则分别进行删除;

2、在虚拟机中进行磁盘碎片整理。磁盘碎片整理可以极大的提高VPC和VS在进行磁盘压缩时识别未使用的磁盘空间的能力,对于Windows 2000之后的Windows系统而言,使用自带的磁盘碎片整理程序即可,不过经过我的多次对比测试,使用Executive Diskeeper来进行磁盘碎片整理具有最好的效果(Windows 2000及其后系统中所提供的磁盘碎片整理程序就是Diskeeper的简化版本),大家可以点击此链接下载Diskeeper的试用版本。

3、在虚拟机中运行Precompactor工具对未使用的扇区进行清零处理。Precompactor工具通过一个光盘镜像的方式提供,当挂接到虚拟机中时,可以利用Windows的光盘自动播放功能运行。具体的操作方式VPC和VS略有不同:

VPC:

当虚拟机运行后,点击CD菜单下的捕获ISO镜像

然后在弹出的选择捕获的CD镜像对话框中,选择VPC安装目录(默认为C:\Program Files\Microsoft Virtual PC)的Virtual Machine Additions子目录下的Virtual Disk Precompactor.iso文件,然后点击打开

此时,此ISO镜像挂接到虚拟机中,由于光驱的自动播放特性自动运行,你只需要在弹出的提示框上点击即可,此时Precompactor工具开始工作;如果没有自动播放,则浏览到相应的光驱根目录运行precompact.exe即可。

 

VS:

当虚拟机运行时,在VS Web管理控制工具中配置此虚拟机的选项,然后选择CD/DVD,然后在CD/DVD驱动器属性页,选择已知的镜像文件中的VS安装目录(默认为C:\Program Files\Microsoft Virtual Server)下的Virtual Machine Additions\Precompact.iso即可,如下图所示,运行方式和VPC一致。

当Precompactor工具执行完成后,在虚拟机中点击开始菜单,按照正常步骤关闭Windows系统。



作者:风间子
责任编辑:风间子

[1] [2] 下一页>>
上一篇:Virtual Server 使用指南之二:在 Virtual Server 中创建和使用虚拟机
下一篇:使用 Parallels Compressor 有效的压缩虚拟磁盘
相关信息:

[公告] Virtual Server 2005 R2 SP1 Beta 1 发布
[公告] Virtual PC 2007 内部测试版本发布
Virtual PC 使用指南
[公告] Virtual Server 2005 R2 SP1 正式发布
虚拟机概述及VPC和VS的区别

热点信息 TOP 10
Virtual PC 使用指南
虚拟机概述及VPC和VS的区别
Virtual Server 使用指南之二:在 Virtual Server 中创建和使用虚拟机
Virtual Server 使用指南之一:安装和配置 Virtual Server
如何有效的压缩虚拟磁盘
使用 Parallels Compressor 有效的压缩虚拟磁盘

搜索 SEARCH
关键字:
包含:
搜索于:

Powered by: WinSVR.ORG
Copyright © 2006-2017 WinSVR.ORG, All Rights Reserved.