Archivi categoria: Hyper-V

Hyper-V: “An error occurred while attemping to start the selected virtual machine(s)”

Scenario. Avviando delle Virtual Machine su Hyper-V in Saved State, queste non si avviano ed il virtualizzatore riporta il seguente errore:

“The virtual machine is using processor-specific features not supported on physical computer ‘nome-server’”

An error occurred while attemping to start the selected virtual machine(s)

Questa situazione si può presentare per diversi motivi, come un’operazione di backup in corso, un riavvio del server Hyper-V inaspettato con le VM in stato running, modifiche alle proprietà hardware delle macchine virtuali.

Soluzione. Nella maggior parte dei casi, per ripristinare l’operatività della macchine virtuali è sufficiente cancellare lo stato “Saved State”

Tasto destro sulla VM -> Delete Saved State…

Delete Saved State…

e, successivamente, avviare la macchina virtuale.

Nel caso si presenti l’errore “Operation cannot be performed while the object is in use”, riavviare l’host Hyper-V

Hyper-V 2016: The cluster request in not valid for this object (error 0x800713b8)

In un cluster di test basato su Windows 2016 stavo configurando un CSV. Entrambi i nodi del cluster erano configurati anche come Domain Controler.
Al momento di aggiungere il disco CSV viene notificato dal sistema che l’operazione fallisce con il messaggio sotto riportato:

Error code 0x800713b8: The cluster request in not valid for this object

Mentre fino a Windows 2012 R2 si poteva configurare un nodo di un cluster anche come Domain Controller, pur se altamente sconsigliato, in Windows 2016 questo non è più possibile.

Occorre disinstallare il ruolo da DC e configurare successivamente il disco come CSV. Nel mio caso ho dovuto anche distruggere il cluster e rifarlo.

Hyper-V 2016: come condividere dischi virtuali tra Virtual Machine

In Hyper-V 2016 è stata introdotta una nuova features per poter condividere i dischi virtuali, ovvero i VHD Set (VHDS).

A differenza dei dischi VHD e VHDX condivisi che limitano alcune operazioni, con i VHD Set sono supportate le operazioni come la live migration, resizing “a caldo”, snapshot. Per più informazioni rimando alla documentazione ufficiale: https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/manage/create-vhdset-file

Creazione e configurazione di un VHDS:
– Dalla console di gestione di Hyper-V, “New” – Hard Disk…”
– Come formato del disco scegliete VHD Set e completare il wizard.

Error applying shared driver

NOTA. Per evitare l’errore “The storage where the virtual hard disk is located does not support virtual hard disk sharing”, il vhds deve essere salvato in una LUN\volume che sia condivisa (per esempio un CSV).

– Dalla configurazione della VM alla quale si deve attestare il disco, “Scsi Controller – Shared Drive” e cliccare su Add.
– Specificare il path di dove risiede il VHDS e cliccare su OK.

Creare una nuova VM (clone) da un checkpoint in Hyper-V

Mi è stata fatta una richiesta di poter creare una nuova VM partendo da un checkpoint in Hyper-V, in pratica la creazione di un clone.

Non è presente in Hyper-V una funzione dedicata, ma è necessario utilizzare le funzioni di import ed export.

Dalla console di Hyper-V:

  • selezionare il check point dal quale si vuole creare il clone

    Hyper-V export checkpoint

  • tasto destro —> Export e seguire il wizard

Una volta esportata la VM, procedere con il wizard di import.

La nuova macchina virtuale verrà creata di default con il nome composto dal nome della macchina sorgente più la data di creazione.

Hyper-V import

Nel caso si voglia assegnare un nome differente occorre andare ad editare il file XML di configurazione della macchina nel percorso <path-export>\nome.macchina\virtual machines\file.xml. 

Cercare la stringa <name type=string> name.VM </name> e sostituire il nome della macchina con quello desiderato.

NOTA: nel caso la VM sia stata esportata da Hyper-V in Windows 2016 o Windows 10, i file XML non saranno presenti (i file di configurazione ora sono binari con estensione VMCX). Nel caso si vogliano editare i file VMCX, fare riferimento all’articolo scritto da Ben Armostrong.

 

Configurare una Virtual Machine con Windows Nano Server in Hyper-V

Requisiti: ISO Windows Server 2016

Montare la ISO. Per comodità, l’ho scompattata sul disco locale nel percorso: c:\NanoServer\Files

All’interno della directory locale C:\NanoServer, oltre al contenuto della ISO, ho copiato i moduli Powershell.

NanoServer Folder

NanoServer Folder

 

 

 

Da Powershell:

#Preparazione area di lavoro
cd C:\NanoServer
Import-Module .\NanoServerImageGenerator.psm1
#Creazione del VHDX
New-NanoServerImage -MediaPath .\Files -BasePath .\Base -TargetPath .\Images\NanoServer.vhdx -MaxSize 20GB -DeploymentType Guest -Edition Datacenter -ComputerName "NanoServer"

Dove:

  • MediaPath: percorso di dove sono memorizzati i file di Windows Server 2016
  • BasePath: Percorso dove vengono memorizzati i dati temporanei
  • TargetPath: percorso dove verrà memorizzato il disco creato. VHD per VM di Generazione 1, VHDX per VM di Generazione 2
  • MaxSize: dimensione massima del disco. Nel caso non venga inizializzato questo valore, il valore di default è 4 GB.
  • DeplymentType: Guest per macchine virtuali, Host per macchine fisiche
  • Edition: Standard o Datacenter
  • ComputerName: nome della macchina

Per l’elenco completo dei parametri, fare riferimento alla TechNet: https://technet.microsoft.com/itpro/powershell/windows/nanoserverimagegenerator/new-nanoserverimage

