1

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?

2
  • 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? Oct 30, 2009 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. Oct 31, 2009 at 0:47

6 Answers 6

1

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.

3
  • 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. Oct 31, 2009 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. Nov 5, 2009 at 1:12
  • It is possible - I've edited my post to include instructions. Sorry I wasn't clear. Jan 16, 2010 at 14:21
1

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.

1

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.

1

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...

2
  • 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? Oct 31, 2009 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. Nov 5, 2009 at 1:06
1

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.

0
0

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .