ESX主机上虚拟机文件的组成

在这一系列的第一部分中,我们从硬件角度了解了什么是虚拟机。在本部分中,TechTarget中国的特约虚拟化专家Eric Siebert将介绍ESX主机上虚拟机文件的组成。与虚拟机相关的文件有很多,它们位于主机上虚拟机的目录里。

如果你使用像WinSCP或者Datastore Browser这样内置在VI Client里的文件浏览器在ESX主机上查看虚拟机的根目录,会看见与虚拟机相关的文件清单。多数文件以虚拟机的真实名字开头,基于这个文件的类型,有不同的文件扩展。除非你的虚拟机处于某种状态,否则不能看见所有可能的文件类型。例如,当虚拟机开启时只出现.vswp文件,当虚拟机暂停时只出现.vmss文件。

那么组成虚拟机的所有这些文件是什么?它们有什么用?下面我们详细讨论这些文件类型。

.nvram文件:这个小型文件包括虚拟机启动过程一部分的Phoenix BIOS。它类似于拥有BIOS芯片的物理服务器,能够设置硬件配置选项。一台虚拟机也应该在NVRAM文件里有虚拟BIOS。当虚拟机首次启动时,按F2键可以访问BIOS。不管虚拟机的硬盘配置发生了什么变化,都会保存在NVRAM文件里。这个文件是二进制的,如果删除的话,在虚拟机启动时会自动地重新创建。

.vmx文件:这个文件包括虚拟机所有配置信息与硬件设置。不管你对虚拟机的设置作了何种编辑,所有的信息都会以文本形式保存在这个文件里。这个文件包括与虚拟机有关的多种信息,如特殊硬件配置(例如RAM大小、网络接口卡信息、硬盘驱动信息和串行与并行信息),高级能源与资源设置、VMware工具选项以及能源管理选项。虽然你可以直接编辑这个文件修改虚拟机配置,但不推荐你这样做,除非你清楚自己要怎么做。如果你直接对这个文件进行编辑,最好首先对文件进行备份。

VMDK文件:所有的虚拟磁盘由两个文件组成,一个与虚拟磁盘大小相等的大型数据文件和一个小型文本磁盘描述文件,这个描述文件描述虚拟磁盘文件的大小与形状,也包括指向大型数据文件,还有虚拟磁盘驱动扇区数、磁头数、柱面数及磁盘适配器的信息。多数情况下,这些文件与其相关的数据文件的名字相同(例如myvm_1.vmdk和myvm_1-flat.vmdk)。你可以通过检查文件里的Extent Description区域将描述性文件与数据文件匹配。

三种不同类型的虚拟磁盘数据文件能用于下面的虚拟机中:

· –flat.vmdk文件:这是个默认的大型虚拟磁盘数据文件,创建于你添加虚拟硬盘驱动到虚拟机时,而不是RDM。当使用厚磁盘时,这个文件的大小相当于你创建虚拟硬盘驱动时所指定的大小。

· –delta.vmdk文件:这些虚拟磁盘数据文件只用于创建虚拟机快照时。当创建了快照,对原始flat.vmdk的所有写入都停止,并变成只读;然后这些对虚拟磁盘的更改将写入delta文件。这些文件的初始大小是16MB,然后随着对虚拟机虚拟硬盘的更改需要而以16MB的速度增长。因为这些文件是虚拟磁盘所作更改的位图,一个单一delta.vmdk文件不能超过原始flat.vmdk文件的大小。每为虚拟机创建一个快照就会生成一个delta文件,并且它们的文件名以数字递增(如myvm-000001-delta.vmdk和myvm-000002-delta.vmdk)。当快照融合到原始–flat.vmdk文件后再删除时,这些文件将自动删除。

· -rdm.vmdk文件:这是RDM映射文件,用来管理RDM设备的映射信息。映射文件作为一般磁盘文件呈现给ESX主机,可用于一般的文件系统操作。不过,对于虚拟机,存储虚拟化层将映射设备作为虚拟SCSI设备呈现。映射文件的元数据包括映射设备的位置(名称解析)和映射设备的锁定状态。如果你作了目录列表,那么可以看见这些文件在VMFS占用的磁盘空间与其所映射的实际LUN的大小的一样的,不过事实上,它们只是以这样的方式呈现而已,实际上非常小。每在虚拟机上创建一个RDM就会生成一个-rdm.vmdk文件。

