vmware-vdiskmanager使用

vmware-vdiskmanager使用


    VMware虚拟磁盘管理工具是VMware Workstation软件包里的一个软件,它让你用命令行或通过脚本来创建管理修改虚拟磁盘文件。它的一个重要的特性是能够增大虚拟磁盘大小,使虚拟磁 盘的最大尺寸比刚创建时(定义的)更大。它是这样一种方法,如果你需要更多的磁盘空间在已经定义的虚拟机中,而你又不想添加另外一块硬盘或者用Ghost 软件来传递虚拟磁盘上的数据到另外一块更大的虚拟磁盘上去时,你可以用改变虚拟磁盘最大尺寸方法来做。不过你可不能用这种方法对你的物理硬盘实施。
另外一个功能是让你能够改变虚拟磁盘的类型。当你创建虚拟机时,你定义了虚拟磁盘空间的分配方式。你可以在以下选择一种分配方式:
- 所有的虚拟磁盘空间预分配。它相当于虚拟磁盘管理工具所说的预分配磁盘类型。
- 虚拟磁盘在开始时最小随着数据的增加而变大。它相当于虚拟磁盘管理工具所说的可增长磁盘类型。
使 用虚拟磁盘管理工具,你能够更改虚拟磁盘的类型为预分配或可增长的、单个文件储存或每个文件大小为2GB的多文件方式。举个例子,你可以分配所有的虚拟磁 盘空间,然后发现你需要收回一些主机上的硬盘空间。你能转换预分配的虚拟磁盘为可增长的虚拟磁盘,然后删除原来的那个虚拟磁盘文件。(这样)虚拟磁盘的大 小将随着你的数据的增长而增长。
这些功能和使用脚本自动管理虚拟磁盘方法在VMware Workstation5.0版本中提供。
你能够用虚拟磁盘管理工具完成以下任务:
- 使用脚本自动管理虚拟磁盘。
- 创建虚拟磁盘而不和任何一个虚拟机关联,举个例子,创建它作为样板。
- 在预分配和可增长的虚拟磁盘类型间进行转换。当你更改为可增长的虚拟磁盘类型,你就能够收回一些磁盘空间。你也能通过收缩虚拟磁盘来收回更多的空间。
- 增大虚拟磁盘的尺寸,使它比你创建时定义的尺寸更大。
- 磁盘碎片整理虚拟磁盘。
- 准备和收缩虚拟磁盘而不需要开启虚拟机进行(仅适用于Windows宿主机)。
你可以用虚拟磁盘管理程序管理由VMware GSX Server, VMware Workstation and VMware VirtualCenter(由GSX Server提供被VirtualCenter管理的虚拟磁盘)创建的虚拟磁盘。
注意:你不能用虚拟磁盘工具创建物理磁盘。物理磁盘不能被虚拟磁盘管理工具或Workstation软件收缩。
更多关于使用虚拟磁盘工具的信息,请阅读以下章节:
- 使用虚拟磁盘管理软件
- 使用虚拟磁盘管理实例

使用虚拟磁盘管理软件
打 开宿主机中的命令行或终端(Linux中的命令行),以运行虚拟磁盘管理软件。在Windows宿主机中,更改目录为你安装Workstation软件所 在的目录。默认的安装目录为C:\Program Files\VMware\VMware Workstation。


命令语法:
vmware-vdiskmanager [选项]
这里的选项你必须包含以下的一些选择项或参数
选项和参数
描述

虚拟磁盘文件的名字。虚拟磁盘文件必须是.vmdk为扩展名。你能够指定一个你想要储存的虚拟磁盘文件的路径。如果你在你的宿主机中映射了网络共享,你也可以提供确切的虚拟磁盘文件的路径信息来创建虚拟磁盘在这个网络共享中

-c
创建虚拟磁盘。你必须用-a, -s 和 -t 并指定选项参数,然后你需要指定所要创建的虚拟磁盘文件的文件名。

