出于各种维护,稳定性和备份原因,我需要用不依赖共享磁盘的东西替换10个节点(10个Linux主机)ocfs2共享文件系统。客户端应用程序是仅在Linux环境中的PHP。
现在每个PHP客户端都从数据库中请求一个唯一的id,并在共享磁盘上创建一个具有该id / name的文件。数据库存储所有文件元数据。以类似的方式访问现有文件。
我想用putfile(id,'/ tmp / path')和getfile(id,'/ tmp / path')通过网络调用文件服务器替换共享磁盘解决方案。客户端我可以处理tmpfs中的文件。服务器应该处理压缩等。这也可以解除我对PHP客户端的依赖,我可以直接从其他一些应用程序中使用文件服务器,就像从Windows Delphi应用程序那样。
理论上,基于FTP的解决方案甚至可以工作,但它可能表现不佳。或者我不相信旧的FTP协议?
我目前有超过3000万个文件ID,其中大多数是几KB大小,除了300MB之外的显着例外,总共只有320GB。 PHP客户端也使用gzip和tar进行一些压缩和分组,这一切都非常笨拙。
我希望找到像memcachedb一样简单快捷的东西,但是对于文件。我发现的最接近的是hadoop的hdfs,但我认为这不是正确的解决方案。
有什么建议吗?显而易见的我不知道了吗?