.vswp file:在启动虚拟机时,如果ESX主机由于过量使用而消耗光其物理内存时,会创建一个内存交换文件代替物理主机内存。这些文件的大小等于分配给虚拟机的内存大小,再减去任何内存预留(默认是0),例如,4GB虚拟机预留1GB,将创建3GB交换文件。这些文件通常创建在虚拟机里,不过只有当主机耗尽所有物理内存时才使用。由于虚拟机内存读或写入磁盘没有物理主机RAM快,如果虚拟机开始使用这个文件的话,性能会有所降低。这些文件会占用VMFS卷上非常大的磁盘空间,因此要确保有足够的可用空间,这是因为如果没有足够的空间创建这个文件的话,虚拟机启动不了。当虚拟机关闭或暂停时,这些文件将删除。

.vmss文件:这个文件用于虚拟机暂停时,保存虚拟机的存储内容,以便在重新开始时继续运行。这个文件的大小与分配给虚拟机的RAM的大小相同。当虚拟机再次运行时,这个文件的内容将写回主机服务器的物理内存,不过,这个文件不会自动删除,除非关闭虚拟机(操作系统重启不管用)。当虚拟机再次暂停时,如果先前的暂停文件存在的话,这个文件将再次使用而不会删除和重新创建。当暂停虚拟机时,这个文件删除的话,那么虚拟机将正常启动,而不是从暂停状态启动。

.vmsd文件:这个文件与快照一起使用,用于存储元数据和其他活动在虚拟机里的每个快照的信息。这个文本文件在创建快照之前的初始大小是0字节,并在每次创建或删除快照时更新信息。这些现有文件中只有一个文件不管快照运行的数量,因为所有信息都更新在这个单一文件。在这个文件里的快照信息由VMDK的名字与每个快照所使用的vmsn文件、显示名和描述以及快照的用户ID组成。一旦删除所有快照,这个文件保留了旧快照信息,不过憎加了新快照所使用的快照UID。它也重新命名第一个快照为“Consolidate Helper”,假设用于整合备份。

.vmsn文件:这个文件与快照一起使用,用于存储虚拟机在进行快照时的状态。每在虚拟机上创建一个快照就会生成一个.vmsn文件,在删除快照时,文件自动删除。这个文件的大小基于你是否选择在快照里存储虚拟机的内存状态。如果你选择要存储内存状态,那么这个文件比分配给虚拟机的RAM大得多,因为整个存储内容,包括空内存都复制到这个文件。如果你选择不存储快照的内存状态,那么这个文件非常小(小于32KB)。当然,在暂停虚拟机时,这个文件的情况类似于.vmss。

.log文件:这些文件创建来用于存储虚拟机的日志信息,并常常用于故障检查。在虚拟机目录里,有大量的这样的文件。当前的日志文件通常命名为vmware.log,往下的六个旧的日志文件也保留着,名字以数字结尾(如vmware-2.log)。在虚拟机关闭或重新启动时,或者如果日志文件达到了所限制的最大值,就会创建一个新的日志文件。所保留的日志文件的数量和所限制的最大值都定义为虚拟机高级配置参数(log.rotateSize和log.keepOld)。

.vmxf文件:这是一个附加配置文件,不用于ESX,用于与Workstation兼容的目的。这个文件是文本格式,Workstation用来聚合虚拟机(VM teaming),将多个虚拟机分配成一组,作为一个单一对象开启或关闭、暂停或恢复它们。

上面的内容包含了所有与虚拟机相关的文件,阅读本文章后,将会对虚拟机的组成有更好的理解。现在你可以查看各种组成虚拟机的文件。你可能会发现VMFS卷上有一些未适当清理的旧数据。在你开始删除任何文件之前要小心谨慎,确保你要删除的文件不再需要或用到。

时间: 2024-11-12 15:52:14

ESX主机上虚拟机文件的组成的相关文章

hadoopmaster主机上传文件出错: put: File /a.txt._COPYING_ could only be replicated to 0 nodes instead of minReplication (=1). There are 3 datanode(s) running and 3 node(s) are excluded in this operation.

刚开始装好hadoop的时候,namenode机上传文件没有错误,今天打开时突然不能上传文件,报错 put: File /a.txt._COPYING_ could only be replicated to 0 nodes instead of minReplication (=1). There are 3 datanode(s) running and 3 node(s) are excluded in this operation. 上网查了一下,先把,nnamenode和datanod

xp的虚拟机如何访问本地主机上的文件

