I have a network of 20 machines, all running Ubuntu 10.04.

Each machine has about 200[GB] of data that I'd like to share with all other 19 machines for READ ONLY PURPOSES. The reading should be done at the FASTEST POSSIBLE WAY.

A friend told me to look into setting up HTTP / FTP. Is it indeed the optimal way to share data between the machines (better than NFS)? if so, how do I go about it?

UPDATE: Just to clarify, all I want is to be able (from within machine X) to access one of machine Ys files and LOAD IT INTO MEMORY. all of the files are of uniform size (500 [KB]). Which method is fastest (SAMBA / NFS / HTTP / FTP)?

link|improve this question

75% accept rate
feedback

4 Answers

up vote 1 down vote accepted

In my experience, NFS is significantly faster than Samba (could be due to suboptimal configuration, as Samba is complicated to set up and I don't claim to be an expert on it).

I have not seen a significant speed difference between HTTP and NFS here, and I would recommend NFS over either HTTP or FTP for this purpose, since it's not really what it was designed for (and I find NFS to be more straightforward to configure as well as being more lightweight).

link|improve this answer
feedback

If it's just file sharing you could look into samba as well. Information on how to install it can be found here:

http://www.jonathanmoeller.com/screed/?p=1590

HTTP will allow your other machines to see the files and folders on a browser window, FTP will allow you to see the files through an FTP Client, but can also be seen through a browser window.

For Ubuntu all that needs to be done is set up a web server:

  • I would recommend LightSpeed web server (http://www.litespeedtech.com/)

For FTP you can install vsftpd (http://vsftpd.beasts.org/)

there are many tutorials on the internet but installing the two especially on a Ubuntu system are very staightforward.

link|improve this answer
thank you. If all I want is to be able (from within machine X) to access one of machine Ys files and LOAD IT INTO MEMORY, which one is faster? (SAMBA / NFS / HTTP / FTP) – user74781 Apr 4 '11 at 0:43
feedback

Linux can use mount to access disks (over a network). In general, you need to know the filesystem, device and mount point.

Read about fstab to automate this procedure.

link|improve this answer
thank you. Is NFS indeed faster than HTTP / FTP for my purposes? kindly see my comment to @Sandeep, below. – user74781 Apr 4 '11 at 0:45
feedback

Rsync is really good for this, especially if everything is Linux (I think Mac also has rsync). Just make a public share (Samba or otherwise, something not connected directly to your account) and rsync away.

  • Wikipedia has a great little blurb about it.
  • Here is a little intro to using it
  • Rsync does the best way to large amounts of data while minimizing transfer
  • Network latency is your enemy, so rsync is definitely the way to go

I used to use SCP, but rsync is better in every way, especially if you are synchronizing data. Set it up to sync and let it do it's thing. If your network decides to hiccup, just restart it and it will pick up where it left off.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.