# Hyper-V

`Hyper-V` è la piattaforma di virtualizzazione sviluppata da Microsoft, integrata nei sistemi operativi Windows Server e client.

Secondo le best practices, il server dedicato alla virtualizzazione deve essere impiegato esclusivamente come host Hyper-V. Si sconsiglia l'installazione di altri ruoli, come quello di Domain Controller, sulla stessa macchina per garantire stabilità e prestazioni.

## Installazione del ruolo Hyper-V

L'installazione del ruolo Hyper-V su Windows Server viene eseguita tramite `Server Manager`, navigando in `Manage > Add Roles and Features`. Sui sistemi client Windows, è sufficiente abilitare la funzionalità Hyper-V tramite `Turn Windows features on or off`.

Durante l'installazione, viene configurato automaticamente un `virtual network adapter`, che permette alle macchine virtuali di comunicare con la rete fisica.

## Creazione Virtual Machine

La gestione dell'hypervisor avviene tramite la console `Hyper-V Manager`. Per creare una nuova VM, seguire la procedura ufficiale:[Creare una macchina virtuale in Hyper-V](https://learn.microsoft.com/it-it/windows-server/virtualization/hyper-v/get-started/create-a-virtual-machine-in-hyper-v)

![create-new-vm](asset/img/create-new-vm.png)

- Assegnare un nome univoco alla VM

![specify-vm-name](asset/img/specify-vm-name.png)

- Specificare il tipo di generazione
  - Generation 1: basata su BIOS legacy, per sistemi operativi più datati
  - Generation 2: basata su UEFI, più moderna e sicura; raccomandata

![specify-generation](asset/img/specify-generation.png)

- Specificare la quantità di RAM da allocare alla VM

![vm-memory](asset/img/vm-memory.png)

- Networking: Selezionare un virtual switch. Se non esiste, crearne uno tramite Virtual Switch Manager nel riquadro Actions.
- Selezionare l'opzione *Create a virtual hard disk* per generare un nuovo VHD. Specificare nome, percorso e dimensione

![vm-hdd](asset/img/vm-hdd.png)

- Selezionare la ISO dell'OS da installare
- Rivedere tutte le impostazioni e confermare per creare la VM.

Dopo la creazione, è possibile modificare le impostazioni della VM facendo clic destro su di essa e selezionando Settings.

![hyperv-vm-settings](asset/img/hyperv-vm-settings.png)

Per interagire con la VM, selezionare dal medesimo menú l'opzione `Connect`. Verrà avviata la console.

![hyperv-console](asset/img/hyperv-console.png)

## Funzionalità Avanzate

Hyper-V include funzionalità enterprise come la `replica asincrona` su un secondo nodo, utile per il disaster recovery e l'alta disponibilità. Supporta inoltre la creazione di snapshots (`checkpoint`).