1.选中虚拟机,右键选择Settings,在options选项卡里选择Shared Folders,然后在右边设置要共享的文件夹. 2.power on 虚拟机,然后在虚拟机的VM菜单中,选择“Install VMware Tools...”,安装VMware Tools工具. 3.打开我的电脑,在网络驱动器那一栏就可以看到共享的文件夹了.

查看vCenter和ESX主机的Log日志文件

一.定位vCenter Log VMware KB 1021804 里详细介绍了vCenter Log的说明 http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=1021804&sliceId=1&docTypeID=DT_KB_1_1&dialogID=276970976&stateId=1 0 276976346 其中vpxd-

利用paramiko模块批量登录(执行命令/上传文件)

工作中由于服务器主机很多,如果手动的一台一台去添加ssh认证,效率太低了,而此脚本正是为了解决此问题 此脚本的实现的功能: 1.实现了(密码.ssh认证)单一主机登录和批量主机登录 2.实现了(密码.ssh认证)单一主机上传文件和批量主机上传文件(下载文件的原理和此一样) 3.主机批量添加ssh认证(这才是我的主要目的) 脚本的不足: 1.只能循环主机名 2.所有的主机的账号和密码都是一样的,不够灵活 有需求的朋友可以修改下代码,可以把主机.账号密码存放在一个文件中,循环读取文件 下面贴上代码吧

Linux命令行上传文件到百度网盘

利用bpcs_uploader你可以自动将VPS主机上的文件上传到百度网盘中,同时也可以从百度网盘中下载文件到VPS主机上,让你的文件安全地"住"在百度云中.[font=Tahoma, 'Microsoft Yahei', Simsun]百度云空间容量大,且有了百度这个靠山,日后也不必担心网盘关门走人,随着众多国内网盘开始投放大量的广告到网盘下载页面(典型的有华为网盘.下载赚钱网盘),百度网盘清爽的风格就显得难能可贵了.将文件上传到百度云中就可以方便其它用户下载 1.安装wdcp wg

利用rz、sz命令在Windows主机和Linux主机之间传送文件

当我们在Windows上使用xshell连接Linux主机,需要向Linux主机传送文件或者从Linux主机上获取文件时,可以使用rz和sz命令来完成,rz和sz的好处在于简单方便只要在终端输入命令即可开启文件传输. rz:运行该命令,Linux主机接收文件,相对于Windows主机来说是向Linux主机传送文件. sz:运行该命令,Linux主机发送文件,相对于Windows主机来说是从Linux主机获取文件,sz命令后接要发送的文件. 当然,rz和sz在Linux上默认是没有安装的,这里我们

怎样上传文件到linux服务器?

我们知道,云主机文件传输是一件相对复杂的事情,经常需要搭建FTP服务器或者是借助其他工具来完成.下面为大家介绍一种简单易操作的传输文件到Linux服务器的方法.对于行云管家来说,Linux文件传输同Windows文件传输一样,我们为每一台Linux主机配置了一个1G的网盘作为中间介质来实现客户端和主机之间的文件传输.那么如何传输文件到Linux服务器?一.什么是主机网盘?为了实现用户更快.更安全.更省钱的文件传输需求,我们在用户将主机导入行云管家平台时,自动为每台主机分配了一个主机网盘,该网盘将

【转】成功在AMD主机上用虚拟机安装原版雪豹

转载地址:http://www.jzh.me/archives/205.html/comment-page-1 一直都很想安装苹果的系统,当雪豹出来的时候就更加想了,但是自己的机器是AMD的,而且还是三核的,那样就难上加难了.试过很多改造系统后,还是不行,于是想到在虚拟机里面体验原版雪豹. 首先我们需要看自己机器的硬件是否能够装上雪豹,下载securable并运行,全部通过就证明你可以安装了,如果不行的话,霸王硬上弓也是装不上的. 还有你需要的是VMware Workstation 7,雪豹原版

(史上最全)开发板ping不通主机和虚拟机的看过来!

前几天在做uboot下用tftp下载文件到开发板的实验时,为了能解决开发板ping不通主机和虚拟机的问题,可谓绞尽脑汁,正所谓久病成医,虽然为了这一小问题废了我那么长时间,但我在解决问题的同时也学到了很多其他知识,算是塞公失马,焉知祸福!好了,废话不多说,如果你也ping不通,就请往下看! (以下是我解决这一问题的心得,以我开发板为例,如果你的板子跟我不一样,也没关系,道理是一样的) 一:物理设备及连接方式: 开发板:Mini2440(友善之臂): 笔记本一台(主机)(windows系统): 虚