【问题标题】:How do I find which brick has a file on glusterFS如何在 glusterFS 上找到哪个砖有文件
【发布时间】:2015-10-14 14:06:46
【问题描述】:

我有 6 个存储(storage1:/data、storage2:/data、...、storage6:/data)并且我创建了一个 clusterdata(使用此命令“gluster volume create ...”)。

我将clusterdata挂载在客户端,并在其中创建了一个文件,例如salmple.txt

Glusterfs 是否提供任何东西来了解哪个stroage 有sample.txt? 通过查看 storage1:/data ... storage6:/data 中的文件,我可以找到它,但我认为 GlusterFS 应该为此提供一些东西,如果有人知道可以帮助我,我将不胜感激。

【问题讨论】:

    标签: file location storage glusterfs


    【解决方案1】:

    gluster 使用弹性散列算法将文件散列到其中一个块中。

    我认为它是基于文件名的哈希值,例如,如果您有文件 sample.txt ,请再次删除它,如果您重新创建它,它将存储在 SAME 砖中。

    因此,gluster 不会公开文件将在何处进行哈希处理。它只是通过直接存储将文件散列到特定位置。 (也许通过挖掘代码,您应该能够弄清楚它可能存储在哪里)。

    另外: 有许多不同种类的卷,例如,你可以说一个砖是本地砖,并且在那个本地砖中总是有一个文件副本,这意味着一个副本总是在那里被散列。

    不一定,您只需从挂载位置访问文件..不应该担心它存储的是哪个砖块..所以 GLUSTER 不需要提供任何了解细节的机制。

    例如,如果其中一个砖块倒塌,则哈希更改。您还可以添加/移除更多砖块......这一切都是动态的。

    【讨论】:

    • 谢谢库马尔。问题是我想在 gluster 上运行一些 Web 服务器。为客户提供文件的最佳方式是拥有文件的砖块上的 Web 服务器响应客户,而不是在挂载点。如果我从挂载点回复,它将对系统产生开销,以便将数据从砖块传输到挂载点。所以我需要知道哪个砖有文件来防止这种开销。
    • @FariborzMafakheri 我认为这里存在一些误解。当客户端在挂载点查找文件时,它所做的只是散列 FILENAME -> 从该位置获取文件。它不会查看多个位置来确定位置。 (在典型情况下)..请注意,将数据从砖块传输到安装点没有开销。您所做的只是从挂载点访问数据。如果砖已关闭,您将无法访问该文件(因为您正在直接访问网络资源(此处为文件))。
    • 如果你想要一个本地副本,那么你执行从挂载点到本地点的文件复制......但只要你从挂载点访问文件,你就是使用网络访问文件。
    • 谢谢 kumar :) 那么你认为我的问题有什么解决方案吗?还是其他更好的分布式文件系统?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    • 1970-01-01
    • 2021-10-23
    • 2021-06-30
    相关资源
    最近更新 更多