VMware使用2 ---虚拟磁盘管理工具vmware-vdiskmanager

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

命令语法: 

vmware-vdiskmanager [选项] 

这里的选项你必须包含以下的一些选择项或参数 

选项和参数 

描述 

<diskname> 

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

-c 

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

-r <sourcediskname> 

转换已经指定类型的虚拟磁盘的类型,结果会输出创建一个新的虚拟磁盘。你必须用-t选项来指定你想要转换成的磁盘类型,并且指定目标虚拟磁盘的文件名。 

一旦转换完成,你可以先测试虚拟磁盘以确保它能够像你所希望的那样工作,然后再删除原来的那个虚拟磁盘文件。 

为了让虚拟机重新认识转换后的虚拟磁盘,你应该使用虚拟机设置编辑器先从虚拟机中移除先前存在的虚拟磁盘,然后添加转换好的虚拟磁盘给虚拟机。 

-x <n>[GB|MB] <diskname> 

增大虚拟磁盘到指定的容量。你必须指定新的更大尺寸的虚拟磁盘用GB或MB单位标示。你不能改变物理磁盘的大小。(废话) 

注意:在你运行虚拟磁盘管理软件前,你应该先备份虚拟磁盘文件。(因为不会创建新的文件,所以备份以防增大磁盘操作失败) 

-d <diskname> 

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

-p <mountpoint> 

为收缩磁盘做准备处理。如果虚拟磁盘被分成多个分区,每个分区必须被单独准备。分区(比如C:或D:)必须用VMware DiskMount工具映射。 

在你对分区准备处理后,解除对此分区的映射。继续映射虚拟磁盘的其他每个分区,为收缩磁盘作准备处理直到完成虚拟磁盘上的所有分区的准备工作。 

你在同一时刻只能用VMware DiskMount映射虚拟磁盘的一个分区。你仅仅能在Windows宿主机上进行虚拟磁盘的收缩分区准备工作。 

-k <diskname> 

收缩指定的虚拟磁盘。你只能够收缩可增长磁盘。你只能在Windows宿主机中(用这种方法)收缩虚拟磁盘。 

你不能够收缩有虚拟机快照的虚拟磁盘。你可以保持现有虚拟磁盘的状态,而用快照管理器删除所有快照。你也可以放弃自快照以来对虚拟磁盘所做的更改,恢复到快照时状态。 

-a [ ide | buslogic | lsilogic ] 

指定磁盘适配器的类型。你在创建新的虚拟磁盘时必须指定其类型。选择以下类型之一: 

ide —— IDE接口适配器 

buslogic —— BusLogic SCSI接口适配器 

lsilogic —— LSI Logic SCSI接口适配器 

-s <n> [GB|MB] 

指定虚拟磁盘的大小。确定大小用GB或MB做单位。你必须在创建磁盘时指定其大小。 

尽管你必须指定虚拟磁盘的大小,但当你增长它的大小时,你不能用-s这个选项。 

可以指定的磁盘大小规定:IDE和SCSI适配器都为最小100MB,最大950GB。 

-t [0|1|2|3] 

你在创建一个新的虚拟磁盘或者重新配置一个虚拟磁盘时必须指定虚拟磁盘的类型。指定以下类型之一: 

0 —— 创建一个包含在单一虚拟文件中的可增长虚拟磁盘 

1 —— 创建一个被分割为每个文件2GB大小的可增长虚拟磁盘 

2 —— 创建一个包含在单一虚拟文件中的预分配虚拟磁盘 

3 —— 创建一个被分割为每个文件2GB大小的预分配虚拟磁盘 

-q 

禁止虚拟磁盘管理程序写日志 

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

-n <source-disk> 

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

 

相关实例: 

使用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\xujun\LOCALS~1\Temp\vmware\vdiskmanager.log 

Creating a monolithic growable disk ‘E:\myDisk.vmdk’ 

Virtual disk creation successful. 

转换一个虚拟磁盘 

转换一个预分配虚拟磁盘为可增长虚拟磁盘,用以下这个命令: 

vmware-vdiskmanager -r sourceDisk.vmdk -t 0 targetDisk.vmdk 

这个命令将转换磁盘从它的原始的预分配模式转变为包含在单一文件中的可增长虚拟磁盘。这个虚拟磁盘空间将不会被预先分配,虚拟磁盘工具将收回虚拟磁盘中的一些磁盘空间,而仅仅让里面的数据占用虚拟磁盘空间。 