-r
转换已经指定类型的虚拟磁盘的类型,结果会输出创建一个新的虚拟磁盘。你必须用-t选项来指定你想要转换成的磁盘类型,并且指定目标虚拟磁盘的文件名。
一旦转换完成,你可以先测试虚拟磁盘以确保它能够像你所希望的那样工作,然后再删除原来的那个虚拟磁盘文件。
为了让虚拟机重新认识转换后的虚拟磁盘,你应该使用虚拟机设置编辑器先从虚拟机中移除先前存在的虚拟磁盘,然后添加转换好的虚拟磁盘给虚拟机。

-x [GB|MB]
增大虚拟磁盘到指定的容量。你必须指定新的更大尺寸的虚拟磁盘用GB或MB单位标示。你不能改变物理磁盘的大小。(废话)
注意:在你运行虚拟磁盘管理软件前,你应该先备份虚拟磁盘文件。(因为不会创建新的文件,所以备份以防增大磁盘操作失败)

-d
对指定的虚拟磁盘碎片整理。你只能磁盘碎片整理可增长的虚拟磁盘。你不能磁盘碎片整理预分配的虚拟磁盘。

-p
为 收缩磁盘做准备处理。如果虚拟磁盘被分成多个分区,每个分区必须被单独准备。分区(比如C:或D:)必须用VMware DiskMount工具映射。更多的应用VMware DiskMount映射和解除虚拟磁盘的映射的内容,请看VMware DiskMount用户手册,可以在VMware站点中vmware-vdiskmanager使用[url=http://www.vmware.com/pdf/VMwareDiskMount.pdf]http://www.vmware.com/pdf/VMwareDiskMount.pdf[/url] 下载到。VMware DiskMount免费软件也可以在vmware-vdiskmanager使用[url=http://www.vmware.com/download/ws/]http://www.vmware.com/download/ws/[/url] 页面下载到。
在你对分区准备处理后,解除对此分区的映射。继续映射虚拟磁盘的其他每个分区,为收缩磁盘作准备处理直到完成虚拟磁盘上的所有分区的准备工作。
你在同一时刻只能用VMware DiskMount映射虚拟磁盘的一个分区。你仅仅能在Windows宿主机上进行虚拟磁盘的收缩分区准备工作。

-k
收缩指定的虚拟磁盘。你只能够收缩可增长磁盘。你只能在Windows宿主机中(用这种方法)收缩虚拟磁盘。
你不能够收缩有虚拟机快照的虚拟磁盘。你可以保持现有虚拟磁盘的状态,而用快照管理器删除所有快照。你也可以放弃自快照以来对虚拟磁盘所做的更改,恢复到快照时状态。

-a [ ide | buslogic | lsilogic ]
指定磁盘适配器的类型。你在创建新的虚拟磁盘时必须指定其类型。选择以下类型之一:
ide —— IDE接口适配器
buslogic —— BusLogic SCSI接口适配器
lsilogic —— LSI Logic SCSI接口适配器

-s [GB|MB]
指定虚拟磁盘的大小。确定大小用GB或MB做单位。你必须在创建磁盘时指定其大小。
尽管你必须指定虚拟磁盘的大小,但当你增长它的大小时,你不能用-s这个选项。
可以指定的磁盘大小规定:IDE和SCSI适配器都为最小100MB,最大950GB。

-t [0|1|2|3]
你在创建一个新的虚拟磁盘或者重新配置一个虚拟磁盘时必须指定虚拟磁盘的类型。指定以下类型之一:
0 —— 创建一个包含在单一虚拟文件中的可增长虚拟磁盘
1 —— 创建一个被分割为每个文件2GB大小的可增长虚拟磁盘
2 —— 创建一个包含在单一虚拟文件中的预分配虚拟磁盘
3 —— 创建一个被分割为每个文件2GB大小的预分配虚拟磁盘

-q
禁止虚拟磁盘管理程序写日志
如果你允许记录日志,日志将会被虚拟磁盘管理程序产生并储存。在虚拟磁盘管理程序运行后,日志的名字和存放位置将会出现在命令行或终端中。

-n
重命名指定的虚拟磁盘。需要指定命名后的虚拟磁盘名字。

使用VMware虚拟磁盘管理工具实例
以下例子描述怎样使用虚拟磁盘管理工具。你需要在命令行中运行虚拟磁盘管理工具。

创建虚拟磁盘
命令:vmware-vdiskmanager -c -t 0 -s 40GB -a ide myDisk.vmdk
这个命令将创建一个40GB大小IDE接口的名字为myDisk的虚拟硬盘。虚拟磁盘包含在一个单一文件中。这个虚拟磁盘没有被预分配磁盘空间。
实际命令输入:
D:\Big Program Files\VMware\VMware Workstation>vmware-vdiskmanager -c -s 40Gb –a ide -t 0 E:\myDisk.vmdk
执行结果显示:
Using log file C:\DOCUME~1\AnEgg\LOCALS~1\Temp\vmware-AnEgg\vdiskmanager.log
Creating a monolithic growable disk 'E:\myDisk.vmdk'
Virtual disk creation successful.

转换一个虚拟磁盘
转换一个预分配虚拟磁盘为可增长虚拟磁盘,用以下这个命令:
vmware-vdiskmanager -r sourceDisk.vmdk -t 0 targetDisk.vmdk
这个命令将转换磁盘从它的原始的预分配模式转变为包含在单一文件中的可增长虚拟磁盘。这个虚拟磁盘空间将不会被预先分配,虚拟磁盘工具将收回虚拟磁盘中的一些磁盘空间,而仅仅让里面的数据占用虚拟磁盘空间。
实际命令输入:
D:\Big Program Files\VMware\VMware Workstation>vmware-vdiskmanager -r "D:\WinXP
SP2 V2.5\Windows XP Professional.vmdk" -t 0 "L:\Windows XP Professional.vmdk"
执行结果显示:
Using log file C:\DOCUME~1\AnEgg\LOCALS~1\Temp\vmware-AnEgg\vdiskmanager.log
Creating a monolithic growable disk 'L:\Windows XP Professional.vmdk'
Convert: 100% done.
Virtual disk conversion successful.

增大存在的虚拟磁盘的大小
命令:vmware-vdiskmanager -x 40GB myDisk.vmdk
这条命令将把虚拟磁盘myDisk.vmdk大小增大到40GB
实际命令输入:
D:\Big Program Files\VMware\VMware Workstation>vmware-vdiskmanager -x 40GB "D:\WinXP SP2 V2.5\Windows XP Professional S.vmdk"
执行结果显示:
Using log file C:\DOCUME~1\AnEgg\LOCALS~1\Temp\vmware-AnEgg\vdiskmanager.log
Grow: 100% done.
The old geometry C/H/S of the disk is: 8322/16/63
The new geometry C/H/S of the disk is: 16383/16/63
Disk expansion completed successfully.
WARNING: If the virtual disk is partitioned, you must use a third-party
utility in the virtual machine to expand the size of the
partitions. For more information, see:
vmware-vdiskmanager使用[url=http://www.vmware.com/support/kb/enduser/std_adp.php?p_faqid=1647]http://www.vmware.com/support/kb/enduser/std_adp.php?p_faqid=1647[/url]
创建好后,可以在磁盘管理中,看到未指派的空间。如果你想扩大磁盘分区的大小,可以用其他第三方软件来做。


举例用第三方磁盘管理软件PartitionMagic来调整分区大小
原始磁盘


进入调整向导


经过设置后的调整方案


应用方案后的结果


主磁盘C空间从4GB变为了10GB。

重命名虚拟磁盘
重命名虚拟磁盘,首先把虚拟磁盘从虚拟机中移除。(选择虚拟机 )设置 〉虚拟磁盘,然点移除按钮)
然后重命名命令:vmware-vdiskmanager -n myDisk.vmdk myNewDisk.vmdk
重命名磁盘定位在不同的目录下的命令:
vmware-vdiskmanager -n myDisk.vmdk ..\\myNewDisk.vmdk
注意:这是一个在windows宿主机中的路径方式。
定位在不同目录下,但保持相同名字的虚拟磁盘命令:
vmware-vdiskmanager -n myDisk.vmdk ..\\myDisk.vmdk
在你重命名或重定位虚拟磁盘后,把虚拟磁盘添加回虚拟机中使用。选择 虚拟机〉设置,点添加,然后根据向导添加这个已经存在的虚拟磁盘。
实际命令输入:
D:\Big Program Files\VMware\VMware Workstation>vmware-vdiskmanager -n "D:\WinXP SP2 V2.5\Windows XP Professional S.vmdk" "D:\WinXP SP2 V2.5\Windows XP Professio nal WS.vmdk"
执行结果显示:
Using log file C:\DOCUME~1\AnEgg\LOCALS~1\Temp\vmware-AnEgg\vdiskmanager.log
Renaming completed successfully.
重命名几乎是瞬间完成的,虽然如此,不过我用MD5验证前后的.vmdk文件,证实文件确实经过了内部修改,得到了不同的MD5码。

磁盘碎片整理虚拟磁盘
命令:vmware-vdiskmanager -d myDisk.vmdk
记住,你不能磁盘碎片整理预分配的虚拟磁盘。你也不能用这条命令磁盘碎片整理物理硬盘。(废话)
实际命令输入:
D:\Big Program Files\VMware\VMware Workstation>vmware-vdiskmanager -d "D:\WinXP SP2 V2.5\Windows XP Professional S.vmdk"
执行结果显示:
Using log file C:\DOCUME~1\AnEgg\LOCALS~1\Temp\vmware-AnEgg\vdiskmanager.log
Defragment: 100% done.
Defragmentation completed successfully.

收缩虚拟磁盘
(这种方法)收缩虚拟磁盘必须在Windows宿主机下进行。在你收缩虚拟磁盘以前,确保你已经为虚拟磁盘的所有分区进行了收缩准备。
命令:vmware-vdiskmanager -k myDisk.vmdk
记住,你不能收缩预分配的磁盘。你也不能收缩物理磁盘。如果虚拟磁盘有快照,你也不能收缩。在你收缩以前删除所有的快照。
实际命令输入:
D:\Big Program Files\VMware\VMware Workstation>vmware-vdiskmanager -k "D:\WinXP SP2 V2.5\Windows XP Professional S.vmdk"
执行结果显示:
Using log file C:\DOCUME~1\AnEgg\LOCALS~1\Temp\vmware-AnEgg\vdiskmanager.log
Shrink: 100% done.
Shrink completed successfully.
收缩磁盘时会产生一个临时文件,其实它就是收缩后的虚拟磁盘文件,会代替原来的那个虚拟磁盘文件。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29500582/viewspace-1339206/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29500582/viewspace-1339206/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
注意: 用vmware-vdiskmanager才完成扩容的第一步,接下来的事情请看我的博客。 http://blog.csdn.net/junglyfine/archive/2009/12/09/4974269.aspx 使用方法: vmware-vdiskmanager 命令语法: vmware-vdiskmanager [选项] VMware Virtual Disk Manager - build 44356. Usage: vmware-vdiskmanager [选项] 虚拟磁盘文件的名字。 #虚拟磁盘文件必须是.vmdk为扩展名。你能够指定一个你想要储存的虚拟磁盘文件的路径。如果你在你的宿主机中映射了网络共享,你也可以提供确切的虚拟磁盘文件的路径信息来创建虚拟磁盘在这个网络共享中。 -c 创建虚拟磁盘。 #你必须用-a, -s 和 -t 并指定选项参数,然后你需要指定所要创建的虚拟磁盘文件的文件名。 -r 转换已经指定类型的虚拟磁盘的类型。 #结果会输出创建一个新的虚拟磁盘。你必须用-t选项来指定你想要转换成的磁盘类型,并且指定目标虚拟磁盘的文件名。 #一旦转换完成,你可以先测试虚拟磁盘以确保它能够像你所希望的那样工作,然后再删除原来的那个虚拟磁盘文件。 #为了让虚拟机重新认识转换后的虚拟磁盘,你应该使用虚拟机设置编辑器先从虚拟机中移除先前存在的虚拟磁盘,然后添加转换好的虚拟磁盘给虚机。 -x [GB|MB] 增大虚拟磁盘到指定的容量。你必须指定新的更大尺寸的虚拟磁盘用GB或MB单位标示。你不能改变物理磁盘的大小。 #在你运行虚拟磁盘管理软件前,你应该先备份虚拟磁盘文件。因为vmware-vdiskmanager会向你的虚拟机配置文件里面写入新配置 -d 对指定的虚拟磁盘碎片整理。 #你只能磁盘碎片整理可增长的虚拟磁盘。你不能磁盘碎片整理预分配的虚拟磁盘。 -p 为收缩磁盘做准备处理。 #如果虚拟磁盘被分成多个分区,每个分区必须被单独准备。分区(比如/email或/storage)必须用VMware DiskMount工具映射。 #在你对分区准备处理后,解除对此分区的映射。继续映射虚拟磁盘的其他每个分区,为收缩磁盘作准备处理直到完成虚拟磁盘上的所有分区的准备工作。 #你在同一时刻只能用VMware DiskMount映射虚拟磁盘的一个分区。你仅仅能在宿主机上进行虚拟磁盘的收缩分区准备工作。 -k 收缩指定的虚拟磁盘。你只能够收缩可增长磁盘。你只能在宿主机中用这种方法收缩虚拟磁盘。 #你不能够收缩有虚拟机快照的虚拟磁盘。你可以保持现有虚拟磁盘的状态,而用快照管理器删除所有快照。你也可以放弃自快照以来对虚拟磁盘所做的更改,恢复到快照时状态。 -a [ ide | buslogic | lsilogic ] 指定磁盘适配器的类型。你在创建新的虚拟磁盘时必须指定其类型。 #选择以下类型之一: #ide —— IDE接口适配器 #buslogic —— BusLogic SCSI接口适配器 #lsilogic —— LSI Logic SCSI接口适配器GB或MB做单位。你必须在创建磁盘时指定其大小。 #尽管你必须指定虚拟磁盘的大小,但当你增长它的大小时,你不能用-s可以指定的磁盘大小规定:IDE和SCSI适配器都为最小100MB,最大950GB。 -t [0|1|2|3] 你在创建一个新的虚拟磁盘或者重新配置一个虚拟磁盘时必须指定虚拟磁盘的类型。 #指定以下类型之一: #0 —— 创建一个包含在单一虚拟文件中的可增长虚拟磁盘 #1 —— 创建一个被分割为每个文件2GB大小的可增长虚拟磁盘 #2 —— 创建一个包含在单一虚拟文件中的预分配虚拟磁盘 #3 —— 创建一个被分割为每个文件2GB大小的预分配虚拟磁盘 -q 禁止虚拟磁盘管理程序写日志 #如果你允许记录日志,日志将会被虚拟磁盘管理程序产生并储存。在虚拟磁盘管理程序运行后,日志的名字和存放位置将会出现在命令行或终端中。 -n 重命名指定的虚拟磁盘。需要指定命名后的虚拟磁盘名字。 为了帮助大家理解,下面举几个例子: vmware-vdiskmanager -c -s 850Mb -a ide -t 0 myIdeDisk.vmdk 创建一个名称为myIdeDisk的大小为850Mb的IDE接口的在一个虚拟机文件中的可增长的磁盘 vmware-vdiskmanager -d myDisk.vmdk 对myDisk进行碎片整理 vmware-vdiskmanager -r sourceDisk.vmdk -t 0 destinationDisk.vmdk 将sourceDisk转换成在一个虚拟机文件中的可增长的磁盘,并命名为destinationDisk vmware-vdiskmanager -x 36Gb myDisk.vmdk 将磁盘myDisk增大至36G vmware-vdiskmanager -n sourceName.vmdk destinationName.vmdk 将磁盘sourceName改名为destinationName 如果在添加共享磁盘后发现只有一台机器能启动,另外一台因为不能打开共享磁盘文件而不能启动的时候,需要对配置文件进行修改: 分别打开两台虚拟机目录中的vmx文件,在最后一行添加: disk.locking="FALSE" scsi0:1.SharedBus="Virtual" scsi1:1.SharedBus="Virtual" 系统启动的时候会锁定磁盘,所以当启动linux1后共享磁盘被锁定了,linux2就起不来了,因此需要加入disk.locking = "false"。 一般来说,如果是scsi1:0,则n为1,也就是scsi1.sharedBus = "virtual" ,表示所有的bus都共享,vmare推荐这种做法。 如果说是不是所有的bus都共享的话,可以将上述scsi1.sharedBus = "virtual"改成scsi1:1.shared = "true" 。 注意: 以上只完成了第一步,想扩容成功请看我的另一个文章 http://blog.csdn.net/junglyfine/archive/2009/12/09/4974269.aspx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值