Archivi tag: Hyper-V

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:

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.

SCVMM 2012 R2 – Error 1604

Configuro l’infrastruttura SC VMM 2012 R2 come da Best Practice (https://technet.microsoft.com/en-us/library/gg610669.aspx): utenze di servizio, SPN, Database, etc etc… tutto và alla perfezione!

Il Virtual Machine Manager funziona a dovere anche durante la configurazione dell’ambiente: collego il cluster, configuro le virtual network… tutto ok!

Provo a collegarmi alla console dal mio pc… ERROR 1604:

You cannot access VMM management server XYZ.

Contact the Virtual Machine Manager administrator to verify that your account is a member of a valid user role and the try the operation again.

ID: 1604

ERROR_1604

Come specifica l’errore, verifico l’utenze: tutte perfettamente configurate.

Ricordo che la mancata o errata configurazione degli SPN porta a questo errore. Un rapito SETSPN -l <nome.server> mi indica che anche gli SPN sono correttamente funzionanti.
Sgooglo… Voci dai forum consigliano di reinstallare il VMM mantenendo le configurazioni attuali (spuntare la voce “mantieni il DB” nel wizard di disinstallazione)
Non ho altre scelte… provo.

La disinstallazione finisce con esito positivo mantenendo il DB invariato… bene.
Procedo con la reinstallazione. Da qua escono gli errori più stravaganti: da errori sul WMI (da event viewer della macchina), all’impossibilità di leggere lo schema di AD (dalla console del wizard).
Dopo svariate ricerche e tentativi -infruttuosi- procedo con la strada più drastica: utilizzo un DB nuovo mandando a spigolare tutto il lavoro di configurazione precedentemente svolto:
– l’installazione termina con esito positivo
– la console è raggiungibile da qualsiasi parte senza errori

Riassumendo sull “ERROR 1604”:
– Verificare utenze
– Verificare SPN
– Reinstallare il SC VMM mantenendo le impostazioni
– Rifare il server da zero

Copy-VMFile: copiare un file dall’Host Hyper-V in una macchina virtuale

HyperV_logoCon Windows Server 2012 R2, in Hyper-V è stato introdotto il cmdlet Copy-VMFile. Questo serve per copiare un file dall’Host Hyper-V in una macchina virtuale.

Sintassi
Copy-VMFile "nome.della.macchina" -SourcePath c:\file\da\copiare.xyz -DestinationPath C:\path\destinazione\copiare.xyz -FileSource Host

Prerequisiti

  • Integration Services” nelle VM aggiornati
    Per verificarlo:
    Get-VM | Select Name, IntegrationServicesVersion, @{Name="IsUpdateNeeded";Expression={$_.IntegrationServicesVersion -lt [version]'6.3.9600.16384'}}
  • Guest Services Interface” abilitati
    Per verificarlo
    Get-VM | Get-VMIntegrationService -Name "Guest Service Interface" | Select VMName, Enabled
    Per abilitarli
    Get-VM "nome.VM" | Get-VMIntegrationService -Name "Guest Service Interface" | Enable-VMIntegrationService -Passthru
  • Servizio “Hyper-V Guest Service Interface” all’interno della VM sia abilitato
    Per verificarlo

Get-Service -Name vm*

Technet con descrizione del funzionamento del cmdlet Copy-VMFile: https://technet.microsoft.com/en-us/library/dn464282(v=wps.630).aspx

Veeam Task Manager for Hyper-V

Il Task Manager di Windows monitorizza le risorse ed i processi/applicazioni che girano sulla macchina. Nel caso fosse installato Hyper-V non è però in grado di fornire i dettagli sulle singole Virtual Machine configurate sull’Host.
Veeam Task Manager for Hyper-V è un tool gratuito che monitorizza la CPU e la RAM di ogni singola VM presente sull’Host.

VeeamTaskManager

 

 

 

 

 

 

Info e download: http://hyperv.veeam.com/free-task-manager-hyper-v-performance-monitoring/