首页 > 解决方案 > GlusterFS,如何使用 http 或 https 来服务器文件?

问题描述

我对 glusterfs 很陌生,我正在尝试设置一个 3 节点组合。我已经完成了 3 个节点和安装了卷的客户端机器的设置。现在,在此之后,我被困在寻找以下 3 个问题的答案:

  1. 如何通过 http 提供文件(类似于https://gfs1.com/1.jpg)?
  2. 其次,每次我必须将文件放入 glusterfs 集群时,我必须通过客户端服务器(放置在卷内)来完成它,然后它会自动复制和分发?
  3. 如果客户端服务器死了会发生什么?我无法访问该卷或上传新文件?

问题可能听起来很幼稚,但我被他们困住了,需要帮助。

标签: distributed-computingnfsdistributed-systemglusterfs

解决方案


  1. 如何通过 http 提供文件(类似于https://gfs1.com/1.jpg)?

这取决于你的内容。如果您想将它们作为静态资源提供服务,您可以通过反向代理 Nginx、Apache httpd、... 通过将资源 URL 指向已安装的卷(FUSE 模块)来提供它们。就像是:

location /images {
    root /mounted_point/;
}

如果是机密内容,需要授权等,您可以通过自己的 Web API 提供服务

  1. 其次,每次我必须将文件放入 glusterfs 集群时,我必须通过客户端服务器(放置在卷内)来完成它,然后它会自动复制和分发?

有两种方法可以处理来自 Gluster 的文件。它是使用 Gluster Native Client 和 libgfapi 直接与 Gluster 交互的 FUSE 模块。你可以在这里阅读更多关于它的信息https://staged-gluster-docs.readthedocs.io/en/release3.7.0beta1/Features/libgfapi/

对于第一个带有 FUSE 模块的模块,您唯一需要做的就是将文件放入 Glusterfs 客户端服务器中已安装的卷中。Glusterfs 会处理剩下的事情(分布式、复制、...)

  1. 如果客户端服务器死了会发生什么?我无法访问该卷或上传新文件?

    • 您可以通过添加更多 Glusterfs 客户端服务器来保持 Glusterfs 客户端的可用性。所有这些都会显示来自 Gluster 的相同文件。
    • libgfapi,直接与您的 Gluster 服务器交互,无需客户端。

推荐阅读