admin管理员组

文章数量:1568418

虚拟机文件的构成

  • configuration file——这是一个以<vm_name>.vmx命名的vmx格式的文件。与虚拟机所以相关的东西都写在这个文件中,这是虚拟机的核心配置文件,如果它丢失了,那么我们的虚拟机也就报废了。

  • swap file ——这是一个以<vm_name>.vswp命名和vmx-<vm_name>.vswp命名的vswp格式的两个文件。这是一个交换文件。

    • <vm_name>.vswp 文件作为虚拟机虚拟内存的补充文件,当虚拟机内存不够的时候,会以这个文件当做内存来使用。
    • vmx-<vm_name>.vswp文件时esxi运行虚拟机产生的内存开销文件。它是exsi运行vm时当内存不够时产生的物理补充文件。类似一个QQ程序,他会在运行的不同时刻消耗不同的开销,当物理开销不足时,就会用这个文件来补充。

    Ps:这两个文件是随着虚拟机开机而存在,关机而消失的。第一个文件在正常情况下士与我们的虚拟机的匹配内存的大小几乎一致的,第二个文件时浮动变化大小的。

  • BIOS file :
    这是一个以<Vm_name>.nvram命名的nvram格式的文件。BIOS 文件相信大家都已经熟悉的不能再熟悉了。

  • Log file
    这是一个以Vmware.log命名的log格式的文件,主要记录vm的开机关机日志,和一下基本操作日志等。

  • Template file
    这是一个以<vm_name>.vmtx命名的vmtx格式的文件。被称为模板文件,我们可以使用母版文件来快速创建大量虚拟机,其配置与这个虚拟机相同。但是他与configuration file“不共存”。
      他俩的关系是这样的:通过模板文件来创建虚拟机时,<vm_name>.vmx文件时通过<vm_name>.vmtx文件改名而来的。在一个文件夹中不可能同时存在<vm_name>.vmx文件和<vm_name>.vmtx文件。如果一个文件夹中包含<vm_name>.vmtx文件,就说明这是一个模板。

  • Raw device map file
    这是一个以<vm_name>-rdm.vmdk命名的vmdk格式的文件,是以裸设备映射挂在到虚拟机上的磁盘。

  • Disk descriptor file

    ​ 这是一个以<vm_name>.vmdk命名的vmdk格式的文件,是虚拟磁盘的描述文件,如果没有不会导致数据丢失,但是会不能开机他与,他与<vm_name>-flat.vmdk是成对存在的。

  • Disk data file

    ​ 这是一个以<vm_name>-flat.vmdk命名的vmdk格式的文件,是虚拟磁盘的数据文件,如果没有会导致数据丢失,他与<vm_name>.vmdk是成对存在的。这个文件是看不见的,因为做了保护。

  • Suspend state file

​ 这是一个以<vm_name>.vmss命名的vmss格式的文件,是虚拟机挂起的描述文件。

  • Snspshot data file

    这是一个以<vm_name>.vmsd命名的vmsd格式的文件,是快照的数据文件。做过快照才存在

  • Snspshot statefile

    这是一个以<vm_name>.vmsn命名的vmsn格式的文件,是快照的描述文件。做过快照才存在

  • Snspshot disk file

    这是一个以<vm_name>-delta.vmdk命名的vmdk格式的文件,是快照的磁盘文件。做过快照才存在,这个与<vm_name>.vmsn是成对存在的。

虚拟机的磁盘规格

在VMware vSphere中,不管是以前的5.1版本,或者是现在的6.5版本,创建虚拟机时,在创建磁盘时,都会让选择磁盘的置备类型,如下图所示,分为:

(1)厚置备延迟置零;
(2)厚置备置零;
(3)Thin Provision(精简置备)。

在创建虚拟机时,可以选择这三种类型的其中一种,如下图所示

这三种类型的磁盘,每一种类型的磁盘创建的方式和磁盘性能都有所不同,具体解释如下。

1、厚置备延迟置零

举例,如下图,本次创建的磁盘为200GB大小,如果选择厚置备延迟置零,VMware会在整个磁盘中划分一个200GB的空间专用于此虚拟机,故会创建一个200GB的vmdk文件,但由于是延迟置零,故假如目前只用到了50G空间,VMware会先zero(置零)这50G空间,后面150G空间会等到用到的时候再zero(置零),这种工作机制会对磁盘性能造成一定的影响。

创建完虚拟机后VMware创建的200GB vmdk文件,如下图

示意图:

2、厚置备置零

举例,如下图,本次创建的磁盘为200GB大小,如果选择厚置备置零,VMware会在整个磁盘中划分一个200GB的空间专用于此虚拟机,故会创建一个200GB的vmdk文件,由于是置零模式,故VMware会将这200GB的空间全部进行zero(置零)工作,故创建磁盘时比其它两种模式花的时间都要长,这种机制的磁盘的性能是最好的,因为这就好像是给虚拟机挂载了一块独立的硬盘,硬盘上的空间也全部属于该虚拟机,且提前也都已经格式化好,后期不管随着数据怎么增长,都可以直接使用这200G的空间,没有zero(置零)的操作了。

示意图:

3、Thin Provision(精简置备)

举例,如下图,本次创建的磁盘为200GB大小,如果选择Thin Provision(精科置备),VMware会在整个磁盘中划分一个200GB的置备空间,但此200GB没有从整个磁盘中真正划出来,它的vmdk文件在虚拟机刚创建时可能为0KB,以后随着虚拟机的使用空间越来越大,再给它划分更多的空间,直至200GB全部给这虚拟机。就好像是给虚拟机挂载了一块空间会不断变化的硬盘,开始很小,后期会根据你的使用情况不断的增长空间。

故选择精简置备时,有个好处是,可以创建更多的虚拟机,如创建10个虚拟机,每个虚拟机创建(置备)了200GB空间,那就是2000GB,但整个磁盘可能只有1000GB,但也能成功创建,因为置备的2000G,VMware没有真正给每个虚拟机200G,而是在以后不断的使用中慢慢增长至200G,所以选择精简模式,很容易出现整个磁盘卷空间爆满的情况,导致虚拟机运行不正常。

示意图:

根据这三种类型的磁盘的了解,磁盘的性能排序应该是:厚置备置零>厚置备延迟置零>Thic Provision(精科置备)。

厚置备置零和厚置备延迟置零对磁盘空间的使用最快,Thic Provision(精科置备)最节省磁盘空间,但也容易出现磁盘“爆仓”的危险。

虚拟机的CPU数量尽量合适

单台虚拟机的CPU不能超过EXSI的主机CPU数量

Disk Provisioning  
- Thick Provisioning   lazy zeroed
- Thick prvision eager zeroed
- Thin provision

vmware压缩vmdk文件大小

在搭建靶机环境的过程中总是遇见vmdk越来越大,导致上传时间变长。记一下压缩vmdk的方法

linux

cat /dev/zero > zero.fill;sync;sleep 1;sync;rm -f zero.fill
/usr/bin/vmware-toolbox-cmd disk shrinkonly

至于原理,第一句是将硬盘空余地方全部填0,第二句是vmware的工具

windows

第一种:右键我的电脑->管理->存储->磁盘管理->右键任意磁盘->压缩卷->压缩

第二种:vmware安装目录下,vmware-vdiskmanager.exe -k vmdk路径

D:\VMware>vmware-vdiskmanager.exe -k  C:\Users\windows\Desktop\xxxx-disk1.vmdk

第三种:

mac下

常规->清理虚拟机

本文标签: 虚拟机