1 摘要
一般来说平常使用 VMware 创建虚拟机,有两种构建磁盘文件的方式(如图1-1所示):
(1)使用单个文件存储虚拟磁盘;
(2)多个文件存储虚拟磁盘。
其中方式(2)将虚拟磁盘拆分为多个文件,可以更轻松地在计算机之间移动虚拟机,但可能会降低大容量磁盘的性能。方式(1)将虚拟磁盘存储为单个文件,虽然提高了磁盘的读写性能,但是对于对于大文件的移动和存储是一个问题。就该问题本文对于这两种方式之间的转换做了一个总结,并使用具体例子,详解了如何通过VMware自带的磁盘管理工具,来对虚拟磁盘文件进行分割与合并。
图1-1 VMware虚拟机添加硬件向导
2 虚拟磁盘管理工具
VMware提供了虚拟磁盘管理工具vmware-vdiskmanager。使用命令行可以管理虚拟磁盘文件,包括磁盘的。它有许多功能,使用命令vmware-vdiskmanager.exe -h可以查看它所有的功能(如图2-1所示)。
图2-1 VMware虚拟磁盘管理工具
其中,-r参数指定源磁盘文件;-t参数指定输出虚拟磁盘文件的类型,其值为以下类型之一:
0:创建一个包含在单一虚拟文件中的可增长虚拟磁盘
1:创建一个被分割为每个文件2GB大小的可增长虚拟磁盘
2:创建一个包含在单一虚拟文件中的预分配虚拟磁盘
3:创建一个被分割为每个文件2GB大小的预分配虚拟磁盘
3 虚拟磁盘文件的分割与合并
3.1 多个文件合并为单个文件
如图3-1所示,将图中名为Windows Server 2003 Enterprise Edition.vmdk的文件以及名为Windows Server 2003 Enterprise Edition-sXXX.vmdk的文件合并为一个名为Merged.vmdk的文件。
图3-1 使用多文件存储的虚拟磁盘
打开命令行界面并切换到VMware Workstation目录,输入命令:
vmware-vdiskmanager.exe -r "D:\Virtual Machines\Windows Server 2003 Enterprise Edition.vmdk" -t 0 "D:\Virtual Machines\Merged.vmdk"
命令的格式是:vmware-vdiskmanager.exe -r [源文件] -t 0 [目标文件]。其中[源文件]是待转换的文件;[目标文件]是转换后生成的文件(此文件在系统中是不存在的,只有转换后才存在。所以需要自己为其命名,后缀名为.vmdk);-t后的参数是0表示将源文件合并为一个目标文件。
图3-2 多文件合并为单文件过程
3.2 单个文件分割为多个文件
如下图中的ws03-add.vmdk
文件是新增的虚拟磁盘的单个文件即单文件存储的虚拟磁盘。现在利用vmware-vdiskmanager.exe工具对其进行分割,将其分割为多个不超过2G的文件。
图3-3 使用单文件存储的虚拟磁盘
打开命令行界面,切换到VMware Workstation目录,输入以下命令:
vmware-vdiskmanager.exe -r "D:\Virtual Machines\ws03-add.vmdk" -t 1 "D:\Virtual Machines\Split.vmdk"
命令的格式是:vmware-vdiskmanager.exe -r [源文件] -t 1 [目标文件]。其中[源文件]是待转换的文件;[目标文件]是转换后生成的文件(此文件系统中是不存在的,只有转换后才存在。所以需要自己为其命名,后缀名为.vmdk);-t后的参数是1表示将源文件分割为多个目标文件。
图3-4 单文件分割为多文件过程