Samba是我的正确select吗?

我们有一个使用大量内容的分布式应用程序(所有types的文件)。 有几个服务器需要访问内容。 现在内容被冗余地存储在每个服务器上。 但是这变得越来越难看。

我们希望将内容存储在具有大型硬盘的单个存储实例中。 然后,我们要从我们的每个服务器上挂载这个存储实例的文件系统。

我想过使用NFS,但安全scheme似乎不适合。 现在我正在看桑巴,但我不确定这是否是正确的select。 所有的服务器都是Linux,Samba的主要目的是Windows / Linux环境。 Samba让我感兴趣的是用户级别的安全性。

除安全外,另一个主要要求是性能。 我们的服务器需要快速访问内容。 这在局域网上尽可能快。

桑巴是不错的select吗? 还有什么其他的select? 那么WebDAV呢?

编辑:我需要做什么:我们有不同数量的服务器需要访问越来越多的文件。 我们预计会变成几个结核病。 我们称这些文件为“内容”。 所有服务器都必须使用相同版本的内容。 服务器需要对内容进行并发只读访问 。 内容相对较less更新。 每周一次,每月一次,但可能会更频繁。 现在可以在每台服务器上同步内容,但是在不久的将来这将会变成一件痛苦的事情。 更新必须相当活泼。 我们认为只需在一台服务器(存储服务器)上更新/同步内容,并让所有其他服务器将内容作为远程文件系统安装。

祝一切顺利

一月

桑巴几乎肯定会做你想要的,并且具有相当合理的性能。 它应该有必要的安全控制,以处理你想到的任何用例(你的问题是有点短的细节)。

很难提供其他的build议,因为你不能很好地描述你需要做什么,以及你的约束是什么。 WebDAV可能没有用处; 它不像一个POSIX文件系统,如果你觉得你需要非常快的性能,那么你可能想要一个像一个完整的文件系统(任意寻找,这样的事情),这将是痛苦的WebDAV 。

您还没有谈到对单个文件的并发访问,这对您可能的解决scheme空间有很大的影响。 如果只有一个客户端一次访问给定的文件,特别是如果只有一个客户端将更新给定的文件,那么不一定放弃定期同步解决scheme – 他们可以做得很好,在正确的条件下。

最后,如果它大部分(或全部)是只读的,那么考虑让你的数据访问更高级。 而不是认为你必须有文件,为什么不考虑有用的应用程序特定的抽象? 一个常见的例子就是不起眼的SQL数据库 – 而不是将数据存储在平面文件中,并通过自定义代码来渲染数据,而一些聪明的块想出了一个更专业化的存储引擎,以及智能访问它的必要措辞。 它不如文件系统那么灵活,但是(在狭窄的环境中),这是一个更快的视angular。 也许有一点想象力,你可以拿出类似的数据抽象,这可以节省相当多的麻烦?

NFS – 您的存储实例是NFS服务器。 你所谓的服务器是想将NFS文件系统挂载到存储实例之外的是你的NFS客户端。 您的NFS存储实例必须知道您的NFS客户端的IP地址,即您的服务器,但您已经知道这些地址。 对于这些地址,您可以一次允许一个子网,至less您可以知道您的服务器所在的子网。 请注意,诸如NetApp这样的公司正是在销售这类产品,而且它们工作得很好。

桑巴 – 我的经验是稍微不同,那么你想如何使用它(即用户提供用户名/密码组合时,然后安装共享),所以我不能评论你的build议使用。

两者都应该正常工作,并且都应该能够饱和一个1Gb以太网接口,没有问题。 我怀疑这将是您的存储实例下载多less数据的上限。 当然,您可以使用多个以太网接口来解决这个问题,然后您可能会受限于您将数据从您购买磁盘的数据移除的速度。

我想在开始之前,您需要了解的关键数字之一是,您每个不同数量的服务器每秒需要读取多less数据? 那么你需要知道你将拥有的服务器的最大数量是多less。 您提出的集中式解决scheme是否每秒提供大量数据? 现在你已经解决了这个问题,让每个服务器都是独立的,并有一个数据的副本。

关于您对性能和速度的具体要求,SSH将完全适合。 SSH使用sftp协议交换文件并使用本地Linux用户权限控制。 作为专用附加存储(DAS),您可以使用具有大存储容量的计算机系统(可能使用硬件级别或软件级别的RAID或encryption,EXT4文件系统是完美的,因为它可以快速工作)。 在其上设置SSH服务器,并根据您在当前每台计算机系统上的操作方式,为数据定义不同的用户访问级别。 然后访问这个服务器上的内容就像访问本地数据一样简单。 在每台计算机上设置密钥对于确保服务器上的身份validation至关重要。

整合在服务器上可以使生活更轻松 – 但是如何保证可用性 – 重复的网卡? 袭击? 有时复制可以是一件好事。

既然我们在谈论服务器 – 服务器通信是用户级别的安全性那么多的一个要求? 当然,NFS中的用户身份validationfunction很弱 – 但是在networking中的较低级别(如IPSEC)使用NFS +身份validation又如何呢? 或者在一个VPN顶部的iSCSI上共享文件系统?

根据访问模式的不同,如果本地存储的可用性不成问题,最快的解决scheme可能就像AFS – 在这种情况下,您可以获得非常大的本地caching,而且在服务器closures时还可以使用这个caching。