NFS performance

Marc Ballat

Renowned Member
Dec 28, 2015
38
7
73
56
Hi,

I have created a NFS share that hosts a couple of VMs but I would like to increase the network performance by caching data on my internal SSD.

CacheFS caches whole files and does not support files larger than 2G... Not suitable for VMs.

If I could map a file on my NFS share to a block device, I could then use it as a physical device for a LVM volume group and use lvmcache on it.

I have researched the internet and found dm-nfs (device mapper for NFS) on Oracle pages. Not sure it is open source and available for Debian.

Has anyone here been crazy enough to play around with something similar ?

Cheers.

Marc
 
Hi Marc
Could'nt find any reference to this in the dmsetup man page.
If you want to improve performance at the cost of data safety, you can try to use nfs async mounts. But use benchmarks ( bonnie++ for instance)
 
What data rates do you get now? And what do you expect? Is the storage your bottlenack or the network?

If you use normal SAS drives the performance should be good enough if not create a raid on ssds for high performance work loads.

How many space you need where you have high performance applications?
 
What data rates do you get now? And what do you expect? Is the storage your bottlenack or the network?

If you use normal SAS drives the performance should be good enough if not create a raid on ssds for high performance work loads.

How many space you need where you have high performance applications?

Hi Hec,

I first need to mention that this setup is my playground : I do not use it for work.

I found the performance to be poor as I was trying to restore a back-up to an NFS share on my WD Ex2 NAS. In the meantime I found that NFS is not well suited for hosting a file used as a raw device, though it is technically feasible. Instead I will configure an iSCSI target on my NAS and use it as a LVM physical volume.

I will let you know how it works when I am finished.

Marc
 
Maybe also remember to use jumboframes (large MTU on our NICs)
Done on all nodes but one (IBM Thinkpad from 2005 that does not support MTU > 1490).

Meanwhile, I have managed to use LVM on an iSCSI target. This way I can use lvm-cache to improve performance when the VM is loaded.

Thanks.