A while back, in a previous blog entry, I've explained the benefits of implementing VMware over NFS on NetApp. That particular entry received almost 9500 hits in a single day. That, by itself, shows the high interest folks have in this capability, and understandably so, if one were to weigh the pros and the cons of such implementation.
In fact, we have not been alone in suggesting that NFS in VMware environments make a lot of sense, you can find other entries like this one here.
The fact of life is that Virtual Machines are files, and NAS protocols are designed to manage files. So why complicate things?
We can sit down and debate all day about the performance of FC vs NFS vs iSCSI but the reality is that in typical VMware implementations you'll be hard pressed to tell the difference.
Where FC typically gets deployed is in environments that already have available infrastructure components (i.e FC switch ports/HBAs).
Smaller businesses, tend to gravitate towards iSCSI implementations, typically because they do not want to deal with the complexity FC brings, as well as, because of lack of IT expertise.
But what if you're a "big house" and have considerable FC and NAS investments? What we're seeing is that these folks tend to prefer NFS as the protocol of choice.
In fact we have customers that have migrated their VMware enviroments from FC running on 3rd party disk arrays, to NetApp NFS implementations. One such customer has posted his thoughts of such implementation on NetApp and the compelling value proposition.


Hi Steven,
I remember you. When I posted the process on storagefoo I wasn't using LVM on my linux box. So to be honest with you I don't know whether it'd work of not with LVM.
If you're looking to restore Files within a vmdk from a Snapshot and you are using NFS as the protocol, then you may want to take a look at UFS Explorer. It supports a whole bunch of filesystems (ntfs/ntfs5/ufs/ufs2/ext2/ext3/reiserFS/XFS/fat16/fat32). Since it runs on windows, you'll need to create a FlexClone from an existing snapshot and share it to a windows host. Then use UFS explorer and pick the source vmdk and you'll be able to see and extract files which you then can copy to your target VM using cp or scp.
There's a trial version you can download with a restore limit of 64k.
http://www.ufsexplorer.com/
http://www.filetransit.com/screenshot.php?id=32497
Posted by: Nick Triantos | March 24, 2008 at 02:28 PM
This link is broken:
http://scalethemind.com/2007/09/nfs-unjust-vmware-storage-outcast.html
Should be:
http://scalethemind.com/2007/09/nfs-unjust-vmware-storage-outcast/
Posted by: Marty | May 02, 2008 at 10:07 AM
Hey Nick,
I used the software, it worked good for non-LVM VMs, but i eneded up after a few days figuring it out myself...here are the steps if your VM has logical volumes...
-----------------------
create NetApp flexclone from snapshot:
-----------------------
1. vol clone create /vol/vmnfsXXXbk -s none -b parent_volume_name snapshot_name
(parent_volume_name = vmnfsXXX in our environment)
2. vol options clone_name nosnap on
3. snap sched clone_name 0 0 0
-----------------------
Run on linux VM:
-----------------------
1. mount your NFS snapshot flex clone in linux:
mount SAN_IP_ADDRESS:/vol/vmnfsXXXbk /mnt/vmnfs
2. losetup /dev/loop0 /mnt/vmnfs/SERVER_NAME/SERVER_NAME-flat.vmdk
(replace SERVER_NAME with actual VMware server path)
Example: losetup /dev/loop0 /mnt/vmnfs/WEB1/WEB1-flat.vmdk
3. kpartx -av /dev/loop0
4. vgscan
this will return something like:
Reading all physical volumes. This may take a while...
Found volume group "VolGroup00" using metadata type lvm2
5. vgchange -ay VolGroup00
This will return something like:
2 logical volume(s) in volume group "VolGroup00" now active
6. lvs
This will return something like:
LogVol00 VolGroup00 -wi-a- 5.06G
LogVol01 VolGroup00 -wi-a- 30.00G
7. mount /dev/VolGroup00/LogVol00 /mnt/vm
Thats it...
--------------------------------------
Unmount the vmdk:
--------------------------------------
1. umount /mnt/vm
2. vgchange -an VolGroup00
3. kpartx -d /dev/loop0
4. losetup -d /dev/loop0
Posted by: Steven Craig | June 11, 2008 at 02:01 PM
Hi Nick,
Just curious if you could direct me to a best practices with Netapp and VMware ESX using NFS.
Additionally, setting up VM on a netapp using NFS, is it better to use one export or have multiple exports for each VM? What are the advantages of either way?
thanks
Posted by: Roberto Ruggiero | December 19, 2008 at 05:25 PM
Roberto,
Best practices for all protocols are described on TR3428
http://www.netapp.com/us/library/technical-reports/tr-3428.html
we do not recommend having multiple exports for the same underline NFS volume, with a different Datastore label, using IP aliases, all of which, are use to mount the volume on the same physical host.
While this can be done in order to leverage IP load balancing and utilize multiple host NICs, from a management standpoind you need to start keeping track which VMs reside on which datastore. Although the datastores will have different labels, the underline NFS volume is the same and you will be able to see all of the VMs.
In a large environment keeping track which VM is started in which datastore can be a difficult task and is prone to errors.
Posted by: Nick Triantos | December 20, 2008 at 10:56 AM