PR

FreeBSD VMXNET3 Interface

FreeBSD
記事内に広告が含まれています。

The original Japanese version is available here.

In Japan, we are going to have a bit longer holiday season for everybody from 29th April to 8th May. Many of us take almost 10 days of continuous holidays. I was a bit busy for the preperation of my long holidays. I don’t want to have calls during this holidays 🙂 I have none Japanese manager sitting in Europe all the time except the first 1 or 2 years in our company. They start understanding we Japanese people have long holidays before we have it recently. This is something like we Japanese people don’t understand what Easter holidays is in Western world 🙂

This time, we are going to make a small changes to the vmware environment we have. As I introduced before, vmware network interface should be able to produce the best performance on vmware environment. So we will change the Intel E1000 interface to VMware VMXNET3 interface in our virtual machine.

This procedure is not so difficult, we change the network device name in /etc/rc.conf file, change the network device name in vmware virtual machine fine, then boot up FreeBSD again to see if new network interface works as old interface did.

Power up our vmware virtual machine.

Nothing was installed after we installed the operating system other than vmware tools. We shouldn’t see any problem and it should work as normal.

Just login with our account.
Edit the configuration file.

Change all “em0” strings to “vmx0”. The magic word at the buttom of editor is a command in vi editor and this means that all string “em0” will be changed to “vmx0” in all text lines. If you are familiar with Windows editor, this may be difficult to remember. But once you remember some key points, then vi editor will be very powerful editor for you. The vi editor is available in most of UN*X like operating systems. The same command syntax can be used in FreeBSD, Ubuntu, Redhat, even in Solaris to edit files. So it’s worth remembering if you like UN*X like OS. Why we change em0 to vmx0 ? Just type “man em” and “man vmx” in FreeBSD.

I love vi editor !

In my case, I personally have registered domain name, I want to change the domain part in hostname as well. Then save and quit.

edit /etc/rc.conf directly.

We need to power this down. We can to edit virtual machine template file safely.

check up the option for shutdown command.

Open the folder where we have our virtual machine in and find out virtual machine configuration fine.

The file extension for a virtual machine is .vmx .

It is just a text file. We can drag and drop it into notepad to edit it.

You can go Files -> Open, of course.

Network adaptor name will be changed.

In the middle of the configuration file, you see this line showing that the interface is “e1000”.
We need to change the interface name from e1000 to vmxnet3 as we want to use vmxnet3 interface.
Finally save and quit.

Power up our virtual machine again.

Hope it works again …

Let’s login to the system and check the network interface status.

ifconfig

We now have new interface vmx0 and correct addresses are assigned properly.

New NIC is activated and working fine ?

Check IPv4 and IPv6 networking with ping command.

Finally we can ping to google DNS in ipv4 and ipv6 to confirm the network setting.

Nothing was difficult. If there is no typos, then everything should work as expected. When I started to use UNIX long ago, then big UNIX server had only a couple hundred MB of main memory. So we wanted to save more kernel memory for application on top of the OS. Deleting unused device drivers, reducing kernel parameters to match application requirement. Then rebuilt kernel image file and boot up with this new kernel image. This kind of customization is possible even in current FreeBSD system. But I don’t think this is common. Because we can adjust the kernel parameters with sysctl command externally, all device drivers are in separate kernel modules. They won’t eat up system memory. And the biggest reason not to do like this is that memory cards nowadays are very cheap 🙂 So any new computer hardware should have a couple GB of memory at least. We can assign more than enough memory for virtual machines anyway. Enjoy!

Advertisement below


コメント