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

I have a bunch of desktops that I would like to connect together and use as one big file server. I want to be able to access all the hard disks with just one IP. I've been playing around with FreeNas and OpenFiler but cant seem to get any info on what i am looking for.

Something similar to Beowulf computing but instead of parallel computing, i would like to use it for parallel storage.

Is this possible?

Thanks, Balaji

share|improve this question
1  
Possible: Yes. Good Idea: No. Desktops have much lower MTBF than server equipment. –  Chris S Jul 22 '10 at 12:55

9 Answers 9

Using the Gluster storage platform, you can manage a clustered storage (either composed by GlusterFS, CIFS or NFS access protocols). It is open source and very promising!

From the Gluster page:

Gluster Storage Platform is an open source clustered storage solution. The software is a powerful and flexible solution that simplifies the task of managing unstructured file data whether you have a few terabytes of storage or multiple petabytes. Gluster Storage Platform integrates the file system, an operating system layer, and a web-based management interface and installer.

Gluster storage platform can regroup storage using GlusterFS which can regroup multiple hard drives.

From the GlusterFS page:

Gluster Filesystem is an open source clustered file system capable of scaling to several petabytes and handling thousands of clients. Gluster Filesystem clusters together storage building blocks over Infiniband RDMA or TCP/IP interconnect, aggregating disk and memory resources and managing data in a single global namespace.

share|improve this answer
2  
GlusterFS is just the file system, there's no clustered file-serving built into that directly. Do you mean Gluster Storage Platform? That appears to be able to share GFS data stores using CIFS/NFS etc but I don't know it well enough to know if it lets you do this in a resilient clustered way. –  Chopper3 Jul 22 '10 at 10:55
2  
Yes sorry, I also meant the storage platform. –  Weboide Jul 22 '10 at 11:01

maybe Ceph is providing the features you are looking for:

http://ceph.newdream.net/about/

... Seamless scaling — A Ceph filesystem can be seamlessly expanded by simply adding storage nodes (OSDs). However, unlike most existing file systems, Ceph proactively migrates data onto new devices in order to maintain a balanced distribution of data. This effectively utilizes all available resources (disk bandwidth and spindles) and avoids data hot spots (e.g., active data residing primarly on old disks while newer disks sit empty and idle). ...

share|improve this answer

What protocols are you looking for? For CIFS/NFS/HTTP etc. I'd use HP's "Scalable NAS File Serving Software", for iSCSI I'd use their HP's 'LeftHand Virtualization SAN Solution' - but that's only because I know those products, I'm sure there are lots more options.

share|improve this answer

I have toyed a bit with OpenAFS (http://www.openafs.org/) which is a distributed filesystem. That was a few years ago, so I dnt remember the details except that it was pretty difficult to get running.

Coda (http://www.coda.cs.cmu.edu/) is another such filesystem.

Unless you have specific reasons to need a distributed filesystem, it is probably easier to buy a few more IDE interfaces and put all your disks in the same desktop. It is also less power consuming.

Distributed filesystems are a good solution if you need extreme scalability, or fault resilience. Grouping old desktops to consolidate HD space is more of a kludge ...

share|improve this answer
    
+1, Easier, Less Power, More Reliable to have 1 desktop full of disks. Still a huge kludge. –  Chris S Jul 22 '10 at 12:57

Openfiler can do what you require but you're probably going to have to get your hands dirty with the command line. The web gui won't have everything you need. You'd be looking at something like:

  1. Install OF onto each of the machines and get them to serve their storage out as iSCSI LUNs
  2. Install OF onto a bridgehead server and get it to to act as an iSCSI client (this is something that OF can do, but it's not in the GUIs).
  3. Once the storage is visible in the bridgehead, server it out to your LAN over iSCSI on the bridgehead.

You should be able to strap the disks together using this method, too, and present it all as large aggregate LUNs.

share|improve this answer

And if you're feeling adventurous, you could try Plan 9, too.

share|improve this answer

Its probably a lot simpler to seperate the file serving protocols from the filesystems you are using. AFS and GlusterFS are possible candidates for the filesystem part.

In terms of providing a single virtual server visible to client and load balancing, you should have a look at the Linux Virtual Server project.

In terms of the protocol for clients to interact with the server - then the obvious choices are Samba or NFS. But I'd recommend you read up on the LVS docs regarding file locking.

C.

share|improve this answer

I recently came across the Tahoe-LAFS project which seems to do this. I haven't had a chance to play around with it yet, so I can't comment on how well it works.

share|improve this answer

There are two methods to this approach. It depends on your purpose. Do you want to increase the presentation performance, example NFS services to the clients? Then a clustered file system is good for this, but requires a "shared" backend disk system typically a SAN. Or if you want to take multiple disks from multiple servers and combine them then this is a parallel file system. The options for this are a few that have been listed but there's also Lustre which is also open source. Depending on the need and purpose there's options. GlusterFS and Lustre are more of my favorites

share|improve this answer

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.