NLB Unicast con Hyper-V: Modificare il MAC delle VM con Powershell
Il prolifico Giulio Martino - Technical writer e supporter di ISAserver.it - ha realizzato uno script powershell per modificare il MAC Address delle VM in esecuzione su Hyper-V. Questo script si è reso necessario per risolvere un problema "noto" e non risolto, quando si utilizza NLB in UNICAST fra VM con Hyper-V.
L'unica soluzione efficace per risolvere questo problema è quella di impostare, a mano, il MAC Address delle VM che fanno parte del cluster NLB UNICAST.
L'operazione e' abbastanza tediosa e soggetta ad errore. La modifica del MAC Address, ovviamente, può essere fatto solo su VM non in esecuzione.
Per poter utilizzare lo script powershell è necessario:
- Installare Powershell sulla postazione di amministrazione (vedi riferimenti)
- Scaricare la PowerShell Management Library per Hyper-V (vedi riferimenti)
Utilizzare lo script di configurazione
a. Decomprimere la Powershell Management Library nella cartella C:\HypervMGM
b. Decomprimere ISAserver.it Library nella cartella C:\HypervMGM
A questo punto nella cartella \HypervMGM saranno presenti i seguenti file:
c. Avviare Powershell come Amministratori
d. Importare le funzioni di gestione nel seguente ordine:
. ./hyperv.ps1
Durante il processo di importazione verrà visualizzato un Security Warning, rispondere Run once
![]()
continuare importante anche le funzioni di isaserver.it.ps1
. ./isaserver.it.ps1
e. Possiamo lanciare la funzione CAMBIAMAC con la seguente sintassi
CambiaMAC <serverHyper-V> <MAC-Cluster-NLB-UNICAST-senza-segno-meno>
dove <serverHyper-V> è il server Hyper-V - es. MT-HPV -. <MAC-Cluster-NLB-UNICAST> è l'indirizzo MAC del cluster NLB. Per ricavare il MAC del cluster basta lanciare su uno dei nodi NLB il seguente comando:
nlb ip2mac <IP Cluster NLB>:
A questo punto possiamo lanciare la funzione CambiaMAC nel seguente modo:
CambiaMAC MT-HPV 02bfc0a802ea
Inseriamo le VM da modificare separate da virgola seguite da un INVIO ed il gioco è fatto!!
IMPORTANTE: Le VM da modificare devono essere spente. La colonna Stato deve riportare la dicitura Stopped, in caso contrario lo script andrà in errore. Al momento lo script elenca tutte le VM, indicandone lo stato.
Se la VM monta piu' NIC?
Nel caso in cui la nostra VM montasse più vNIC, lo script isaserver.it.ps1 permette di scegliere la vNIC su cui effettuare la modifica:
Basta indicare il numero della vNIC da modificare seguito da INVIO ed il gioco è fatto!
Ecco il risultato ottenuto:
Ovviamente lo script è spartano, mancano alcuni controlli e funzionalità ma verra' integrata. Se volete darci una mano, sul forum di VMexperts.org è attivo il forum su Powershell, dove potersi confrontare e scambiare idee/opinioni.
Se lo utilizzate, lo trovate utile, se lo modificate...scrivetemi una mail a lconte@vmexperts.org oppure direttamente sul forum Powershell.
Per visualizzare le informazioni sullo script, una volta caricate le librerie, vi basta digitare note :
Potete scaricare ISAserver.it Library direttamente da qui
Luca
IMPORTANTE: Lo script realizzato da Giulio è fornito AS-IS senza nessuna garanzia alcuna. L'utilizzo è a proprio rischio. Per domande, commenti potete scrivere sul forum Powershell di VMexperts.org.
Riferimenti:
Download ISAserver.it Library
NLB Unicast con Hyper-V: Un problema (quasi) risolto
ZenIT Blog : Hyper-V e Network Load Balancing
Download Powershell
PowerShell management Library for Hyper-V
Etichette: Hyper-V, ISAserver.it Library, Microsoft, Script



