Il processo fisico (e mentale!) di migrazione dal mondo tradizionale a quello virtuale può talvolta dare del filo da torcere agli amministratori poiché i termini e le funzionalità della sfera virtuale sono un po’ diversi da quanto si era abituati ad utilizzare in precedenza. Per chi di voi è in fase di apprendimento dei diversi aspetti della virtualizzazione e di Hyper-V, continueremo a pubblicare post utili che illustrano varie funzionalità di Hyper-V.
Oggi voglio parlarvi del virtual switch (vSwitch) di Hyper-V in Windows Server 2012 R2. Prima però dedicate un po’ di tempo a leggere le domande seguenti:
- Cos’è un vSwitch di Hyper-V?
- Quali tipologie di vSwitch si trovano in Hyper-V e quali sono le differenze?
- Qual è il comando PowerShell per configurare un vSwitch in remoto?
- Come posso configurare una VM (macchina virtuale) per vedere solo la rete interna e non Internet?
Queste domande vi dicono qualcosa? Se è così, continuate nella lettura. Ho le risposte!
Cos’è un virtual switch in Hyper-V?
Il vSwitch di Hyper-V è un commutatore software-defined del traffico di rete Ethernet di livello 2. Consente agli amministratori di connettere le VM alle reti fisiche o virtuali. È disponibile per impostazione predefinita all’interno dell’installazione di Hyper-V Manager e contiene capacità estese per la sicurezza e il monitoraggio delle risorse. Come altre funzionalità di Hyper-V, vSwitch è stato migliorato con ogni nuova versione di Hyper-V. Oggi, vSwitch è considerato molto robusto, ma continua a essere oggetto di miglioramenti. Ad esempio, in Hyper-V 4.0 (quello in Windows 2012 R2), ha guadagnato molto in termini di isolamento tra tenant e di protezione della rete dalle VM pericolose.
Passando dalla teoria alla pratica, vorrei arrivare direttamente a Hyper-V Manager e farvi vedere di persona questa funzionalità.
Configurazione di un vSwitch di Hyper-V
Durante la configurazione di Hyper-V non è prevista alcuna pre-configurazione del vSwitch. Se tentate di creare una VM subito dopo il processo di setup, non sarete in grado di connetterla a una rete. Per configurare un ambiente di rete, è necessario aprire il Virtual Switch Manager nel riquadro a destra di Hyper-V Manager.
Figura 1. Hyper-V Manager
Virtual Switch Manager configura vSwitch e le impostazioni di rete globali, consentendovi di modificare l’intervallo di indirizzi MAC predefinito se ne vedete il motivo (nota: modificare l’intervallo di indirizzi MAC non influisce su uno switch virtuale esistente)
Creazione di uno switch virtuale è facile: ecco come procedere. Sono disponibili tre tipi di vSwitch:
- vSwitchesterno – collega una NIC fisica dell’host Hyper-V a una virtuale e quindi consente l’accesso delle VM all’esterno dell’host, ovvero alla rete fisica e a Internet (se la rete fisica è connessa a Internet).
- vSwitch interno– dovrebbe essere usato per costruire una rete virtuale indipendente quando si ha bisogno di connettere le VM l’una all’altra e all’hypervisor.
- vSwitch privato– crea una rete virtuale in cui tutte le VM connesse si vedranno a vicenda, ma non vedranno l’host Hyper-V. In questo modo, le VM saranno completamente isolate in una sandbox.
Figura 2. vSwitch Manager
Creare un vSwitch esterno
Nel creare un vSwitch esterno, la procedura guidata di creazione vi consente di affinare alcune impostazioni.
- È possibile selezionare una NIC fisica specifica se ce ne è più di una per un vSwitch esterno.
- L’impostazione Allow management OS to share this network adapter è abilitata per impostazione predefinita. Disabilitarla significa lasciare il SO dell’hypervisor senza connettività di rete. Prestate attenzione nel creare un vSwitch da remoto, poiché interromperà completamente la connessione all’host remoto.
- SR-IOV(Single Root I/O Virtualization) vi consente di incrementare il throughput di rete, non utilizzando il vSwitch e reindirizzando il traffico direttamente verso la VM. Una panoramica di come abilitare la SR-IOV è reperibile qui. Ci sono alcuni requisiti da tenere a mente come la compatibilità BIOS, il supporto SLAT della CPU e l’avere almeno una scheda di rete PCIe con supporto SR-IOV nel sistema. Verificate se i requisiti possono essere rispettati, pianificando la configurazione di conseguenza.
NOTA: Non è possibile abilitare la tecnologia SR-IOV su un vSwitch esistente. - ID VLAN: questa impostazione specifica la Virtual LAN (VLAN) per il sistema operativo di gestione (host Hyper-V). Lo stesso è vero anche per un ambiente fisico: consente di segregare il traffico dell’hypervisor grazie a domini di broadcast separati all’interno della stessa rete.
Figura 3. Creazione di un vSwitch esterno
Una volta cliccato il pulsante Apply, preparatevi a perdere connettività fisica per un momento mentre Hyper-V disattiva la NIC fisica, configura lo vSwitch e poi attiva entrambi:
Figura 4. Creazione di un vSwitch esterno – Attenzione
La creazione di vSwitch interni e privati sembrerà uguale, ma alcune impostazioni, come la condivisione della rete e la SR-IOV saranno disattivati, per la natura stessa di questi vSwitch.
Figura 5. Creazione di un vSwitch interno
NOTA: proprio come qualsiasi altra operazione amministrativa in Windows 2012 R2, anche questa può essere automatizzata con uno script PowerShell. Per la sintassi completa è necessario ricorrere al sito TechNet, ma qualche esempio di script PS è riportato di seguito.
SUGGERIMENTO: non dimenticate di eseguire la console PowerShell con autorizzazioni elevate.
Ecco il comando per creare un vSwitch esterno per la NIC “Ethernet”:
New-VMSwitch -Name "External vSwitch" -NetAdapterName "Ethernet" -AllowManagementOS 1 -Notes "PowerShell example of External vSwitch creation" |
Siguiente comando para crear un vSwitch interno:
New-VMSwitch -Name "Internal vSwitch" -SwitchType "Internal" -Notes "PowerShell example of Internal vSwitch creation" |
Il tipo di vSwitch è definito utilizzando il parametro “-SwitchType “Internal/Private” o uno qualsiasi dei seguenti per un vSwitch esterno: “-NetAdapterName “name of the physical NIC” / -NetAdapterInterfaceDescription “description of a physical NIC””.
Una volta creati gli vSwitch, è possibile usarli durante la configurazione della connettività di rete della VM.
Figura 6. Nuova procedura guidata per la creazione di una VM
SUGGERIMENTO: verificate a quale vSwitch sono connesse tutte le VM utilizzando:
Get-VMNetworkAdapter -VMName *
Connettività delle rete VM esterna
Vi ricordiamo che una VM connessa a un vSwitch interno o a un vSwitch privato otterrà l’indirizzo IP automaticamente solo se il server DHCP è presente sulla stessa rete virtuale. Se non è presente un server DHCP, eseguire la post-configurazione per le VM connesse a un vSwitch privato:
1. Verificare la sezione Network Connections del SO dell’hypervisor, individuando la connessione relativa al vSwitch interno. Configurare l’indirizzo IP statico e la maschera di sottorete manualmente.
Figura 7. Post-configurazione di uno switch interno
2. Avviate la VM ed assegnate alla NIC della VM un IP statico appropriato, della stessa sottorete per configurare la connessione di rete. Una volta applicate le impostazioni corrette, sarete in grado di inviare un ping all’hypervisor per verificare se tutto è stato configurato correttamente.
Figura 8. Verifica della connettività di rete nell’ambito di uno switch interno
Per configurare un vSwitch privato, usate IP statici per tutte le VM e posizionateli tutti nella stessa sottorete.
Tutto qui. Presto condividerò altri materiali utili relativi a Hyper-V. Nel frattempo fatemi sapere la vostra esperienza con gli switch virtuali di Hyper-V. Avete problemi, suggerimenti o commenti da condividere?