Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I have a network of 20 machines, 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?

Is there a python module that would help in accessing/reading the data?

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)?

share|improve this question

migrated from stackoverflow.com Apr 4 '11 at 7:43

This question came from our site for professional and enthusiast programmers.

    
@user540009, "Each machine has about 200[GB] of data that I'd like to share with all other 19 machines for READ ONLY PURPOSES." sounds like you have 200GB/machine. Perhaps you can change your question to reflect only 500KB. –  Greg Apr 4 '11 at 4:19

2 Answers 2

up vote 1 down vote accepted

There are hundreds of ways to solve this problem. You can mount a FTP, or HTTP file system over fuse, or even use NFS (why not?). Search for httpfs2 or curlftpfs (or even sshfs, which should not be used if you are looking for performance)

But the problem I see is, you have a single point of failure of the one and only master machine. Why not distribute the storage?

I usually using glusterfs [1], which is fast and can be used in different modes.

[1] http://en.wikipedia.org/wiki/Distributed_file_system

share|improve this answer
    
Thank you resmo –  user76976 Apr 4 '11 at 14:43

With python you can start up a webserver via a simple one-liner in the directory where the data is stored.

python -m SimpleHTTPServer

Edit:

It creates a simple web server on port 8000, performance wise I cannot tell you much, and for that type of questions it would be better to ask in SuperUser and not SO.

It doesn't autostart, but it wouldn't be hard to make it.

share|improve this answer
    
Thank you. Can you elaborate more? how do I access it? does it remain permanent even after the computer reboots? performance vs. NFS? –  user76976 Apr 4 '11 at 0:11
    
Updated my response. –  mhitza Apr 4 '11 at 0:15
    
WOW, never knew about it! Awesome!!!! +1 –  zengr Apr 4 '11 at 0:16
    
@user540009 You can put this command in your .bashrc, so when your machine boots you, the server will startup automatically. –  zengr Apr 4 '11 at 0:28
    
python -m SimpleHTTPServer might be suitable as one time thing, no more. –  J.F. Sebastian Apr 4 '11 at 0:40

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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