文件共享服务器的实时同步

文件共享服务器的实时同步

我经营一个文件共享网站,该网站的知名度正在迅速提高。

目前我的 Web 应用程序在 AWS elastic beanstalk 上,因此当然可以很好地扩展,但是我的文件目前全部由一个专用盒子提供。该盒子开始达到其 1gbps 连接的最大值,因此我正在尝试研究如何扩展文件存储。

注意:我还将所有文件同步到 S3,但由于 S3 带宽收费,从那里提供这些文件的成本太高。我的专用机顶盒不限流量。

到目前为止,我已经看到了有关 DRBD 和 Lsyncd 的讨论,但感觉都不是我想要的。

如能提供关于在负载均衡器后实时同步运行多个文件存储 Linux 盒的最佳设置的建议,我们将不胜感激。

PS - 值得注意的是,我的理想情况是它们始终保持同步,因此如果将文件添加到一个框中,它将在所有框中同步。删除文件时也是如此。

答案1

GlusterFS 非常适合此用途,Ceph 也是如此。GlusterFS 更易于管理,并且不使用节点到节点复制作为数据复制或分发的主要方法。它可以执行 2n 或 3n 块镜像,其中块仅仅是节点上的文件系统。完整的块阵列称为卷,卷的安装方式类似于 NFS 共享 - 不同之处在于这是对多个节点而不是仅一个节点进行写入和读取。

Gluster 可以完美地进行纵向和横向扩展,并且没有主节点的概念。所有节点平等地参与它们所属的卷。连接到 GlusterFS 的客户端负责将数据分发到所有节点,而不是每个节点负责复制数据。这样,您就不必拥有庞大、扩展性差的回程链路。

以下是有关如何设置的详细分步指南:https://www.digitalocean.com/community/tutorials/how-to-create-a-redundant-storage-pool-using-glusterfs-on-ubuntu-servers

gluster 文档也值得一读:https://gluster.readthedocs.io/en/latest/

相关内容