Você pode alterar o tipo de NIC virtual depois de criar uma VM?

9

Ao criar uma VM, você pode selecionar qual tipo de dispositivo virtual você gostaria que fosse uma vNIC (E1000, VMXNET3, etc).

Após a criação da VM, você pode alterar o tipo de vNIC em uso em uma determinada conexão (por exemplo, do E1000 para o VMXNET3)?

Se sim, como?

Warren
fonte

Respostas:

12

Sim, você pode alterar o tipo.

Use o Set-NetworkAdaptercmdlet powercli. A opção "Tipo" permite modificar o adaptador. Observe que a VM deve estar desativada para fazer isso.

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

O vSphere PowerCLI pode ser baixado aqui:

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

Ele pode ser instalado em qualquer máquina Windows que tenha acesso de rede ao servidor ESXi. Normalmente, instalo-o diretamente no meu laptop / estação de trabalho, onde também tenho o vSphere instalado.

Após a instalação, abra-o. Use Connect-VIServerpara se conectar ao seu host ESXi. Ele solicitará o IP do servidor e credenciais.

Use Get-VMpara recuperar a lista de VMs no host ESXi. Confirme se você deseja alterar e anote o nome exato.

Use este comando para alterar o adaptador, substituindo o nome do servidor pelo nome exato da Get-VMlista e digite o tipo de adaptador desejado:

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

Observe que, se a VM tiver várias NICs, você poderá precisar de outra opção no comando para especificar a correta.

jlehtinen
fonte
1
não tendo trabalhado com o PowerCLI antes, isso pode ser executado a partir de uma VM Linux?
Warren
@warren Eu acho que é apenas para Windows, já que o PowerCLI é basicamente um monte de scripts do PowerShell que atingem as APIs do vSphere. Pense nisso como uma alternativa de linha de comando para o vSphere - use-o para conectar-se a um host ESXi e emitir comandos.
precisa saber é o seguinte
ok - acho que não estou entendendo completamente, pois não o usei antes. É executado no host do vCenter?
Warren
1
@warren Atualizei o post com mais detalhes.
precisa saber é o seguinte
Ao usar isso contra VM com várias placas de rede, ele pede-lhe para cada NIC então é só usar o comando exato acima:get-vm 'myserver'|get-networkadapter|set-networkadapter -type vmxnet3
neildeadman
6

Como você pode aprender, há várias maneiras de alterar o tipo de adaptador. Uma ressalva a ser lembrada diz respeito à geração de endereços MAC.

Quando você cria uma NIC virtual, há duas opções relacionadas ao endereço MAC:

  • Automático : (padrão) O ESX gera automaticamente um endereço MAC para você
  • Manual : você, o usuário, insere manualmente um endereço MAC que você seleciona

Se você estiver usando MACs gerados automaticamente, a alteração do tipo de adaptador resultará na regeneração do endereço. Isso significa que todas as configurações que você possui, no convidado ou na própria infraestrutura de rede, que dependem de um endereço MAC, falharão. Portanto, se você alterar o tipo de adaptador, deverá permitir que gere automaticamente um novo endereço MAC ou defina manualmente o seu. No entanto, você não pode definir manualmente o endereço antigo como a interface, pois o ESX reserva esse prefixo para seus próprios fins.

ADVERTÊNCIA ADVERTÊNCIA QUANDO FALHA SOMENTE EM RESPONSABILIDADE

Uma alternativa que eu usei é editar manualmente o arquivo de configuração da máquina virtual. Esse método exige que o SSH esteja ativado no host ESX e você deseja ignorar todas as proteções de integridade de dados fornecidas por um GUI ou API.

Antes de executar qualquer uma dessas etapas, verifique se o convidado está desligado e a janela de configurações está fechada.

  1. SSH no seu host
  2. Localize o arquivo vmx para sua máquina virtual (por exemplo, /vmfs/volumes/datastore1/testvm.priv/testvm.priv.vmx
  3. Abra o arquivo para edição: vi /vmfs/volumes/datastore1/testvm.priv/testvm.priv.vmx
  4. Encontre a linha que define o tipo de interface. Por exemplo, para a primeira vNICethernet0.virtualDev = "e1000"
  5. Mude e1000paravmxnet3
  6. Salve o arquivo e saia.

Agora você alterou o tipo de dispositivo da NIC virtual sem precisar alterar o endereço MAC.

Scott Pack
fonte
1
não tão certo que eu estaria preocupado com o endereço MAC ... o único lugar que deve entrar em jogo é em uma locação específica DHCP, e aqueles em tempo fora depois de um tempo
Warren
1
@ warren: Depende bastante da sua infraestrutura. No meu caso, era mais fácil fazer isso do que registrar novamente os convidados para que seus MACs fossem permitidos na rede. Às vezes, as portas do switch podem estar bloqueadas por MAC, outras vezes, reservas estão em uso. Às vezes isso não importa, mas às vezes sim, e um bom administrador precisa saber como as coisas funcionam em diferentes situações.
Scott Pacote
bom ponto. Neste caso, isso não é uma preocupação, mas não vejo como poderia ser :)
Warren
1
Se você deseja evitar o ssh, pode fazer o download do .vmx a partir do armazenamento de dados, editá-lo e fazer o upload.
21414 JamesRyan
1
Incontestado. A primeira regra dos conselhos da Internet é derramar uma tigela de sal. O segundo é analisá-lo em seu ambiente para ver o que realmente faz sentido. Com um ambiente suficientemente avançado, fazer qualquer manutenção do host sem o vCLI provavelmente é ruim.
Scott Pack
2

Não acho que seja produtivo sugerir uma solução de PowerCLI ou de script para essa pergunta ... Muitas suposições sobre a infraestrutura circundante são uma correção manual de 30 segundos.

A resposta é que você realmente não deve alterar o tipo de adaptador durante o voo. O processo mais aceito é remover o adaptador existente e adicionar um novo adaptador do tipo desejado.

NIC E1000 existente conectada a uma VM insira a descrição da imagem aqui

remova a placa de rede E1000 insira a descrição da imagem aqui

adicionar um novo dispositivo de rede
insira a descrição da imagem aqui

especifique o tipo de adaptador a ser usado no novo dispositivo de rede insira a descrição da imagem aqui

No seu sistema operacional, reconfigure as configurações de rede.

ewwhite
fonte
remover a NIC antiga e adicionar uma nova não altera o tipo diretamente - embora possa ser utilizado. A desvantagem é que, pelo menos no Linux, é necessário remover as configurações antigas para eth0 (ou eth <n>), porque, caso contrário, você obterá a próxima atribuição seqüencial de eth <n>
warren
1

Você não pode alterar o tipo, mas pode excluir facilmente o tipo indesejado e adicionar uma nova vNIC do tipo desejado.

John
fonte
era isso que eu pensava que a resposta seria. Ah bem. Alguma idéia de por que esse é o caso?
Warren
2
É uma limitação da GUI. Evidentemente, você pode fazer isso via PowerCLI - consulte a resposta de @ jlehtinen para obter detalhes.
John
1
@ John: Você também pode fazer isso na GUI (pelo menos no 5.1). A VM deve estar desligada e você deve alterar o MAC.
Scott Pack
@ ScottPack - isso está no webui ou no cliente vCenter?
warren
1
@warren: A webUI foi introduzida com 5.5. O que é fantástico, porque, pelo que entendi, ele só está disponível no vCenter e muitos recursos não estão mais disponíveis no fat client. Realmente deixa todos nós usuários independentes de fora no frio.
Scott pacote de