Aggiungere driver di rete Realtek e Marvell a ESXi 5.5 Update 2

Chi, come il sottoscritto, si cimenta per le prime volte con VMWare, si renderà conto presto o tardi che non sempre l’equazione più nuovo uguale migliore è corretta.

Nel nostro caso lo sarà in assoluto (sicuramente dalle versione 5.0 e 5.1 alla 5.5 le migliorie sono tante), ma ci creerà qualche problema per il setup su sistemi non “professionali”.

Infatti se la limitazione di memoria (minimo 4GB) ormai è abbastanza facilmente aggirabile visti i prezzi non spropositati della ram, lo stesso non si può dire di quella delle schede di rete.

Con l’avvento della release 5.5 di ESXi VMWare ha deciso di estromettere dalla release tutti i driver non supportati direttamente dalla casa madre. Questo ha portato ad escludere praticamente tutte le schede di rete con chipset Realtek e Marvell a favore di quelle con chipset Intel.

Il problema è che la stragrande maggioranza delle schede di rete integrate nelle motherboard di fascia consumer e di quelle PXI express economiche sono a chipset Realtek!

Leggendo qua e su Internet ho scoperto che il driver presente fino alla versione 5.1 è in realtà ancora perfettamente funzionante ed è stato escluso solo per il discorso di licensing sopra citato (non è sviluppato in collaborazione con VMware e quindi rimarrà sempre nello status di “unsupported”).

Integrarlo non è semplicissimo, ma nemmeno impossibile.

L’unico problema è che tutti i tutorial che ho trovato si riferivano alle prime versioni della release 5.5, che invece è già arrivata all’update 2. Per creare ISO personalizzate è necessario conoscere il nome del profilo da clonare per poi aggiungere, informazione che appunto non trovavo da nessuna parte per la versione 5.5u2. Come spesso accade la cosa è più semplice del previsto: navigando all’interno dell’ISO scaricata da VMware ho trovato un file dal nome eloquente e cioè PROFILE.XML. Bingo! Il ramo da clonare (a quanto ho capito il meccanismo è simile al merge di GitHub per clonare e aggiornare i sorgenti) si chiama ESXi-5.5.0-20140902001-standard.

Veniamo al dunque.

Guida quick-and-dirty sulle operazioni da effettuare.

STEP 1

Scaricare ed installare il tool di VMware PowerCLI da qui:

http://vmware.com/downloads/download.do?downloadGroup=PCLI501

STEP 2

Creare nella cartella di installazione un nuovo file di testo, chiamarlo ad esempio fixnic.ps1 (l’unica cosa realmente importante è l’estensione) ed incollarci lo script sottostante:

`# Original script: http://www.ryanbirk.com/fixing-broken-realtek-and-marvell-nics-in-esxi-5-5/

Some hints from script: http://www.v-front.de/2013/09/how-to-add-missing-esxi-50-drivers-to.html

I found the profile name in VMware-VMvisor-Installer-5.5.0.update02-2068190.x86_64.iso\UPGRADE\PROFILE.XML</p>

# If you've never used PowerCLI before, set the ExecutionPolicy to RemoteSigned. Skip this step if you have already.
Set-ExecutionPolicy RemoteSigned

# Makes sure the ImageBuilder snapin is added.
Add-PSSnapin VMware.ImageBuilder

# Connects to the software depot. Takes a few seconds to connect.
Add-EsxSoftwareDepot https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml

# Takes the standard ESXi 5.5 update 2 iso and clones it so we can essentially slipstream in the missing drivers.
$OriginalProfile = Get-EsxImageProfile ESXi-5.5.0-20140902001-standard
$CustomizedProfile = New-EsxImageProfile -CloneProfile $OriginalProfile -Vendor $OriginalProfile.Vendor -Name (($OriginalProfile.Name) + "-w-realtek-marvell-NICs") -Description (($OriginalProfile.Description) + " with Realtek and Marvell NICs drivers")

# Use these two for broken Realtek adapters.
Add-EsxSoftwarePackage -SoftwarePackage "net-r8168" -ImageProfile $CustomizedProfile
Add-EsxSoftwarePackage -SoftwarePackage "net-r8169" -ImageProfile $CustomizedProfile

# Use these two for broken Marvell adapters.
Add-EsxSoftwarePackage -SoftwarePackage "net-sky2" -ImageProfile $CustomizedProfile
Add-EsxSoftwarePackage -SoftwarePackage "net-s2io" -ImageProfile $CustomizedProfile

# Take our newly modified profile and spit out an iso to use. This will take a few minutes. Be patient.
Export-EsxImageProfile -ImageProfile $CustomizedProfile -ExportToISO -FilePath ("D:\TEMPESXi\" + ($OriginalProfile.Name) + "-w-realtek-marvell-NICs" + ".iso")` ### STEP 3 Fare click col destro sul file appena salvato e scegliere Modifica: se avete fatto correttamente i passaggi precedenti il fle si aprirà in PowerCLI. ### STEP 4 Cliccare l’icona con il tasto “Play” verde, confermare con Sì alla richiesta se realmente di desidera eseguire gli script non firmati e… Pazientare! ### FINITO Se tutto è corretto troverete la iso customizzata nella cartella desiderata: nel mio script di esempio si tratta di D:\TEMPESXi.