Qualche giorno fa mi è capitato uno strano problema di alcune VM (in un ambiente vSphere 5) che non si potevano spostare con lo Storage vMotion a causa di un generico errore: The method is disabled by ‘SYMC-INCR dd-mm-yyyy hh:mm’.
Dal nome SYMC il mio primo pensiero è andato a Symantec Backup Exec (nel mio caso un 2010 R3 con backup to disk) e inizialmente pensavo a delle snapshot corrotte o rimaste dal beckup: ma i file delle VM erano a posto e nessuna snapshot era presente.
A quel punto ho cercato l’errore nella KB VMware e ho trovato l’articolo KB 2008957 (Storage vMotion fails with the error: The method is disabled by ‘SYMC-INCR dd-mm-yyyy hh:mm’) esattamente con lo stesso sintomo ed una spiegazione (molto vaga a dire il vero) del motivo: a quanto pare Backup Exec (ma probabilmente anche NetBackup) durante il backup aggiungono un’informazione (_DP-VEPA_BACKUP_RESTORE_LOCK_) legata alla VM che previene determinate operazione (come lo Storage vMotion) e che norlmente viene rimossa alla fine del backup. L’informazione si deduce che viene inserita nel vCenter Database visto che non viene toccato il vmx della VM.
E in effetti la soluzione proposta convalida questa ipotesi:
- Power off the virtual machine.
- In the vSphere Client, right-click the virtual machine and click Remove from Inventory.
- Browse to the datastore where the virtual machine resides.
- Right-click the .vmx file of the virtual machine and click Add to Inventory. This gives the virtual machine a new ID.
- Power on the virtual machine and retry the Storage vMotion.
Peccato che la soluzione richieda un fermo della VM, esattamente quello che volevo evitare usando lo Storage vMtoion. Per alcune macchine ho notato che un nuovo backup full ha sistemato e “sbloccato” le VM… ma non è detto che funzioni sempre per tutte.
Probabilmente la soluzione migliore è sistemare direttamente il vCenter Database. Cercando nella KB ho trovato l’articolo KB 1021265 (Manually enable vSphere solutions) che spiega come funziona l’extensible framework e che dovrebbe dare informazioni su come ripulire il database (nel caso mi ricapiti, proverò a verificare questa strada).