Collegare il disco in una nuova macchina virtuale Hyper-V e avviarla.

NanoServer in Hyper-V

NanoServer in Hyper-V

 

Cluster Hyper-V: configurazione schede di rete

Dovendo spesso configurare o revisionare le configurazioni delle schede di rete di Cluster Hyper-V, ho trovato comodo un articolo presente sul portale WindowsServer.it che riassume le Best Practice. L’articolo è consultabile a questo LINK.

Riporto di seguito le tabelle riassuntive.

Configurazione delle comunicazioni inter-node cluster

Allow cluster network communicationAllow clients to connect
StorageNo-
ClusterSiNo
Live MigrationSiNo
ManagementSiSi
ProductionNo-

Servizi attivi sulle schede di rete

StorageDisabilitare il Client Microsoft per la condivisione file e stampanti
Disabilitare tutti i protocolli tranne IPv4, IPv6, eventuali protocolli del produttore
Se supportati abilitare i Jumbo Frames con valori tra 9000 e 9014
ClusterAbilitare il Client Microsoft per la condivisione file e stampanti per supportare l’utilizzo delle feature dell’SMB 3.0 (SMB multi-channel e SMB Direct)
Impostare tale rete per comunicazioni CSV
Se supportati abilitare i Jumbo Frames con valori tra 9000 e 9014
Live MigrationAbilitare il Client Microsoft per la condivisione file e stampanti per supportare l’utilizzo delle feature dell’SMB 3.0 (SMB Direct)
Se supportati abilitare i Jumbo Frames con valori tra 9000 e 9014
Management Abilitare il Client Microsoft per la condivisione file e stampanti per supportare l’utilizzo delle feature dell’SMB 3.0
ProductionRimozione Client Microsoft per la condivisione file e stampanti
Abilitare VMQ (Virtual Machine Queue)

NOTA: nel caso si utilizzino schede di rete Broadcom, è probabile che sia da disattivare il servizio VMQ (Virtual Machine Queue) per evitare lentezze sul network.

 

Hyper-V: Failed while adding virtual Ethernet switch connection

Provando ad associare una scheda di rete ad un Virtual Switch, può succedere che l’operazione fallisca col messaggio di errore:

Failed while adding virtual Ethernet switch connection. External Ethernet adapter ‘nome-scheda’ is already bound to the Microsoft Virtual Switch Protocol

already-bound

Andando a verificare le impostazione della scheda di rete, effettivamente è presente il protocollo “Hyper-V Extensible Virtual Switch“… anche se la scheda di rete non è associata ad alcun Virtual Switch.

Per modificare (in questo caso eliminare) il binding della scheda di rete esiste il tool NVSPbind scaricabile da QUI

Eliminata l’associazione col comando

NVSPbind /u “nome scheda di rete”

è possibile riassociarla ad un Virtual Switch

Snapshot non gestibili da Hyper-V con Backup Exec

Backuppando un’infrastruttura Hyper-V con Backup Exec (dalla release 2014), dopo il primo backup saranno presenti delle snapshot non gestibili dalla GUI di Hyper-V allacciate alla macchine virtuali. Andando a verificare le impostazioni delle VM, i dischi faranno riferimento ad un file di tipo AVHD/AVHDX. Questa impostazione impedirà quindi di gestire i dischi virtuali (p.e. estenderli. shrink, etc etc).

Questo è dovuto alla feature di Backup Exec “Faster processing method” per ambienti virtuali che teoricamente velocizza i backup. Viene creata una snapshot che sarà utilizzata come una sorta di cache per i nuovi dati, e consolidati al disco padre dopo l’avvenuto backup.

Per eliminare queste snapshot ci sono due metodi.
Il primo è quello di utilizzare uno script in powershell che va a fare il merge dei dischi. Soluzione, a mio avviso, sconsigliabile.
Il secondo è quello di utilizzare il metodo standard di backup (ovviamente di default è impostata l’altro metodo).
Per settarlo:
– menù di Backup Exec
– Configuration and Settings
– Backup Exec Settings.
– Virtual Machines
– Selezionare “Use the standard processing method”

BE-Faster-Standar-VM

Maggiori informazioni a QUESTO LINK

Hyper-V: network lento su macchine virtuali

Implementando un sistema di virtualizzazione su Hyper-V Windows 2012 R2 su delle schede di rete Broadcom, il traffico di rete delle Virtual Machine attestate su queste schede risulta particolarmente lento nonostante i firmware aggiornati all’ultima release disponibile (al momento in cui scrivo Broadcom NetXtreme Network Device Firmware 7.10 last update 12 febbraio 2016).

Per tornare ad una normale operatività, ho dovuto disattivare la “Virtual Machine Queue” dalle schede di rete interessate.

Broadcom - VMQ

Per maggiori informazioni: https://support.microsoft.com/en-us/kb/2902166

HV Host Service: Error 31

Tentando di avviare una macchina virtuale in Hyper-V, mi è apparso il seguente errore:

error hypervAn error occurred while attempting to start the selected virtual machine(s).

<name-vm> failed to restore virtual virtual machine state.

Virtual machine <name-vm> could not be started because the hypervisor is not running

Il BIOS è settato regolarmente per eseguire Hyper-V.

Verifico quindi i servizi, e scopro che il servizio HV Host Service non è partito. Tento quindi di farlo partire manualmente, ma con un “Error 31: A device attached to the system is not functioning” il servizio rimane fermo.

hvhost_error31

Le ricerche sul web indicano più o meno tutte di mettere mano al registro di sistema… la cosa mi convince poco.

Disinstallo quindi il servizio Hyper-V, riavvio e reinstallo: tutto torna a funzionare perfettamente.