È possibile modificare il tipo di NIC virtuale dopo aver creato una macchina virtuale?


9

Quando si crea una macchina virtuale, è possibile selezionare il tipo di dispositivo virtuale che si desidera sia una vNIC (E1000, VMXNET3, ecc.).

Dopo aver creato la VM, è possibile modificare il tipo di vNIC in uso su una determinata connessione (ad es. Da E1000 a VMXNET3)?

Se é cosi, come?

Risposte:


12

Sì, puoi cambiare il tipo.

Utilizzare il Set-NetworkAdaptercmdlet powercli. L'opzione "Tipo" consente di modificare l'adattatore. Si noti che la VM deve essere spenta per fare questo.

https://www.vmware.com/support/developer/PowerCLI/PowerCLI41U1/html/Set-NetworkAdapter.html

vSphere PowerCLI può essere scaricato qui:

https://my.vmware.com/group/vmware/details?downloadGroup=VSP510-PCLI-510&productId=285

Può essere installato su qualsiasi macchina Windows con accesso di rete al server ESXi. Di solito lo installo direttamente sul mio laptop / workstation su cui ho installato anche vSphere.

Dopo l'installazione, aprilo. Utilizzare Connect-VIServerper connettersi al proprio host ESXi. Ti verrà richiesto l'ip del server e le credenziali.

Utilizzare Get-VMper recuperare l'elenco di macchine virtuali sull'host ESXi. Conferma che quello che vuoi cambiare è lì e annota il nome esatto.

Utilizzare questo comando per modificare l'adattatore, sostituendo il nome del server con il nome esatto Get-VMdall'elenco e digitare con il tipo di adattatore desiderato:

get-vm 'myserver'|get-networkadapter|set-networkadapter -type e1000

Se la VM ha più schede di rete, potrebbe essere necessario un altro switch nel comando per specificare quello corretto.


1
non avendo mai lavorato con PowerCLI prima, può essere eseguito da una macchina virtuale Linux?
Warren,

@warren Penso che sia solo Windows, dal momento che PowerCLI è fondamentalmente un mucchio di script PowerShell che colpiscono le API vSphere. Pensalo come un'alternativa da riga di comando a vSphere: lo usi per connetterti a un host ESXi ed emetti comandi.
jlehtinen,

ok - suppongo di non averlo compreso appieno, dato che non l'ho mai usato prima. È eseguito sull'host vCenter?
Warren,

1
@warren ho aggiornato il post con maggiori dettagli.
jlehtinen,

Quando lo si utilizza su VM con più schede di rete, viene richiesto per ciascuna scheda di rete quindi utilizzare il comando esatto sopra:get-vm 'myserver'|get-networkadapter|set-networkadapter -type vmxnet3
neildeadman

6

Come forse stai imparando, ci sono molti modi per cambiare il tipo di adattatore. Un avvertimento da ricordare riguarda la generazione di indirizzi MAC.

Quando si crea una scheda di rete virtuale, sono disponibili due opzioni relative all'indirizzo MAC:

  • Automatico : (impostazione predefinita) ESX genera automaticamente un indirizzo MAC
  • Manuale : l'utente immette manualmente un indirizzo MAC selezionato

Se si utilizzano MAC generati automaticamente, la modifica del tipo di adattatore comporta la rigenerazione dell'indirizzo. Ciò significa che tutte le configurazioni che hai, sul guest o sulla stessa infrastruttura di rete, che si basano su un indirizzo MAC falliranno. Pertanto, se si modifica il tipo di adattatore, è necessario consentire la generazione automatica di un nuovo indirizzo MAC o l'impostazione manuale dell'utente. Tuttavia, non è possibile impostare manualmente il vecchio indirizzo come interfaccia poiché ESX riserva questo prefisso per i propri scopi.

AVVERTENZA AVVERTENZA QUANDO QUESTO GUASTO SI INCENDE SOLO DA TE

Un'alternativa che ho usato è quella di modificare manualmente il file di configurazione della macchina virtuale. Questo metodo richiede che SSH sia abilitato sull'host ESX e si è disposti a bypassare tutte le protezioni di integrità dei dati fornite da una GUI o API.

