Qualche giorno fa mi sono imbattuto, casualmente, in un problemino su una VM.
Si trattava di una macchina Linux (Debian) virtualizzata su un cluster CSV con Hyper-V 3.0. A seguito di un failover, la macchina si è spostata da un nodo ad un altro del cluster ma ha perso la connettività. Il tecnico del networking del cliente si è quindi messo a lavorare sul Cisco per capirci qualcosa e mi ha chiesto se per caso la macchina avesse cambiato il MAC address. No, ho risposto io. Ma forse sbagliavo…
La faccenda mi ha incuriosito e quindi mi sono messo a fare un po’ di esperimenti. Prendendo una VM con una scheda legacy ho controllato il MAC address assegnato da Hyper-V. Lo riporto qui di seguito:
00-15-5D-14-0B-25
Ora, tramite live migration sposto la VM da un nodo all’altro del cluster. Al termine delle operazioni ricontrollo il MAC address della scheda. Invariato. Molto bene.
Controllo quello di una VM Windows con scheda di rete sintentica. Sposto la macchina su un altro nodo e lo ricontrollo. Anche qui invariato. Anche qui molto bene.
Ora spengo la VM Windows e la riaccendo. MAC address stabile, come se nulla fosse successo. Ottimo.
Stessa cosa con la VM Linux. La spengo e la riaccendo. Controllo il MAC address che ora è diventato:
00-15-5D-14-15-2A
E’ cambiato! Solo dopo lo spegnimento.
La cosa in alcuni scenari potrebbe essere deleteria.
Per risolvere il problema al momento l’unica scappatoia che ho trovato è quella di dare un MAC address statico alla scheda legacy. Così facendo questo viene mantenuto anche dopo una migrazione e un riavvio della macchina. Il cambio di tipologia di MAC address va fatto a macchina virtuale spenta in quanto la modifica non è altrimenti consentita.
Non ho avuto modo di verificare se con Windows Server 2012 R2 il problema è ancora presente.
Leave a Reply