关于 vsphere 的 Consolidation Needed status 的处理
某天发现一台服务器的状态提示 Consolidation Needed status ,查看详情可以看到
Virtual machine Consolidation Needed status Virtual machine disks consolidation is needed.
之类的字样。
如果在这台虚拟机上点右键,然后选 Snapshots -> Consolidate ,理论上来说应该可以解决问题。结果又弹出一个错误:
Consolidate virtual machine disk files Unable to access file since it is locked
是哪儿出问题? Google 了一通,大致步骤如下:
先看看这台虚拟机在哪台服务器,登录 ssh ,然后:
tail -f /var/log/hostd.log
查看出错日志,看到有报错的是哪个虚拟机文件,然后记下名字,使用如下命令:
vmkfstools -D /vmfs/volumes/uuid/vmname/vm-locked-file.vmdk
Lock [type 10c00001 offset 45842432 v 33232, hb offset 4116480 gen 2397, mode 2, owner 00000000-00000000-0000- 000000000000mtime 5436998]<-------------- MAC address of lock owner RO Owner[0]HB offset 3293184 xxxxxxxx-xxxxxxxx-xxxx- xxxxxxxxxxxx <------------------------------ MAC address of read-only lock owner Addr <4, 80, 160>, gen 33179, links 1, type reg, flags 0, uid 0, gid 0, mode 100600 len 738242560, nb 353 tbz 0, cow 0, zla 3, bs 2097152
然后找到是哪个服务器锁定的:
esxcfg-nics -l
一般这个时候重启一下相关联的服务或进程就可以了。算了,懒得找了,我直接将重要的虚拟机 Migrate 到其它的主机上去,然后重启这台主机。重启后再 Snapshots -> Consolidate ,果然没有问题了。
这个时候如果你再启动你的 vdp 的时候,就会发现 vdp 报错了…
vsphere data protection failed to lock the file
联想到刚才的问题,原来是 vdp 搞得鬼。用 vdp 在做备份的时候,会使用 snapshots 来进行,但有些时候会抽风。所以,当你在使用 vdp 备份一些虚拟服务器,而某些个别虚拟服务器提示要 Consolidation Needed status ,但 Consolidate 不成功的时候,就可以这样做:
找到 vdp 的那台虚拟机,点右键编辑,然后找到报错的那个虚拟机对应的磁盘,直接把它 Remove 掉就可以了,记住只是 Remove ,不要 Delete files from datastore 。移除之后再 Consolidate 就可以消除这个报错提示了!