¿Se puede cambiar el tipo de NIC virtual después de construir una VM?

9

Al crear una VM, puede seleccionar qué tipo de dispositivo virtual desea que sea una vNIC (E1000, VMXNET3, etc.).

Después de crear la VM, ¿puede cambiar el tipo de vNIC en uso en una conexión determinada (por ejemplo, de E1000 a VMXNET3)?

¿Si es así, cómo?

madriguera
fuente

Respuestas:

12

Sí, puedes cambiar el tipo.

Use el Set-NetworkAdaptercmdlet powercli. El interruptor "Tipo" le permite modificar el adaptador. Tenga en cuenta que la VM debe estar apagada para hacer esto.

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

vSphere PowerCLI se puede descargar aquí:

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

Se puede instalar en cualquier máquina con Windows que tenga acceso de red al servidor ESXi. Normalmente lo instalo directamente en mi computadora portátil / estación de trabajo donde también tengo instalado vSphere.

Después de la instalación, ábralo. Use Connect-VIServerpara conectarse a su host ESXi. Le pedirá la dirección IP del servidor y las credenciales.

Use Get-VMpara recuperar la lista de máquinas virtuales en el host ESXi. Confirme que el que desea cambiar está allí y anote el nombre exacto.

Use este comando para cambiar el adaptador, reemplazando el nombre del servidor con el nombre exacto de la Get-VMlista y escriba con el tipo de adaptador que desee:

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

Tenga en cuenta que si la VM tiene varias NIC, es posible que necesite otro interruptor en el comando para especificar el correcto.

jlehtinen
fuente
1
No haber trabajado con PowerCLI antes, ¿se puede ejecutar desde una máquina virtual Linux?
Warren
@warren Creo que es solo Windows, ya que PowerCLI es básicamente un montón de scripts de PowerShell que afectan a las API de vSphere. Piense en ello como una alternativa de línea de comandos a vSphere: lo usa para conectarse a un host ESXi y emitir comandos.
jlehtinen
ok, supongo que no lo entiendo completamente, ya que no lo he usado antes. ¿Se ejecuta en el host vCenter?
Warren
1
@warren Actualicé la publicación con más detalles.
jlehtinen
Al usar esto contra VM con múltiples NIC, le pide cada NIC, así que solo use el comando exacto anterior:get-vm 'myserver'|get-networkadapter|set-networkadapter -type vmxnet3
neildeadman
6

Como puede estar aprendiendo, hay varias formas de cambiar el tipo de adaptador. Una advertencia para recordar se relaciona con la generación de direcciones MAC.

Cuando crea una NIC virtual, hay dos opciones relacionadas con la dirección MAC:

  • Automático : (predeterminado) ESX genera automáticamente una dirección MAC para usted
  • Manual : usted, el usuario, ingresa manualmente una dirección MAC que selecciona

Si está utilizando MAC generados automáticamente, al cambiar el tipo de adaptador se genera la dirección. Esto significa que cualquier configuración que tenga, en el invitado o en la infraestructura de red en sí, que dependa de una dirección MAC fallará. Por lo tanto, si cambia el tipo de adaptador, debe permitir que se genere automáticamente una nueva dirección MAC o que establezca manualmente la suya. Sin embargo, no puede configurar manualmente la dirección anterior como interfaz, ya que ESX reserva este prefijo para sus propios fines.

ADVERTENCIA ADVERTENCIA CUANDO ESTO FALLA LA CULPA SÓLO USTED MISMO

Una alternativa que he usado es editar manualmente el archivo de configuración de la máquina virtual. Este método requiere que SSH esté habilitado en el host ESX y que esté dispuesto a omitir todas las protecciones de integridad de datos que proporciona una GUI o API.

