A real use case of vSphere Distributed Switch health check

Recently a customer has added a new ESXi server to his vSphere cluster. Since he has vCloud Standard licenses, I already created a distributed switch to allow an automatic, consistent and error-free configuration of the network settings of all servers. The network migration wizard had worked great and the new server was added and configured into the distributed switch.

Nonetheless, every vmotion attempt (both started by DRS as soon as the server entered the cluster or manually started) was failing. Customer, still used to run the classic vSphere Client, sent me a screenshot with the error. The same error was visible in the Web Client:

vMotion Error

the “old” client was showing in fact a warning in the “VDS Status” column, but there was no further information to help debugging and solving it, as already happened in the past:

VDS Error

So, we started the Web Client, and because even here we had no more informations:

VDS Status in vSphere Web Client

we decided to enable the vSphere Distributed Switch health check, a control tool that allow to check (as its name implies) the health status of a distributed switch and all its components. To enable it, you need to open the Web Client, go into the distributed switch section, open the “Manage” upper tab, then “settings”, and finally the “Health Check” section. With the “Edit” you open a popup where you can modify controls about VLAN, MTU, Teaming and Failover.

Enable Health Check

If you wait for some minutes until vCenter completes its controls, you would eventually see a summary like this one:

Health Check Overview

Funny indeed, Health Check activation made me discover other two warnings on another server!

About the “VDS Status” warning, please always check trunk configuration if you are using a teaming policy as Etherchannel/IP Hash: in my situation customer configured 5 ports on the trunk in the switch, but the ESXi server had 6 network cards in its IP Hash configuration, so we found why vmotion was failing (together with further random problems).

About the warnings on the other server, at the end MTU and VLAN were correctly configured. Health Check instead was compleining about missing CDP information, so ESXi was not able to retrieve information from the switch it was connected to, scecifically on the vmnic1:

No CDP information on a connected NIC

One we modified the configuration on the switch, CDP information were finally available:

CDP Information on NIC

So, if you have vSphere licenses to use vSphere Distributed Switch, than also activate health check, it’s a powerful diagnostic tool to find and correct network misconfigurations.

And, unless you are forced for some reason, avoid Etherchannel and use PortID; but this is another story…

VDS,health,switch,etherchannel,vCenter,check,ESXi 5.1,distributed,error

Un pratico esempio d’uso del vSphere Distributed Switch health check

Recentemente un cliente ha aggiunto a un cluster vSphere un nuovo server ESXi. Possedendo le licenze vCloud Standard, avevamo predisposto tempo addietro un distributed switch per consentire una configurazione automatica, consistente e a prova di errore di tutta la parte di networking dei vari server. Il wizard di migrazione del network infatti aveva funzionato perfettamente e il nuovo server era stato aggiunto al distributed switch e configurato.

Nonostante questo, ogni tentativo di vMotion falliva. Il cliente, ancora abiutato ad usare il vSphere Client classico, mi aveva inviato una schermata dell’errore. Lo stesso errore, nel Web Client compariva così:

vMotion Error

Il client classico evidenziava effettivamente un problema alla voce “VDS Status”, ma per il resto non era per niente di aiuto nel tentare di capire cosa non andava, come già capitato in passato:

VDS Error

Abbiamo quindi aperto il Web Client, e dato che per default nemmeno qui avevamo informazioni più approfondite:

VDS Status in vSphere Web Client

abbiamo deciso di sfruttare il vSphere Distributed Switch health check, uno strumento di controllo che permette di verificare lo stato di salute appunto di un distributed switch e di tutti i suoi componenti. Per abilitarlo, bisogna aprire il Web client, recarsi nel distributed switch, passare al tab “Manage”, quindi “settings”, e aprire la voce di menu “Health Check”. Tramite Edit possiamo abilitare i controlli su VLAN, MTU, Teaming e Failover.

Enable Health Check

Se lasciamo un attimo di tempo a vCenter per ultimare i controlli, ci troveremo davanti a una situazione simile:

Health Check Overview

Incidentalmente, l’attivazione dell’Health Check ci ha fatto notare altri due potenziali problemi su un altro server.

Nel caso del problema di “VDS Status”, verificate sempre bene le configurazioni dei trunk se state usando il teaming di tipo Etherchannel/IP Hash: nel mio caso il cliente aveva configurato un trunk da 5 porte sullo switch, ma sul server ESXi tutte le 6 NIC presenti nel server facevano parte dello stesso virtual switch, e pertanto ecco spiegato il perchè vmotion non funzionava (più altri problemi random che capitavano).

Per gli errori dell’altro server invece, in realtà ne MTU ne VLAN presentavano problemi. Piuttosto, c’erano difficoltà di comunicazione del protocollo CDP, per cui il server ESXi non riusciva a recuperare le informazioni dallo switch cui la scheda di rete vmnic1 era connessa:

No CDP information on a connected NIC

Una volta corretti tutti gli errori di configurazione sugli switch, le informazioni CDP sono tornate disponibili:

CDP Information on NIC

Quindi, se possedete le licenze necessarie a creare un vSphere Distributed Switch, attivate e utilizzate l’health check, è un ottimo aiuto nel identificare e correggere mis-configurazioni di rete.

E se proprio non siete obbligati, evitate Etherchannel e usate PortID, ma questa è un’altra storia…