您好,登錄后才能下訂單哦!
本篇內容主要講解“glusterfs的directory-layout-spread參數怎么用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“glusterfs的directory-layout-spread參數怎么用”吧!
最近遇到了dht的directory-layout-spread參數,這是個什么東東?默認值為subvolume-count。按字面意思是說layout的分布個數,那具體效果是怎樣的呢?我做了個實驗:
1)創建了一個distributed的服務(1 x 4, disk1, disk2,disk3,disk4)test,啟動服務。修改fuse客戶端對應的vol配置文件trusted-xxxxx-fuse.vol,在dht處添加“option directory-layout-spread 3”字段,將directory-layout-spread設置為3.
注:目前只能通過手動修改配置文件方式設置該參數,無法通過gluster命令動態修改。
2)mount客戶端,在掛載點內創建a,b三個目錄。1. 然后向目錄a內copy大量小文件,查看后端brick上文件分布情況發現文件只分布在disk2,disk3,disk4上,而disk1上沒有任何文件。2. 刪除目錄a內的所有文件,然后想目錄b內copy大量小文件,查看后端brick上文件分布情況發現文件只分布在disk1,disk2,disk3上,disk4上沒有任何文件。
通過上述實驗以及結合源代碼分析:directory-layout-spread由用戶設定,默認值為dht模塊的subvolume-count,用于目錄hash布局的子卷個數。即用戶可以指定某個目錄下的文件分布式到N個(具體是哪幾個由hash算法決定)子卷上而不是分布到所有子卷上,根據hash算法,每個目錄分配的不同的N個子卷,從而在存在大量目錄和文件時,使文件的分布總體上達到均衡狀態。
引入此參數的好處有:
1)由于目錄的layout并不是分配到所有的子卷上,所以出現某子卷down掉時,不會導致所有的目錄均出現文件丟失的情況。
2)由于目錄的layout并不是分配到所有的子卷上,所以某子卷引起layout修復時不會導致所有目錄均需進行layout修復。
3)rebalance時不需要所有的子卷都參與(此點尚未驗證^-^)。
后話:
由glusterfs的directory-layout-spread參數,我想到了moosefs的lables功能(需moosefs 3.0以上),lables是給某個目錄指定分配指定的chunkservers(storage server)。比如存儲在A目錄內的文件訪問性能要求較高,我們可以將該目錄的文件分配到裝有SSD固態硬盤的chunkservers上,而B目錄文件性能要求較低,我們可以將該目錄的文件分別到普通HDD的chunkservers上。當然后續若有變動或業務需要,可進行SSD--->HDD或HDD---->SSD的動態遷移。
到此,相信大家對“glusterfs的directory-layout-spread參數怎么用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。