Sunday, September 9, 2012

Changing network adapter type in VMware


Changing network adapter type
Figure 1

There is no option available in vsphere client to change the current installed network adapter type, You will have to either install a new network adapter or you can change the existing network adapter type through powercli, you can create a script to change adapter type of all the VM in vcenter or on Esxi server, at one shot.

Figure 2

Open powercli from start menu,

Connect to vCenter server (you can connect directly to esxi server as well), by executing below command you will log onto vcenter server (my vcenter IP address is 192.168.33.12, you can use servername or FQDN as well)
Figure 3

Once the command executed it will pop up and ask for credentials, Make sure you have appropriate permissions on vcenter.

 
Figure 4

Now you are logged into vcenter successfully, you will see something like below, how you are connected to vcentre server.

Figure 5

Find The VM for which you want to change the adapter type. Fire command "get-vm", it query the list of VMs available on vcenter. Here I want to change network adapter type for winxp001.vcloud.lab.
Figure 6

Next command to get details about network adapter type of VM winxp001.vcloud.lab. Here I used get-networkadapter in pipe line to query network adapter details.

Get-VM winxp001.vcloud.lab | get-networkadapter
Figure 7

Now it's time to change network adapter type, below is the link for description about all the available network adapter types.

http://pubs.vmware.com/vsphere-50/index.jsp?topic=%2Fcom.vmware.vsphere.vm_admin.doc_50%2FGUID-AF9E24A8-2CFA-447B-AC83-35D563119667.html

fire below command, next it will ask for confirmation if you want to continue with changing the adapter type

get-vm winxp001.vcloud.lab | Get-NetworkAdapter | set-networkadapter -type vmxnet3

Figure 8

If you check on network adapter under VM settings, you will see the changes.
Figure 9

Here in the above example I changed adapter type for only one VM but if you have multiple servers servers and want to automate changing adapter type using script. Below is the simple script.

Connect to vcenter or esxi host, Create a list of VMs in text file and keep it on reachable location, here I have created list, named the file vmlist.txt and kept it on C drive.

$VMlist = Get-content c:\VMlist.txt
Get-VM $VMlist | Get-NetworkAdapter | set-networkadapter -type vmxnet3 -confirm:$false

Now get-vm will query VM properties and settings from $vmlist which contains text file data, by  piping information into get-networkadapter I am querying network adapter properties and settings, and again I am piping the information into "set-networkadapter -type vmxnet3" to change type. In the last option  "-confirm:$false" is used to skip confirmation (figure 8) and continue with action.

5 comments:

Rich said...

Thanks for these instructions. They worked like a charm.

One additional comment - The change of card type can be done with the VM running. The test I made caused no ping drop.

One question remains - Is the change effective immediately or does the VM have to be rebooted? By the look of it the VM does not need to be rebooted.

kunal said...

In my understanding it requires reboot to take all the effects in place.

Anonymous said...

Hi, thanks for sharing your kb.
I have some questions, change network type
- alter MAC address in Windows or Linux VM?
- require additional manual step in VM environment (es. reset IP address, or some else)?
Thanks
bye

kunal said...

This link may be helpful to you

http://communities.vmware.com/thread/337744?start=0&tstart=0

Dalmia Computers said...

Dalmia Computers provides professional IT,
Computers Services, Laptop Repair in Purulia
both inbound and onsite Reparing in
Purulia and surrounding areas.
Dalmia Computers