Prima di eseguire uno qualsiasi di questi passaggi, assicurarsi che il guest sia spento e che la finestra delle impostazioni sia chiusa.

  1. SSH nel tuo host
  2. Individua il file vmx per la tua macchina virtuale (ad es. /vmfs/volumes/datastore1/testvm.priv/testvm.priv.vmx
  3. Apri il file per la modifica: vi /vmfs/volumes/datastore1/testvm.priv/testvm.priv.vmx
  4. Trova la linea che definisce il tipo di interfaccia. Ad esempio, per la prima vNICethernet0.virtualDev = "e1000"
  5. Cambia e1000invmxnet3
  6. Salva il file ed esci.

Ora avrai cambiato il tipo di dispositivo NIC virtuale senza cambiare l'indirizzo MAC.


1
non sono così sicuro che sarei preoccupato per l'indirizzo MAC ... l'unico posto in cui dovrebbe entrare in gioco è un contratto di locazione DHCP specifico, e quei timeout dopo un po '
warren

1
@warren: dipende molto dalla tua infrastruttura. Nel mio caso è stato più semplice farlo che registrare nuovamente i guest in modo che i loro MAC fossero ammessi sulla rete. A volte le porte degli switch potrebbero essere MAC bloccate, a volte sono in uso le prenotazioni. A volte non importa ma a volte lo fa e un buon amministratore deve sapere come funzionano cose diverse in situazioni diverse.
Scott Pack

buon punto. In questo caso, non è un problema, ma vedo come potrebbe essere :)
Warren,

1
Se vuoi evitare ssh, puoi scaricare .vmx dal navigatore dei dati, modificarlo e caricarlo.
JamesRyan,

1
Non contestati. La prima regola dei consigli su Internet è versare una ciotola di sale. Il secondo è analizzarlo in base al proprio ambiente per vedere cosa ha effettivamente senso. Con un ambiente sufficientemente avanzato che esegue qualsiasi manutenzione dell'host senza vCLI è probabilmente un cattivo juju.
Scott Pack,

2

Non credo sia produttivo suggerire una soluzione PowerCLI o di scripting a questa domanda ... Troppi presupposti sull'infrastruttura circostante per una correzione manuale di 30 secondi.

La risposta è che non dovresti davvero cambiare il tipo di adattatore in volo. Il processo più accettato è rimuovere l'adattatore esistente e aggiungere un nuovo adattatore del tipo desiderato.

scheda di rete esistente E1000 collegata a una macchina virtuale inserisci qui la descrizione dell'immagine

rimuovere la scheda di rete E1000 inserisci qui la descrizione dell'immagine

aggiungere un nuovo dispositivo di rete
inserisci qui la descrizione dell'immagine

specificare il tipo di adattatore da utilizzare nel nuovo dispositivo di rete inserisci qui la descrizione dell'immagine

Nel tuo sistema operativo, riconfigura le impostazioni di rete.


la rimozione della vecchia scheda di rete e l'aggiunta di una nuova non modificano direttamente il tipo, sebbene possa essere utilizzato. Lo svantaggio è che, almeno su Linux, è quindi necessario rimuovere le vecchie configurazioni per eth0 (o eth <n>), perché altrimenti si ottiene semplicemente il successivo incarico eth <n> sequenziale
warren

1

Non è possibile modificare il tipo, ma è possibile eliminare facilmente il tipo indesiderato e aggiungere una nuova vNIC del tipo desiderato.


ecco cosa stavo pensando che sarebbe stata la risposta. Oh bene. Qualche idea sul perché sia ​​così?
Warren,

2
È una limitazione della GUI. Evidentemente, puoi farlo tramite PowerCLI - vedi la risposta di @ jlehtinen per i dettagli.
Giovanni

1
@ John: è anche possibile farlo nella GUI (almeno su 5.1). La VM deve essere spenta ed è necessario modificare il MAC.
Scott Pack,

@ScottPack: è nel webui o nel client vCenter?
Warren,

1
@warren: la webUI è stata introdotta con 5.5. Il che è fantastico perché, da quello che ho capito, è disponibile solo tramite vCenter e molte funzionalità non sono più disponibili nel client fat. Lascia davvero tutti noi utenti autonomi fuori al freddo.
Scott Pack
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.