我有一个在 Ubuntu Server (9.04) 和 Eucalyptus 上运行的基本云。Walrus(Eucalyptus 的 API 兼容 S3 实现)通过云控制器存储文件。但是其他 4 台服务器都有 1TB 的存储空间,但大部分都未使用。我正在寻找一种方法来将所有存储空间集中在一起,以利用所有可用资源。我一直在研究各种选项,包括 PVFS、Lustre、HDFS(Hadoop)。
我唯一的要求是它需要可扩展,并且能够在 Ubuntu 上运行良好。我很希望听到任何有此类技术经验的人的意见,并期待听到您的建议。
答案1
虽然我还没有亲自在我们的系统中实现它,但我已经广泛研究过格鲁斯特。我知道一些大型站点的一些人使用这个,而且它显然效果很好。他们在一些重型 HPC 应用程序的生产中使用它。
答案2
在我看来,GlusterFS 似乎是理想的解决方案。对于那些声称 Gluster 需要花费大量精力才能设置的人,我不得不说他可能从未尝试过。从 Gluster 3.2 开始,配置实用程序非常棒,只需 2 或 3 个命令即可启动 gluster 卷并在网络上共享。安装 gluster 卷同样简单。
从好的方面来说,它还为您提供了比 NFS 更多的灵活性。它可以进行条带化、复制、地理复制,当然还符合 POSIX 等等。有一个名为 HekaFS 的扩展,它还添加了 SSL 和更高级的身份验证机制,这对云计算来说可能很有趣。它还可以扩展!它是 F/OSS,由最近收购了 Gluster 的 RedHat 开发。
答案3
您曾经看过 mogileFS 吗? http://danga.com/mogilefs/
它不是传统意义上的文件系统,但它适合在集群内分发文件数据(考虑到复制和冗余)。
如果您要为 Web 应用程序提供文件,则需要一些东西来提供文件。我建议使用一个 PHP 脚本,该脚本使用 HTTP 请求作为搜索键来在移动文件系统中查找所需的文件。然后,您可以将文件的内容读入缓冲区并将其回显/打印出来。
MogileFS 已经非常快了,但您可以将 mogileFS 与 memcache 结合起来,以加快对最常用文件的访问速度。