VMWare: Virtual Machine Disks Consolidation is Needed

Merhaba,

VMware vSphere üzerinde yer alan sanal makinenizde aşağıdaki gibi bir uyarı alıyorsanız eğer snapshot larınızın düzgün bir şekilde silinmemesi bu hataya sebep olabilir. Bu hata aynı zamanda ilgili sanal makinenin yedekleme hatalarına da neden olur.

“Sanal Makine diskleri konsolidasyonu gerekli” hatasının en tipik nedenleri şunlardır:

1- Time out veya snapshot görüntüsünün büyük boyutu nedeniyle snapshot görüntülerin silinememesi / konsolide edilememesi nedeniyle düşük depolama performansı.

2- VMFS datastore üzerinde konsolidasyonu gerçekleştirmek için yeterli alan olmaması.

3- vSphere veya 3rd bir uygulama (HP DataPtotector, Veeam veya Netapp VSC gibi bir yedekleme uygulaması) anlık snaphost görüntülerini kilitlemesi. Hata aldığınız sanal makine nin bu 3rd yedekleme uygulamaları tarafında aktif bir job olmadığından emin olun.

4- vCenter ile ESXi Host arasındaki bağlantı sorunları.

Çözüm :

İlgili sanal makineye sağ tıklayarak Snapshot > Consolidate seçeneğini tıklayın.

Bir süre sonra bu işlem sonrasında aşağıdaki gibi bir hata meydana geleektir.

Unable to access file since it is locked. An error occurred while consolidating disks: Failed to lock the file. Consolidation failed for disk node ‘scsi0:0’: Failed to lock the file.

Bu durumda VMware ESXi hostunuz da Management Agent servisini restart etmeniz gerekmektedir.

services.sh restart

Ancak öncesinde aşağıdaki adımlar ile de kitlenen vmdk dosyalarını açmayı deneyebilirsiniz.

1- Sanal makineyi power off konumuna getirin.

2- Yeni bir snapshot alın.

3- Delete all seçeneği ile tüm snapshot ları silin.

4- Sanal makineyi ortamınızda yer alan farklı bir hosta vmotion ile migrate edin.

5- Son olarak consolidasyonu tekrar deneyin.

CLI aracılığı ile de aşağıdaki adımlar vasıtasıyla işlemi gerçekleştirebilirsiniz.

Aşağıdaki komut ile konsoliasyon ihtiyacı olan sanal makineleri görüntüleyerek, konsolide edebilirsiniz.

Connect-VIServer mun_vsphere.woshub.com

Get-VM | Where-Object {$_.Extensiondata.Runtime.ConsolidationNeeded}

Get-VM | Where-Object {$_.Extensiondata.Runtime.ConsolidationNeeded} | foreach {$_.ExtensionData.ConsolidateVMDisks_Task()}