Shudong Zhou, un senior engineer di VMware, ha pubblicato un breve articolo sul blog aziendale spiegando in modo eccezionale cosa è questa funzione e come usarla al meglio.
Il Beaconing è una soluzione software per identificare connessioni di rete fisiche down tra un server ESX e uno switch fisico.
In ESX tutte le connessioni agganciate a un vswitch sono solitamente considerate come connesse alla stessa rete fisica (dominio di broadcast) e sono pertanto equivalenti. Si può configurare una lista di connessioni attive o in standby e quando il driver della scheda di rete trova la connessione down tutto il traffico viene reindirizzato su una connessione in standby o su uno dei rimanenti link attivi.
Se la failure avviene oltre il link fisico ovviamente il driver non può rilevare questa situazione. In questo modo le VM perdono connettività.
La soluzione ottimale sarebbe attivarre il “Link State Tracking” sullo switch fisico per permettere al driver di rilevare la failure. Qui entra in gioco il Beaconing, dato che permette di rilevare le failure su quegli switch che non supportano il Link State Tracking.
ESX periodicamente invia in broadcast pacchetti beacon su tutti i collegamenti di un team. Lo switch fisico dovrebbe inoltrare tutti i pacchetti sulle altre porte dello stesso dominio di broadcast. In questo modo una scheda del team vede arrivare i pacchetti inviati dalle altre schede dello stesso team. Se una scheda non rileva 3 pacchetti consecutivi viene marcata come “bad”. Con due connessioni possiamo identificare una failure dello switch ma non capire quale delle due schede sia bad, mentre triangolando i beacon su 3 porte possiamo capire quale delle 3 è in stato bad.
Quando una failure viene identificata ESX agisce in questi modi:
1. se due o più link ricevono i reciproci beacon, questi vengono considerati attivi. Smette di usare quegli uplink che non ricevono nessun beacon
2. su ESX 3.5, se nessuna scheda riceve i beacon il traffico viene mandato a tutte le schede indiscriminatamente (shotgun mode).
3. nella futura versione di ESX sono previsti ulteriori migliorie. Se nessun link riceve i beacon il traffico verrà instradato unicamente su quei link segnati come “up”. In questo modo prevedono di risparmiare alcuni cicli di CPU.
Ricapitolando: se desiderate garantire la disponibilità delle VM e i vostri switch non supportano il Link State Tracking, dotatevi di almeno 3 connessioni in team, se siete a corto di risorse ricordatevi comunque che bastano 2 schede.