So I have a linux server (Ubunut 16.04) and my laptop (16.10) and I want to copy 4k files that are about 40gb in total.
On windows this is easy, just set up a samba share and I get about 100MB/s pretty consistantly. But on Linux samba only gives me a lousy 3MB/s, sftp & ftp give me about 10MB/s.
my router and laptop both have wireless AC so I expect better speeds than that.
So my question what is the fastest protocol to use over the network?
I used to use SMB for all my network transfers and was getting very tired of the lack in performance. I discovered NFS a year or so ago and never looked back.
The links @MichaelLindman provided should give you everything you need (pretty sure they're the same ones i used).
NFS is a really nice solution on Linux and I prefer it not only for the performance increase but because it incorporates into the filesystem really well to the point that an untrained person may not be able to tell that it is a network attached mount which makes using it on Linux much easier.
For example, I have a storage drive on my server mounted to /mnt/storage and I mount it on my client machine as /mnt/nfs-storage which means I can do something like this to backup files/whole directories from my client:
Open the Server and take out the drive and put it in the PC. Takes around 10 minutes(if you do it slow) and then you transferred with a speed of 68.267 MB/s
So I have a nfs share on my server under /var/nfs/general, and I want to link my storage drives to it, they're located under /mnt/[Storage, Plex, Data]
I tried running ln -s on the server, but my laptop says those are not valid locations, how would I do such linking, or do I need to create the nfs share under mnt
samba on Linux is not used. For Linux you can use SSH. Can you try SSH transfer from Linux to Linux that should be good speed too.
You just login to SSH by typing in the adressbar ssh:// On the other Linux a ssh service most run. If its not running. systemctl start sshd (in a terminal with root access) or if it doesn't exist you need to install it.
sftp, is SSH file transfer, and I get abysmal speed
I got nfs working, but I'm only getting 20MB/s now, which is 160mb/s which sound about right for wireless AC.
@MichaelLindman thank you for showing me nfs, was very easy to set up too! do which to mention, the crossmnt option was very helpful in the /etc/exports file.
Symbolic links are just a pointer to the relative path and as I said before NFS is transparent as far as the client is concerned. As an example if you had the directory /mnt/Plex on your client and created a symbolic on your server from /mnt/Plex to /mnt/nfs/general the client will go to the /mnt/Plex directory on the client machine and not the server, that is why you are getting the error message, the link is pointing to the location on the client machine which doesn't exist.
If you are creating the NFS shares to directories I would recommend creating separate entries for path or to the top directory, such as /mnt/ on the server to /mnt/nfs-mnt on the client for example.
I must admit, I do this fairly often when I'm transferring massive files from one drive to another, its less convenient in some cases but can sure make the transfer take much less time.
but but still only 10 MB over SSH is slow. while samba is faster hits 100 MB. You sure the difference is this huge? or maybe that a Ethernet cable doesn't work correctly? Something must be wrong on a different level here.