The built-in networking support under FreeNAS 8.3 is only the e1000 adapter and while it does “work” it really lacks performance in a virtual environment. To get around this limitation we need to install VMware Tools to support more modern networking adapters. While this question is ask time and time again in the FreeNAS forums and around I never see a straight forward solution for adding the VMXNet3 adapter. So here we go.
We’ll assume you already have your VM deployed with one e1000 and one vmxnet3 adapter and we are just loading in the drivers.
Add Perl
Pull up the shell or connect via SSH to your FreeNAS VM
mount -urw / cd /tmp pkg_add -r perl -K tar -xjf perl.tbz cp lib/perl5/5.12.14/mach/CORE/libperl.so /lib
(the build number will change as time goes on)
Add compat6x
pkg_add -r compat6x-amd64
Install VMware Tools
It is assumed you are installing with the default options.
Install VMware tools as normal via the "Install/Upgrade VMware tools" menu option mkdir /mnt/cdrom mount -t cd9660 "/dev/iso9660/VMware Tools" /mnt/cdrom cd /tmp tar zxpf /mnt/cdrom/vmware-freebsd-tools.tar.gz umount /mnt/cdrom cd vmware-tools-distrib ./vmware-install.pl /usr/local/bin/vmware-config-tools.pl
Ignore the failed notice for the memory manager. At this point VMware Tools is installed but still needs some tweaking.
VMware tools tweaking
vi /usr/local/etc/rc.d/vmware-tools.sh Look for: if [ "$vmdb_answer_VMHGFS_CONFED" = 'yes' ]; then and change yes to xyes Look for: if [ "$vmdb_answer_VMMEMCTL_CONFED" = 'yes' ]; then and change yes to xyes Look for: if [ "$?" -eq 0 -a "$vmdb_answer_VMXNET_CONFED" = 'yes' ]; then and change yes to xyes save and close vi (escape wq enter) rm /etc/vmware-tools/not_configured reboot
Now within the FreeNAS WUI (Web User Interface) add an additional network adapter, you’ll see vmxnet3 adapter called “vmx3f0”.
I’m seeing the following differences when sequential data (4GB iso) to and from a test system via SSD and Gigabit infrastructure.
e1000 Adapter
- Read: 50 MB/sec to 59MB/sec (for first 2GB then 73 MB/sec)
- Write: 33.0 MB/sec to 35 MB/sec
VMXNet3 Adapter
- Read: 93MB/sec to 95MB/sec
- Write: 29.5 MB/sec to 42.1 MB/sec
My VM configuration
- vCPU: 3
- Ram: 6GB
- Drives: 4GB vmdk, 3×1.5TB virtual RDM
- Raidz
- NIC: e1000(management),VMXNET3(data)
- VM Hardware Version: VMX-09
My host config
- CPU: Dual Xeon e5320’s
- Ram: 24GB ECC DDR2
- Controllers: IBM M1015 (IT firmware), LSI 8308ELP
- Drives: 2x500GB(hardware mirror), 3×1.5TB(7200.11)(FreeNAS virtual RDM’s)
- NIC: Onboard Intel 1000pro
- OS: ESXi 5.1 Update 1
Sorry, no VT-d on this host to pass through the M1015 which may be giving me a small amount of overhead running the virtual RDM’s.
Good blog,
One more step required and that is to copy the vmware tools config files so they survive a reboot and run on startup. FreeNAS blats /etc on reboot.
[root@freenas] /etc# mkdir /conf/base/etc/vmware-tools
[root@freenas] /etc# cp -R /etc/vmware-tools/* /conf/base/etc/vmware-tools
Cheers,
Ben