Una macchina virtuale su VVF 9.0 è due cose insieme: un gruppo di file su un datastore e una voce nell’inventario di vCenter. I file contano, perché buona parte delle domande ci gira intorno. vmname.vmx è il virtual machine configuration file; vmname.vmdk descrive le caratteristiche del disco mentre vmname-flat.vmdk contiene i dati veri; vmname.nvram tiene la configurazione BIOS o EFI; vmname.vswp è lo swap file; vmname.vmsd i metadati degli snapshot e vmname.vmsn la memoria catturata da uno snapshot; vmname.vmss è il file di sospensione; vmware.log il log corrente. Quando una VM diventa template, il .vmx è sostituito da un .vmtx. La documentazione è categorica: quei file non si spostano, non si rinominano e non si cancellano a mano.

Le cinque strade per creare una VM

Tutte partono dallo stesso posto: click destro su un oggetto d’inventario valido — data center, folder, cluster, resource pool o host — e New Virtual Machine.

Da zero. Il wizard scorre Select a creation type, Select a name and folder, Select a compute resource, Select storage (dove scegli la VM storage policy e puoi spuntare Encrypt this virtual machine), Select compatibility, Select a guest OS, Customize hardware, Ready to complete. Il firmware BIOS/EFI viene preselezionato in base al guest OS scelto: cambialo prima di installare, non dopo.

Da template. Stesso wizard scegliendo Deploy from template, oppure click destro sul template e New VM from This Template. La pagina Select clone options decide se personalizzare il guest OS, se personalizzare l’hardware e se accendere la VM a fine operazione.

Clonando una VM esistente. Click destro sulla VM → Clone → Clone to Virtual Machine. Qui scegli il formato disco: Same as source, Thick Provision Lazy Zeroed, Thick Provision Eager Zeroed, Thin Provision, con l’opzione Configure per disk per differenziare disco per disco. Servono privilegi precisi (fra gli altri Datastore.Allocate space, Network.Assign network, Virtual machine.Provisioning.Clone virtual machine).

Instant clone. Parte da una VM accesa: vSphere prende un checkpoint di processor, virtual device, memory e disk state, crea un nuovo delta disk scrivibile per ogni disco virtuale e accende la copia da quel checkpoint. La sorgente resta stunned per meno di un secondo. Dal vSphere 8.0 in avanti si fa solo via API e senza guest customization.

Deploy OVF Template. Da file locale o da URL HTTP/HTTPS. In export il percorso è Actions > Template > Export OVF Template, con la VM spenta e il privilegio vApp Export: dalla 6.5 in poi si esporta solo OVF, mai OVA, e le VM cifrate non si esportano affatto.

Configurare l’hardware virtuale

La compatibility è la hardware version e decide quali host possono eseguire la VM: ESX 9.0 corrisponde alla versione 22, ESX 8.0 Update 2 alla 21, ESX 7.0 Update 1 alla 18. Controlla BIOS/EFI, slot PCI, numero massimo di CPU e memoria; il default lo eredita dall’host o dal default configurato su host, cluster o data center.

Sul fronte CPU, una VM con compatibilità ESX 9.0 arriva fino a 960 vCPU, ma di default non puoi aggiungere vCPU a VM accesa: serve Enable CPU Hot Add. Cores per socket, nodi NUMA e l’hot-add stanno sotto CPU Topology, nelle VM Options, non nella sezione hardware. La memoria ha il suo memory hot add, e vale la regola che una VM non trae beneficio da risorse superiori alla propria memoria hardware configurata: shares, reservation e limit distribuiscono, non ampliano.

I dischi si aggiungono e si allargano anche a VM accesa; puoi cambiare virtual device node e persistence mode, e usare i disk shares quando più VM insistono sullo stesso datastore VMFS e sullo stesso LUN. La rete si riduce a tre decisioni: tipo di adattatore (VMXNET3, E1000E), port group a cui attestarsi e se connettere l’interfaccia all’accensione. Su VVF il port group vive su uno standard switch o su un distributed switch: non esistono segment NSX da selezionare.

Le VM Options raccolgono tutto ciò che non è hardware: General Options, VMware Remote Console Options, Encryption, Power Management, VMware Tools, Virtualization Based Security, Boot Options, Advanced, CPU Topology. Per aggiungere un vTPM devi aver creato prima un key provider — senza, la voce non porta da nessuna parte.

Template, content library e personalizzazione del guest

Le customization specification sono file XML che vivono in Policies and Profiles e servono a evitare il conflitto più banale e più frequente: due VM identiche con lo stesso computer name. Cambiano nome macchina, impostazioni di rete e licenza; per Windows richiedono gli strumenti Microsoft Sysprep.

In una content library il VM template è un item con versionamento vero: fai check out, modifichi la VM, fai check in e crei una nuova versione, con una timeline che mostra chi ha cambiato cosa e quando, e la possibilità di tornare indietro o scartare le modifiche. Mentre un template è in check out gli altri non possono prenderlo, ma continuano a deployare VM dall’ultima versione pubblicata.

Gestire la VM dopo il deploy

Le operazioni di alimentazione sono Power On, Power Off (che «might cause loss of data within the guest operating system»), Suspend, Reset e Hard Stop, quest’ultimo riservato alle VM che non rispondono. Per la console hai due strade: la Web console, che apre un tab del browser, e VMware Remote Console (VMRC), applicazione separata che permette di connettere i device del client e, col proxy VMRC, non richiede connettività diretta verso l’host ESX.

Gli snapshot catturano impostazioni, power state e stato dei dischi; la memoria solo se la spunti esplicitamente. Ogni ramo dell’albero regge fino a 32 snapshot. Revert riporta allo stato catturato, Delete consolida i delta nel disco padre. La documentazione li definisce soluzioni a breve termine, esplicitamente non adatte a fare backup, e ricorda che degradano le prestazioni e non supportano alcuni tipi di disco né le VM con bus sharing.

Infine l’inventario: Remove from Inventory toglie la VM da vCenter lasciando i file sul datastore, e la si recupera dal datastore browser cercando il .vmtx (o il .vmx) e usando Register VM; Delete from Disk è irreversibile.

Trappole tipiche d’esame

  • Remove from Inventory non è Delete from Disk. La prima è reversibile via datastore browser e Register VM, la seconda distrugge i file. Lo scenario tipico descrive una VM «rimossa per errore» e chiede come recuperarla.
  • Instant clone ≠ full clone. Parte da una VM accesa, produce delta disk, e dal vSphere 8.0 è disponibile solo via API, senza guest customization. Una risposta che lo colloca nel menu Clone del vSphere Client è sbagliata.
  • Autostart e vSphere HA si escludono. Le impostazioni host Configure → VM Startup/Shutdown sono disattivate per tutte le VM su host appartenenti a un cluster vSphere HA: l’automatic startup non è supportato con HA.
  • L’ordine dell’upgrade. Prima VMware Tools, poi la compatibility. L’upgrade della hardware version richiede downtime per ogni guest OS ed è definito «a heavyweight operation»: può essere schedulato al prossimo riavvio, ma non è mai trasparente.
  • Su VVF non esiste il catalogo self-service. Le VM si creano dal vSphere Client (o, nel perimetro container/IaaS, tramite vSphere Supervisor): VCF Automation non fa parte di vSphere Foundation, così come non ne fa parte NSX. Qualsiasi opzione che nomini un blueprint di automazione o un segment NSX nel wizard di creazione VM è un distrattore.