实际命令输入: 

C:\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\xujun\LOCALS~1\Temp\vmware\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 

实际命令输入: 

C:\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\xujun\LOCALS~1\Temp\vmware\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: 

http://www.vmware.com/support/kb/enduser/std_adp.php?p_faqid=1647 

创建好后,可以在磁盘管理中,看到未指派的空间。如果你想扩大磁盘分区的大小,可以用其他第三方软件来做。 

重命名虚拟磁盘 

重命名虚拟磁盘,首先把虚拟磁盘从虚拟机中移除。(选择 虚拟机 )设置 〉虚拟磁盘,然点移除按钮) 

然后重命名命令:vmware-vdiskmanager -n myDisk.vmdk myNewDisk.vmdk 

重命名磁盘定位在不同的目录下的命令: 

vmware-vdiskmanager -n myDisk.vmdk ..\<new-path>\myNewDisk.vmdk 

注意:这是一个在windows宿主机中的路径方式。 

定位在不同目录下,但保持相同名字的虚拟磁盘命令: 

vmware-vdiskmanager -n myDisk.vmdk ..\<new-path>\myDisk.vmdk 

在你重命名或重定位虚拟磁盘后,把虚拟磁盘添加回虚拟机中使用。选择 虚拟机 〉设置,点添加,然后根据向导添加这个已经存在的虚拟磁盘。 

实际命令输入: 

C:\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\xujun\LOCALS~1\Temp\vmware\vdiskmanager.log 

Renaming completed successfully. 

重命名几乎是瞬间完成的,虽然如此,不过我用MD5验证前后的.vmdk文件,证实文件确实经过了内部修改,得到了不同的MD5码。 

磁盘碎片整理虚拟磁盘 

命令:vmware-vdiskmanager -d myDisk.vmdk 

记住,你不能磁盘碎片整理预分配的虚拟磁盘。你也不能用这条命令磁盘碎片整理物理硬盘。(废话) 

实际命令输入: 

C:\Program Files\VMware\VMware Workstation>vmware-vdiskmanager -d “D:\WinXP SP2 V2.5\Windows XP Professional S.vmdk” 

执行结果显示: 

Using log file C:\DOCUME~1\xujun\LOCALS~1\Temp\vmware\vdiskmanager.log 

Defragment: 100% done. 

Defragmentation completed successfully. 

为收缩虚拟磁盘做准备 

命令:vmware-vdiskmanager –p S: 

一旦准备完成,解除分区映射。重复这个过程在虚拟磁盘的每个分区上。(这样可以得到最好的收缩效果)在你为收缩磁盘准备好了所有分区后,你就可以收缩虚拟磁盘了 

实际命令输入: 

C:\Program Files\VMware\VMware Workstation>vmware-vdiskmanager -p S: 

执行结果显示: 

Using log file C:\DOCUME~1\xujun\LOCALS~1\Temp\vmware\vdiskmanager.log 

100% wiping done. 

我所映射的虚拟磁盘S 

收缩虚拟磁盘 

(这种方法)收缩虚拟磁盘必须在Windows宿主机下进行。在你收缩虚拟磁盘以前,确保你已经为虚拟磁盘的所有分区进行了收缩准备。 

命令:vmware-vdiskmanager -k myDisk.vmdk 

记住,你不能收缩预分配的磁盘。你也不能收缩物理磁盘。如果虚拟磁盘有快照,你也不能收缩。在你收缩以前删除所有的快照。 

实际命令输入: 

C:\Program Files\VMware\VMware Workstation>vmware-vdiskmanager -k “D:\WinXP SP2 V2.5\Windows XP Professional S.vmdk” 

执行结果显示: 

Using log file C:\DOCUME~1\xujun\LOCALS~1\Temp\vmware\vdiskmanager.log 

Shrink: 100% done. 

Shrink completed successfully. 

收缩磁盘时会产生一个临时文件,其实它就是收缩后的虚拟磁盘文件,会代替原来的那个虚拟磁盘文件。

 

原文地址:http://chaoxu.fu.blog.163.com/blog/static/56997628201131834252880/

相关文章:http://www.cnblogs.com/flying_bat/archive/2007/09/06/884858.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值