是否有任何 shell 命令可以用来确定磁盘映像文件的格式?我想检查磁盘映像文件是以下哪种格式:vmdk、原始文件的 vhd。
尝试在我们的一个区域环境中创建快照时,我们遇到了一个奇怪的问题。我们有 4 台虚拟机,其中 2 台有多个 VMDK,分布在不同的数据存储上。创建快照后,所有 VMDK(第一个除外)似乎都消失了。如果查看 VM 的属性,VMDKS 的路径指向主 VMDK 所在的数据存储,文件名是一些随机垃圾。如果快照被删除,一切都会恢复正常。有没有人见过这个?
我正在使用 ESX3.5
先感谢您。
安迪
==============更新===============
这是更多信息。我刚刚创建了一个带有 7 个 VMDK 的测试机器。1 用于操作系统。和其他 6 个用于数据。所有 VMDK 都位于单独的数据存储中。我拍摄了机器的快照,所有 6 个 VMDK 都失去了对实际 VMDK 文件的引用。all 指向 OS VMDK 所在的数据存储中的 64KB VMDK 文件。在拍摄快照之前,这些 64KB vmdks 并不存在。删除快照后,一切恢复正常。
我正在尝试将现有的 4tb LUN 从光纤通道 SAN 映射到我的 ESX4 环境中的 VM。它一直告诉我 VMDK 文件大小超过了数据存储支持的最大大小。
我尝试过物理兼容模式,也尝试过两种虚拟风格。
我对此有点困惑,因为当我们运行 ESX3.5 时,我们将相同的 LUN 映射到另一个 VM……我还注意到我的其他一些 RAW 映射正在 ESX 上生成非常大的 VMDK 文件服务器。有谁知道这种行为变化是否是故意的?如果是这样,为什么?在我看来,如果 LUN 直接映射到 VM,那么它的大小应该不相关。
我们正在运行 4.0.0 build 236512 和 4.0.0 build 219382,但我都没有成功。
任何见解或建议将不胜感激!
TG
我有两个磁盘作为.vmdk
文件,四个作为.vdi
文件。我可以使用 Sun xMV VirtualBox 在它们上启动虚拟机,它们运行良好。但是,我想将它们安装在我的本地计算机上,这样我就可以在不启动虚拟机的情况下从中读取一些文件。我下载了该vmware-mount
实用程序,但即使在挂载.vmdk
文件(应该是 VMWare 映像)时也出现此错误...
Unable to mount the virtual disk. The disk may be in use by a virtual
machine, may not have enough volumes or mounted under another drive
letter. If not, verify that the file is a valid virtual disk file.
认为这是实用程序的问题,我下载了 SDK 并用 C 编写了自己的简单程序来尝试挂载磁盘。它只是初始化 API,连接到它,然后尝试打开磁盘。我收到此错误,再次声称它不是虚拟磁盘:
**LOG: DISKLIB-DSCPTR: descriptor above max size: I64u
**LOG: DISKLIB-LINK : "f:\programming\VMs\windowstrash.vdi" : failed to open (The file specified is not a virtual disk).
**LOG: DISKLIB-CHAIN : "f:\programming\VMs\windowstrash.vdi" : failed to open (The file specified is not a virtual disk).
**LOG: DISKLIB-LIB : Failed to open 'f:\programming\VMs\windowstrash.vdi' with flags 0x1e (The file specified is not a virtual disk).
** FAILURE ** : The file specified is not a virtual disk
不过,这些文件显然是虚拟磁盘,因为我实际上可以在虚拟机上挂载和使用它们。我尝试将它们与任何 VM 分离并再次尝试,但得到了相同的结果。
有任何想法吗?也许“最大尺寸以上的描述符”是一个提示?
更多信息:.vmdk
磁盘是在其他计算机上创建的。我只是将它们复制到我的并在它们周围创建了新的虚拟机,但它们工作正常。所有.vdi
文件都是在我的机器上创建的。不确定这是否会影响任何事情。
更新:WinMount 可以挂载文件.. 所以问题似乎出在 vmware-mount 上。
我已经压缩了一个虚拟机,似乎应该有更好的方法来存储我的基本副本。寻找管理我的 VMware 基础映像的最佳方式。
我发现我的虚拟机正在使用快照管理器中不可见的快照运行。我还发现机器正在一个 delta 文件上运行(可能是一个旧的快照)
我看到有合并快照的程序,但我现在想了解的是:
有一个 50gb 的 VMDK-flat 磁盘 => 这实际上是一开始创建的 vdisk
现在我有一个 38 GB 的 DELTA 文件……而且这个文件每天都在增长。
我的问题是:为什么增量文件正在增长?这正常吗?
我对 VMware fusion 很陌生。
案例是:我有一台旧的 Win 98 机器,我有一个需要运行的程序,但我没有安装 CD。出于这个原因,我需要从机器的物理 HD 制作一个 .vmdk,我想在我的 Imac 上的 Fusion 中运行它。
旧的 Win 98 盒子有两个 HD,我现在使用 Ghost 6.0 制作了 C 盘的 .GHO 映像,并将文件集(4 个 2GB 文件)放在 D 盘上。我现在的计划是尝试将 .GHO 映像转换为 .vmdk 文件。
有没有关于如何做到这一点的厨师食谱?
我搜索了论坛,但没有找到任何明确的方法。
我是否必须使用其他成像工具来“重影”C 驱动器?将 C 盘 HD 从 Win 98 盒子断开,并将其作为 USB 驱动器安装在 Imac 中是否有帮助?
任何有关如何解决此问题的建议都非常受欢迎。
BRG
/约翰
使用 PowerCLI 处理 vmdk 的正确语法是什么?我想和 vmkfstools -i 一样
获取-HardDisk Machine1 | 复制硬盘“[DS] Machine2/test.vmdk”
产生: Copy-HardDisk : 21.01.2010 17:59:57 Copy-HardDisk 5285a123-e8b0-06df-984f-6ce1f7c0e080 实体操作失败,并显示以下消息:“文件引起的一般故障。提供的参数之一是无效的”
我尝试通过使用 AIM/EC2/Xen 映像来缩小 VMware 虚拟磁盘的大小:使用 sdelete -c 清除驱动器上的空白空间。但是,对于 VMware,这实际上扩大了驱动器的大小。它从 2.7 gig 到 4 gig。
然后我尝试使用 VMware-vdiskmanager -k 缩小驱动器。它确实缩小了,但只有 3.8 gig。
如果您从 VMware 磁盘中添加然后删除了很多文件,如何将其缩小到最小大小?
我试图将 vmdk(VMWare 磁盘映像)文件缩小到尽可能小,并找到了两个建议。首先是cat /dev/zero
进入 fs 然后删除它,然后运行 VMWare 工具的收缩。这工作正常。第二个是将所有内容复制到一个新的 vmdk 中。我走了第二条路。我没有使用dd
,因为我实际上想使用尽可能少的块,而不是逐块复制。任何未链接的文件仍将具有未清零的块。其次,centos 镜像主要是 lvm,除了引导分区,我的目标是 4gb 而不是 8gb。
我确实使用dd
了前 40mb 来复制引导块和分区。然后我用来parted
创建一个相同的主引导,以及更小的主 lvm。然后我pvcreate
在那个设备上使用了 sdb2,vgcreate
和lvcreate
来创建一个 root 和交换。我在根分区上使用 mkfs.ext3fs 然后rsync -av / /2root
排除/proc /sys /2root /dev
. 到目前为止一切顺利。
我的问题是:
- 结果是 2.7 GB,而源是 2.1 GB。这对我来说很奇怪。
- 第二个 vgroup 称为 VolGroup01,而原来的 vgroup 称为 VolGroup00。
我怎样才能将 VolGroup01 重命名为 VolGroup00 并在这一切之后将其换掉?