Antes de realizar cualquiera de estos pasos, asegúrese de que el invitado esté apagado y que la ventana de configuración esté cerrada.

  1. SSH en tu host
  2. Localice el archivo vmx para su máquina virtual (ej. /vmfs/volumes/datastore1/testvm.priv/testvm.priv.vmx
  3. Abra el archivo para editar: vi /vmfs/volumes/datastore1/testvm.priv/testvm.priv.vmx
  4. Encuentre la línea que define el tipo de interfaz. Por ejemplo, para la primera vNICethernet0.virtualDev = "e1000"
  5. Cambiar e1000avmxnet3
  6. Guarda el archivo y cierra.

Ahora habrá cambiado el tipo de dispositivo NIC virtual sin tener que cambiar la dirección MAC.

Scott Pack
fuente
1
No estoy tan seguro de estar preocupado por la dirección MAC ... el único lugar donde debería entrar en juego es un contrato de arrendamiento DHCP específico, y esos tiempos de espera después de un tiempo
Warren
1
@warren: Depende mucho de tu infraestructura. En mi caso, fue más fácil hacer esto que volver a registrar a los invitados para que sus MAC se permitieran en la red. A veces, los puertos del conmutador pueden estar bloqueados por MAC, a veces las reservas están en uso. A veces no importa, pero a veces sí, y un buen administrador necesita saber cómo funcionan las diferentes cosas en diferentes situaciones.
Scott Pack
buen punto. En este caso, eso no es una preocupación, pero veo cómo podría ser :)
Warren
1
Si desea evitar ssh, puede descargar el archivo .vmx desde el almacén de datos del navegador, editarlo y cargarlo.
JamesRyan
1
Incontestado. La primera regla de los consejos de Internet es verter un tazón de sal. El segundo es analizarlo contra su entorno para ver qué tiene sentido. Con un entorno suficientemente avanzado, hacer cualquier mantenimiento de host sin vCLI es probablemente un mal juju.
Scott Pack
2

No creo que sea productivo sugerir una solución PowerCLI o de secuencias de comandos para esta pregunta ... Demasiadas suposiciones sobre la infraestructura circundante para lo que es una solución manual de 30 segundos.

La respuesta es que realmente no debería cambiar el tipo de adaptador en vuelo. El proceso más aceptado es eliminar el adaptador existente y agregar un nuevo adaptador del tipo que desee.

NIC E1000 existente conectada a una VM ingrese la descripción de la imagen aquí

retire la NIC E1000 ingrese la descripción de la imagen aquí

agregar un nuevo dispositivo de red
ingrese la descripción de la imagen aquí

Especifique el tipo de adaptador que se utilizará en el nuevo dispositivo de red ingrese la descripción de la imagen aquí

En su sistema operativo, reconfigure la configuración de red.

ewwhite
fuente
eliminar la NIC anterior y agregar una nueva no cambia el tipo directamente, aunque podría utilizarse. El inconveniente es que, al menos en Linux, debe eliminar las configuraciones antiguas para eth0 (o eth <n>), porque de lo contrario solo obtendrá la siguiente asignación secuencial eth <n>
warren
1

No puede cambiar el tipo, pero puede eliminar fácilmente el tipo no deseado y agregar una nueva vNIC del tipo deseado.

Juan
fuente
eso es lo que estaba pensando que sería la respuesta. Oh bien. ¿Alguna idea de por qué este es el caso?
Warren
2
Es una limitación de la GUI. Evidentemente, puede hacerlo a través de PowerCLI; consulte la respuesta de @ jlehtinen para obtener más detalles.
John
1
@John: También puedes hacerlo en la GUI (al menos en 5.1). La VM debe estar apagada y usted debe cambiar la MAC.
Scott Pack
@ScottPack: ¿está en el webui o en el cliente vCenter?
Warren
1
@warren: la interfaz de usuario web se introdujo con 5.5. Lo cual es fantástico porque, por lo que entiendo, solo está disponible a través de vCenter y muchas funciones ya no están disponibles en el cliente gordo. Realmente nos deja a todos los usuarios independientes en el frío.
Scott Pack