Closed. This question is opinion-based。它当前不接受答案。












想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。

7年前关闭。



Improve this question




如此众多的选择以及很少的时间来测试所有这些……我想知道是否有人对用于视频流和存储/编码的分布式文件系统有经验。

我有很多巨大的视频文件(50GB至250GB),我需要将它们存储在某个地方,能够将它们编码为mp4,并从多个Adobe FMS服务器中流式传输。处理所有这些问题的唯一方法是使用分布式文件系统,但是现在的问题是哪个?

到目前为止,我的研究告诉我:
  • Luss :成熟的成熟解决方案,由许多大公司使用,最好的文件大于10G是内核驱动程序。
  • Gluster :较新,较不成熟,基于FUSE,这意味着易于安装,但由于FUSE开销可能较慢。更好地处理大量较小的文件〜1GB
  • MogileFS :似乎仅用于小文件〜MB,使用HTTP进行访问?将来可能的FUSE绑定(bind)。

  • 到目前为止,Lustr似乎是赢家,但我想听听我拥有的特定应用程序的真实经验。

    此外,还可以选择Hadoop,Redhat GFS,Coda和Windows DFS,因此欢迎任何体验。如果有人有基准,请分享。

    经过一些实际的经验,这是我所学到的:
  • 光泽:
  • 性能:速度惊人!我可以断言,Lustre可以提供许多流
    并且通过Lustre访问文件不会影响编码速度。
  • POXIS兼容性:很好!无需修改应用程序即可使用光泽。
  • 复制,负载平衡和故障转移:非常糟糕!。对于复制负载
    平衡我们并进行故障转移,我们需要依靠其他软件,例如虚拟IP
    和DRDB。
  • 安装:最糟糕!不可能由凡人安装。需要一个非常
    内核,光泽补丁和调整的特定组合以使其正常运行。和
    当前的光泽补丁通常可与不兼容的旧内核一起使用
    新的硬件/软件。
  • MogileFS:
  • 性能:适用于小型文件,但不适用于中大型文件。这是
    主要是由于HTTP开销,因为所有文件都是通过HTTP请求发送/接收的,
    将所有数据编码为base64,为每个文件增加33%的开销。
  • POXIX兼容性不存在。所有应用程序都需要修改才能使用
    mogilefs使其无法用于流/编码,因为大多数流服务器
    和编码工具不了解MogileFS协议(protocol)。
  • 开箱即用的复制和故障转移功能以及负载平衡功能都可以在
    通过一次访问多个跟踪器来访问应用程序。
  • 安装相对容易,并且大多数发行版中都存在可立即使用的软件包。
    我发现的唯一困难是设置数据库主从来消除
    单点故障。
  • Gluster:
  • 性能:对流媒体而言非常糟糕。我无法在10Gbps中达到几Mbps
    网络。大量写操作时,客户端和服务器CPU飞速发展。对于编码有效,因为
    在网络和I / O之前,CPU处于饱和状态。
  • POXIS:几乎兼容。我使用的工具可以将gluster挂载作为普通文件夹
    磁盘,但在某些情况下,事情开始引起问题。检查gluster邮件列表和
    您会看到很多问题。
  • 复制,故障转移和负载平衡:最好!如果他们实际工作过。糊是
    非常新,并且存在很多错误和性能问题。
  • 安装太简单了。管理命令行非常棒,可以复制设置,
    在几台服务器之间进行带区卷和分布式的卷再简单不过了。

  • 定论:

    不幸的是,结论是“没有任何灵丹妙药”。

    目前,我们在复制的卷中将Gluster3.2中的媒体文件存储和转码。只要您没有很多服务器,就可以避免地理复制和 strip 卷工作。

    当我们要流媒体文件时,我们将它们复制到一个光泽卷,该光泽卷通过DR:DB复制到第二个光泽卷。然后,wowza服务器从光泽卷中读取媒体文件。

    最后,我们使用MogileFS在Web应用程序服务器中提供缩略图。

    最佳答案

    到目前为止,GlusterFS进行了很多改进。他们现在为大型文件提供“粒度锁定”。看到这里:http://www.gluster.org/community/documentation/index.php/WhatsNew3.3
    同样,它也取决于视频帧速率,您也应该为之工作。
    如果您不支持4K速率,Gluster可以解决存储问题。
    如果对速度有巨大的需求,那么Infiniband可以发挥作用。

    10-08 07:35