一直以来都在使用VMware workstation ,觉得workstation中的 的snaphost 功能很好,通过 snaphost 可以将虚拟机的当前最佳状态进行备份,如果在将来虚拟机出现问题时,可以最快的将虚拟机恢复到一个最佳的状态时,这个功能有点类似于做了一次系统ghost,而且很彻底,是给整个虚拟机做了一次快照,类似于整机克隆。

我在使用vmware esxi server 时,发现也有snaphost功能,对于对 snaphost 功能的喜好,自然而然在虚拟机上安装好系统后,很自然的对虚拟机做了一次 snaphost。但时间一久,就会发现问题啦。昨晚我就遇到了。昨晚在凌晨4点左右,收到公司同事的电话,说有一台服务器不能访问,赶紧起来查看。打开 VI client ,发现服务器名称处已经多了一个感叹号,先重启下服务器吧,重启的时候,出现以下错误:

Virtual Machine Message 
"msg.hbacommon.outofspace:There is no more space for the redo log of XXXX-00000X.vmdk.You may be able to continue this session by freeing disk space on the relevant partition, and clicking Retry. Otherwise, click Abort to terminate this session."

看提示,好像是磁盘空间不足,这台服务器上跑的应用,不是很吃硬盘的呀,应该不至于这么快就没有空间的。重启过无数次服务器,每次都是这个提示,我崩溃了

后来发现,原来虚拟机在做了 snaphost 后,后续的虚拟机所有的动作就会记录到redolog里,

 

根据VMWARE的KB http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1003302中给的解决方法:

 

 

Delete All snapshot operation results in a Consolidate Helper snapshot when a datastore has insufficient disk spaceDetailsIf you try to initiate a Delete All snapshot for a virtual machine using Snapshot Manager, and if that virtual machine is on a datastore that does not have sufficient space for the snapshot, the following message displays in VMware Infrastructure (VI) Client: 

msg.hbacommon.outofspace: there is no more space for the redo log of <VMname>-0000xx.vmdk.

You are given the option to abort or retry.
  • If you choose Abort, the virtual machine is powered off, the snapshot is aborted, and a Consolidate Helper snapshot is created. The Snapshot Manager UI displays that Consolidate Helper snapshot. You can delete the Consolidate Helper snapshot after you have made space available.
  •  
  • If you click Retry, the Snapshot Manager returns to Consolidate Helper snapshot mode unless you have made more disk space available.
  •  
  •  
SolutionFree up disk space if possible, or extend the VMFS volume using VI Client. To extend the VMFS volume:
  1. Select the host on which the virtual machine resides and click the Configuration tab.
  2. Select the datastore on which the virtual machine resides and click Properties.

    Note: If there is no available storage, a new LUN must be presented to every ESX host that can see the LUN.

  3. In the dialog that appears, click Add Extent and follow the prompts in the Add Extend wizard to add an extent.
  4. Perform a rescan on every ESX host that is being presented the new LUN so that the addition of the extent is detected.
  5. After you have extended the VMFS volume, you can check the Retry option of the Redo log pop-up.

Caution: When using Delete All in the Snapshot Manager, the snapshot furthest from the base disk is committed to its parent, causing that parent snapshot to grow. When that commit is complete, that snapshot is removed and the process starts over on the newly updated snapshot to its parent. This continues until every snapshot has been committed. This can lead to an aggressive use of additional disk space if the snapshots are large. Use care when exercising this option if there is not much space available on the datastore.

 

但好像ESXI中没有扩展VMFS卷功能,找了半天我都找不到,实在是郁闷呀。最后是将之前做的snaphost删除掉,才算是服务器又正常启动起来啦,幸哉呀。