我正在寻找一个易于安装,维护和扩展的“并行文件系统”。
我的目标是在Linux机器上有一个挂载点,应用程序可以使用基本上是几个挂载点的标准编码实践(如C ++)来读/写。 我不是在寻找速度,我在寻找存储和可靠性; 虽然速度显然是一个加号。
所以比如说:
/ mnt1 – > smb:// srvr1 / share
/ mnt2 – > smb:// srvr2 / share
/ vfs – > mnt1 + mnt2
我看了ZFS,虽然他们支持实际的文件作为磁盘,他们不推荐它。 任何人有任何build议呢?
你想要的是一个Samba RAID。
首先,安装samba共享(也许将它们添加到fstab),然后创build文件以充当每个samba共享上的块设备:
dd if=/dev/zero of=/where/you/mounted/the/share/raid bs=10000M count=1
(用所需尺寸replace10000M)
按照这里的说明,但对于块设备,请使用刚创build的文件。 这可能会很慢。
这些types的文件系统大多不易于安装和维护。 但是GlusterFS可能适合您的需求,而且这些事情都很简单。
其他select将是AFS , Lustre (非常难以设置和维护)和pNFS 。
有一个叫SheepDog的新的有趣的项目,但它的主要焦点是作为虚拟机的后端。
当你说“并行”文件系统时,你所说的实际上是一个文件系统的“堆栈”。 这是UnionFS所做的。 虽然我不确定它是否支持使用SMB挂载,但值得一看。
另外还有aufs (Another Union FS),顾名思义,它是另外一个相同概念的实现。
你真的需要结合挂载点吗?
假设您的存储需求不在SAN领域,您可能最好使用RAID和LVM的混合物。 至less把东西放在单个文件系统上,而不是添加额外的元文件系统。 (这真的是你在说什么!)
像UnionFS这样的项目已经在另一个答案中,解决了这类问题。 但是,这有很大的问题。 对于“我想从这张CD开始并对其进行一些修改”是非常好的,但实际上在一堆相同的文件系统上分发写入是一回事。
否则,你是在“集群文件系统”的领土,而这些通常不是由CIFS共享构build的…
有几个并行的文件系统。 但是,大多数设置相当复杂,并且针对超级计算进行了优化。 见PVFS , Gluster , Lustre ,CEPH …
PVFS是设置恕我直言的最简单的方式,它可以轻松resize,并重新导出为samba和NFS。
Gluster基于Fuse,因此它具有通常的Fuse限制(性能,没有nfs-kernel-server支持),但通常非常好。
Lustre确实需要相当多的节点才会有趣,而且在渲染农场/计算节点应用程序中几乎没有用处。
让我们清楚:如果你不是一个优秀的Linuxpipe理员,忘记它。 所有这些系统都要求您知道如何编译和安装内核和内核模块,编辑大量模糊的configuration文件,并完全从控制台上运行。 当然不是Ubuntu的noob人群。