2015-10-14 78 views
0

我有6個存儲(storage1:/ data,storage2:/ data,...,storage6:/ data)並且我已經創建了一個clusterdata(使用此命令「 gluster卷創建...「)。我如何找到哪個磚在glusterFS上有一個文件

我安裝在客戶端Cluster數據,我在裏面做了一個文件,例如salmple.txt

不Glusterfs提供任何東西,瞭解哪些stroage有sample.txt的? 通過查看storage1中的文件:/ data ... storage6:/ data我可以找到哪一個有它,但我認爲GlusterFS應該爲此提供某些東西,如果有人知道可以幫助我,我將不勝感激。

回答

1

gluster使用彈性散列算法將文件散列成磚塊之一。

我認爲它基於文件的名稱散列,例如,如果你有文件sample.txt,再次刪除它,如果你創建它,它會存儲在相同的磚。

因此,gluster不會公開文件將被散列的位置。它只是通過直接存儲將文件散列到特定位置。 (也許通過挖掘代碼,你應該能夠弄清楚,在哪裏可能存儲)。

此外: 有很多種不同的音量,例如,你可以說一塊磚是本地磚,並且在本地磚中總是有一個文件副本,意味着一個副本總是在那裏散列。

< < GlusterFS應該提供的東西爲,

不一定,你只需訪問從安裝文件location..should不用擔心這磚是stored..so GLUSTER不需要提供任何認識機制細節。

例如,如果其中一個磚塊關閉,散列更改。您還可以添加/刪除更多磚塊......所有這些都是動態的。

+0

謝謝kumar。問題是我想在gluster上運行一些web服務器。爲客戶提供文件的最佳方式是,具有該文件的Brick上的Web服務器響應客戶而不是掛載點。如果我從掛載點回復,系統會將數據從磚傳輸到掛載點。所以我需要知道哪個磚有文件來防止這種開銷。 –

+0

@FariborzMafakheri我認爲這裏有一些誤解。當客戶端在掛載點上查找文件時,它所做的就是散列FILENAME - >從該位置獲取文件。它不會查看多個位置來確定位置。 (在典型的情況下)..請注意,沒有OVERHEAD將數據從磚傳輸到掛載點。你所做的只是從掛載點訪問數據。如果磚塊是關閉的,您將無法訪問該文件(因爲您直接訪問網絡資源(此處爲文件))。 – kumar

+0

如果完全想要一個本地副本,那麼您將文件的副本從掛載點執行到本地點...但只要您從掛載點訪問文件,就可以使用網絡來訪問文件。 – kumar

相關問題