认识VMware vSphere的虚拟磁盘文件

大家都知道在我们的VMware vSphere虚拟化环境中虚拟磁盘文件是一个.vmdk的文件。但是实际上是否就是这样一个vmdk文件这么简单呢?下面我就以一个实例来验证一下:

1、首先在ESXi主机上创建一台虚拟机VM01(如下图)

2、我们在数据存储datastore1中找到VM01的文件夹,可以查看到虚拟机的文件一共有4个,虚拟磁盘文件是VM01.vmdk(如下图)

下面我们再尝试到命令行下查看虚拟机文件是什麽样子

3、在Vclient的控制台图形界面找到主机----配置-----安全配置文件并点击打开;选择“服务”右上角的“属性”(如下图)

4、在“属性”页中找到“SSH”,点击右下角的“选项”,然后启动“SSH” (如下图)

5、现在我们就可以使用一些工具远程连接ESXi主机进行操作了,下面我使用Putty工具(工具可以自行网上下载)连接ESXi主机

6、登陆到ESXi主机后,如下图我们进入到/vmfs/volumes/datastore1/VM01目录中查看虚拟机文件;这时我们可以看到虚拟机文件中多出了一个VM01-flat.vmdk文件。而且VM01-flat.vmdk文件的大小与虚拟磁盘大小一致,相反VM01.vmdk文件却很小。这是怎么回事呢?

注:在上图中可以看到进入datastore1目录实际进入的是一个一长串数字的目录,这是因为datastore1是一个链接文件,它实际链接的是这个一长串数字的目录。

7、我们使用vi VM01.vmdk命令打开VM01.vmdk文件,可以看到内容如下图,都是一些虚拟磁盘的配置信息,其中有指定VM01-flat.vmdk文件。

8、我们再使用vi VM01.vmx命令打开VM01.vmx这个虚拟机配置文件,可以看到内容如下图的配置信息。其中指定的虚拟硬盘文件名为VM01.vmdk

总结:由上面的过程我们可以看到,VMware vSphere的虚拟磁盘文件其实是由两个文件一起工作的。一个是“主机名.vmdk”,一个是“主机名-flat.vmdk”。这两个文件可以理解为“主机名.vmdk”是引导和配置文件,“主机名-flat.vmdk”是数据文件;“主机名.vmdk”在虚拟机配置文件vmx中引导“主机名-flat.vmdk”数据文件,我们所有的数据都是存储在“主机名-flat.vmdk”中。

一般情况下在图形化界面中我们是看不到“主机名-flat.vmdk”文件,在命令行中才可以看到。

案例:本人曾经在生产环境中遇到,一台虚拟机由于操作不当,将虚拟机文件进行移动后丢失了“主机名.vmdk”文件,只留下了“主机名-flat.vmdk”文件,造成虚拟机无法启动的问题;如下图:

最后通过新建一台同名而且硬盘配置一致的虚拟机,然后将现有的“主机名-flat.vmdk”文件复制到新建的虚拟机文件夹中进行覆盖的方法,使得新建虚拟机的虚拟磁盘数据和原故障虚拟机一致,从而使用新建虚拟机替代旧虚拟机工作。

你可能感兴趣的:(vm)