Con vSphere Distributed Switch è possibile impostare e configurare la rete in un ambiente vSphere.

Figura 1. Architettura di vSphere Distributed Switch

Architettura di vSphere Distributed Switch.

Un commutatore di rete in vSphere è costituito da due sezioni logiche, ovvero il data plane e il piano di gestione. Il data plane implementa la commutazione, i filtri, i tag e così via dei pacchetti. Il piano di gestione è la struttura di controllo utilizzata per configurare la funzionalità del data plane. vSphere Standard Switch contiene sia dati che funzioni di gestione e l'utente configura e mantiene ciascun commutatore standard singolarmente.

vSphere Distributed Switch separa il data plane e il piano di gestione. La funzionalità di gestione del commutatore distribuito si trova nel sistema vCenter Server che consente di amministrare la configurazione di rete dell'ambiente a livello di data center. Il data plane rimane localmente su ogni host associato al commutatore distribuito. La sezione del data plane del commutatore distribuito è denominata commutatore proxy dell'host. La configurazione di rete creata in vCenter Server (il piano di gestione) viene automaticamente inviata a tutti i commutatori proxy dell'host (il data plane).

vSphere Distributed Switch presenta due astrazioni che vengono utilizzate per creare una configurazione di rete coerente per le schede NIC fisiche, le macchine virtuali e i servizi VMkernel.

Gruppo di porte di uplink
Un gruppo di porte di uplink o un gruppo di porte di dvUplink viene definito durante la creazione del commutatore distribuito e può disporre di uno o più uplink. Un uplink è un modello utilizzato per configurare le connessioni fisiche degli host, nonché i criteri di failover e di bilanciamento del carico. Le NIC fisiche degli host vengono mappate agli uplink nel commutatore distribuito. A livello di host, ogni NIC fisica è connessa a una porta di uplink con un ID specifico. È possibile impostare criteri di failover e bilanciamento del carico su uplink e i criteri vengono propagati automaticamente ai commutatori proxy dell'host o al data plane. In questo modo è possibile applicare una configurazione di failover e di bilanciamento del carico coerente per le schede NIC fisiche di tutti gli host associati al commutatore distribuito.
Gruppo di porte distribuite
I gruppi di porte distribuite forniscono connettività di rete alle macchine virtuali e consentono di accogliere il traffico VMkernel. È possibile identificare ciascun gruppo di porte distribuite utilizzando un'etichetta di rete, che deve essere univoca per il data center corrente. È possibile configurare il raggruppamento NIC, il failover, il bilanciamento del carico, la VLAN, la sicurezza, il traffic shaping e altri criteri sui gruppi di porte distribuite. Le porte virtuali connesse a un gruppo di porte distribuite condividono le stesse proprietà configurate nel gruppo di porte distribuite. Come per i gruppi di porte di uplink, la configurazione impostata nei gruppi di porte distribuite su vCenter Server (il piano di gestione) viene propagata automaticamente a tutti gli host del commutatore distribuito tramite i relativi commutatori proxy dell'host (il data plane). Così è possibile configurare un gruppo di macchine virtuali in modo che condivida la stessa configurazione di rete associando le macchine virtuali allo stesso gruppo di porte distribuite.

Supponiamo, ad esempio, di creare vSphere Distributed Switch nel data center e di associarvi due host. È possibile configurare tre uplink al gruppo di porte di uplink e connettere una scheda NIC fisica da ciascun host a un uplink. Ogni uplink ha due NIC fisiche, una da ciascun host mappato a esso. Ad esempio, Uplink 1 è configurato con vmnic0 da Host 1 e Host 2. Successivamente vengono creati i gruppi di porte distribuite di rete Produzione e VMkernel per i servizi di rete delle macchine virtuali e VMkernel. Rispettivamente, una rappresentazione dei gruppi di porte di rete Produzione e VMkernel viene creata anche in Host 1 e Host 2. Tutti i criteri impostati sui gruppi di porte di rete Produzione e VMkernel vengono propagati alle proprie rappresentazioni su Host 1 e Host 2.

Per garantire l'utilizzo efficiente delle risorse host, il numero di porte distribuite dei commutatori proxy viene scalato verticalmente e orizzontalmente in modo dinamico. Un commutatore proxy in un host di questo tipo può espandere fino al numero massimo di porte supportate nell'host. Il limite della porta viene determinato in base al numero massimo di macchine virtuali che l'host è in grado di gestire.

Flusso di dati di vSphere Distributed Switch

Il flusso di dati dalle macchine virtuali e dalle schede VMkernel fino alla rete fisica dipende dai criteri di raggruppamento e bilanciamento del carico delle NIC impostati nei gruppi di porte distribuite. Il flusso di dati dipende anche dall'allocazione della porta nello switch distribuito.

Figura 2. Raggruppamento NIC e allocazione della porta in vSphere Distributed Switch
Porte di vSphere Distributed Switch per la macchina virtuale e la rete VMkernel

Supponiamo, ad esempio, di creare la rete della macchina virtuale e i gruppi di porte distribuite della rete VMkernel, rispettivamente con 3 e 2 porte distribuite. Il commutatore distribuito alloca le porte con ID da 0 a 4 nell'ordine in cui si creano i gruppi di porte distribuite. Successivamente, si associa Host 1 e Host 2 al commutatore distribuito. Il commutatore distribuito alloca le porte per ogni NIC fisica sugli host, la numerazione delle porte continua da 5 nell'ordine in cui si aggiungono gli host. Per fornire connettività di rete in ogni host, mappare vmnic0 ad Uplink 1, vmnic1 ad Uplink 2 e vmnic2 ad Uplink 3.

Per fornire connettività alle macchine virtuali e per accogliere il traffico VMkernel, è necessario configurare il raggruppamento e il failover nella rete della macchina virtuale e nei gruppi di porte di rete VMkernel. Uplink 1 e Uplink 2 gestiscono il traffico per il gruppo di porte di rete della macchina virtuale e Uplink 3 gestisce il traffico per il gruppo di porte di rete VMkernel.

Figura 3. Flusso del pacchetto nel commutatore proxy dell'host
Raggruppamento NIC e distribuzione delle porte in un commutatore proxy dell'host

Sul lato host, il flusso di pacchetti dalle macchine virtuali e dai servizi VMkernel passa attraverso porte specifiche per raggiungere la rete fisica. Ad esempio, un pacchetto inviato da VM1 nell'host 1 raggiunge innanzitutto la porta 0 nel gruppo di porte distribuite della rete della macchina virtuale. Poiché Uplink 1 e Uplink 2 gestiscono il traffico per il gruppo di porte di rete della macchina virtuale, il pacchetto può continuare dalla porta di uplink 5 o dalla porta di uplink 6. Se il pacchetto passa attraverso la porta di uplink 5, continua a vmnic0 e se il pacchetto passa alla porta di uplink 6, continua a vmnic1.