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 am looking for a "Parallel File System" that is easy to setup, maintain, and scalable.

My goal is to have a single mount point on a Linux machine that applications can read/write using standard coding practices (such as C++) that essentially is several mount points. I am not looking for speed, I am looking for storage and reliability; though speed would be a plus obviously.

So for example lets say:
/mnt1 -> smb://srvr1/share
/mnt2 -> smb://srvr2/share
/vfs -> mnt1 + mnt2

I looked at ZFS and although they support actual files as disks, they don't recommend it. Anyone have any suggestions on this?

share|improve this question
1  
You're being extremely unclear. What does the "+" mean in "mnt1 + mnt2"? Do you want all files on both mountpoints, some form of striping between them, or what? –  Captain Segfault Oct 30 '09 at 23:24
    
Sorry for the confusion: the + means using both mount points as storage facility. So, lets say mnt1 and mnt2 both have 500GB free space, in theory I would want /vfs to have 1TB. So, yes it would be like striping. I would like some form of redundancy, but it is not necessary. –  Nathan Adams Oct 31 '09 at 0:47
add comment

6 Answers

up vote 1 down vote accepted

What you want is a Samba RAID.

First, mount the samba shares (perhaps add them to the fstab), and create files to act as block devices on each samba share:

dd if=/dev/zero of=/where/you/mounted/the/share/raid bs=10000M count=1

(replace 10000M with the desired size)

Follow the instructions here, but for block devices, use the files you have just created. This will probably be quite slow.

share|improve this answer
    
I don't think you can RAID Samba shares, BUT, I saw a mention about RAIDing NBDs which is essentially what I want. Essentially the problem I have is that I have hard disks in different computers but I wanted to be able to combine storage yet allowing expandability without downtime. –  Nathan Adams Oct 31 '09 at 22:19
    
You can't directly linux-RAID a samba share. The components of a RAID are block devices. A samba share isn't a block device (or even a file!). You could, with some hackery, build a RAID out of files in samba shares. I'd consider iSCSI as a saner, if harder to set up, alternative. –  Captain Segfault Nov 5 '09 at 1:12
    
It is possible - I've edited my post to include instructions. Sorry I wasn't clear. –  fahadsadah Jan 16 '10 at 14:21
add comment

Most of these type of file systems aren't very easy to setup and maintain. But GlusterFS may fit your needs and it's about as easy as these things get.

Other options would be AFS, Lustre(very difficult to setup and maintain), and pNFS.

There is a new interesting project called SheepDog but it's primary focus is as a backend for virtual machines.

share|improve this answer
add comment

While you say "parallel" filesystem what it sounds like you're actually describing is a "stack" of filesystem. That's what UnionFS does. While I'm not sure if it supports using SMB mounts, it's worth a look.

There's also aufs (Another Union FS) which, as the name implies, is another implementation of the same concept.

share|improve this answer
add comment

Do you really need to combine mountpoints?

You're probably better off using a mixture of RAID and LVM instead, assuming your storage requirements aren't into SAN territory. At least keep things down to a single filesystem rather than adding in an extra meta filesystem. (Which is seriously what you are talking about!)

There are projects like UnionFS, already in another answer, which address this sort of problem. However, there are huge issues with that. It's great for "I want to start with this CD and make a few changes to it" but actually distributing writes across a bunch of equalish filesystems is a different story.

Otherwise you're in "cluster filesystem" territory, and those generally aren't built out of CIFS shares...

share|improve this answer
    
Well I used CIFS as an example, but the point is the mounts could in theory be anything NFS, AFP ect. Can you explain why you don't think it would be idea to use CIFS shares if there is redundancy? –  Nathan Adams Oct 31 '09 at 1:57
    
It doesn't make much sense to use a full fledged heavyweight network filesystem as a backing store when you're just going to reimplement your own filesystem semantics on top of it. –  Captain Segfault Nov 5 '09 at 1:06
add comment

Maybe you can also have a look at mhddfs, similar to aufs:

http://svn.uvw.ru/mhddfs/trunk/README

There even is a Debian package, al least in Sid.

share|improve this answer
    
+1 for mhddfs :D –  Paulocoghi Oct 29 '12 at 20:53
add comment

There are several parallel filesystems. However most are quite complex to set up, and optimized for supercomputing. See PVFS, Gluster, Lustre, CEPH...

PVFS is by far the easiest to set up IMHO, it can be resized easily and re-exported as samba and NFS.

Gluster is based on Fuse so it carries usual Fuse limitations (performance, no nfs-kernel-server support) but is generally very good.

Lustre really requires quite a lot of nodes to be interesting, and is mostly useless out of the render farm/computing nodes applications.

Let it be clear : if you're not an excellent linux administrator, forget it. All of these systems requires that you know how to compile and install kernels and kernels modules, edit tons of obscure configuration files and work entirely from the console. Certainly not for the Ubuntu noob crowd.

share|improve this answer
add comment

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.