According to vSphere API Reference,
"instanceUuid" is used by vCenter to uniquely identify
all vm instances.
Even if vm is deleted, its instansUuid is held uniquely in vCenter?
or Is its instansUuid assigned to other vm again?
Please tell me.
That's correct, instanceUuid is unique per vCenter instance and it's guarantee to be unique. afaik, once an object has been deleted (e.g. VM), all it's information and identifiers are removed from the vCenter DB and it's instanceUuid can potentially be re-used. I would say this will probably be unlikely that you'll see the same instanceUuid again but it's definitely possible, so if you persist this in an internal DB, you may want to use another identifer as a key in case you find yourself in this corner case.