I’ve looked at FreeNAS on and off for the past year or so and always end up trying to use it as a VM, but never found the performance good enough to be worthwhile for any type of storage needs I may have. I really don’t need another computer around the house when I have tons (read ~500gb) of extra storage in my ESX host so building a dedicated NAS box was pretty much out of the question. The recent versions of FreeNAS have come a long way in terms of functionality such as the inclusion of a torrent client and a UPnP media server. Combine the new features plus my need for usable (good performance), accessable (CIFS/SMB, SSH,RSYNC,and SFTP) storage I really wanted to use FreeNAS.

I figured out the root of my performance problem had to be network issue or more specifically the network card in the guest VM that ESX presented to it. It really isn’t possible to install VMware Tools inside FreeNAS as the only thing worth while would be the NIC driver, but that isn’t easily possible because Perl doesn’t ship with FreeNAS and to install it yourself defeats the purpose of being a ~32mb NAS OS. So over morning coffee, I had the idea of using a different virtual NIC now that ESX has a few more options. I did some research and found that the Intel E1000 NIC which is a “faithful virtual implementation of a physical network adapter” is natively supported in recent versions of FreeBSD (see 6.3 and 7.0 hardware compatibility list) that FreeNAS is based off of. I did a fresh install of FreeNAS and found that at a bare minimum, my network performance has doubled using the new virtual NIC.

I have put a VMware virtual machine together because there seems to be lack of any good or current information on running FreeNAS on ESX 3.5 Update 2. This VM has a modified vmx configuration file to use the E1000 network card. It is also running a “factory” install of FreeNAS 0.69RC1 so you will just need to add disks, format, mount and share. If you want to do this on your own, just create a new virtual machine and when in the OS Selection screen, choose Microsoft Windows Vista (32-bit) and this will select the E1000 NIC for the networking option. If any other OS is selected, the default nic will be the “flexible” nic, and it will still work, but the performance will be degraded.

Download FreeNAS 0.69RC1 VMware Virtual Machine

If you have any other suggestions or thoughts, please let me know in the comments!