本篇內(nèi)容主要講解“glusterfs的directory-layout-spread參數(shù)怎么用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“glusterfs的directory-layout-spread參數(shù)怎么用”吧!
專注于為中小企業(yè)提供網(wǎng)站制作、網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)沿河免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了成百上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
最近遇到了dht的directory-layout-spread參數(shù),這是個什么東東?默認(rèn)值為subvolume-count。按字面意思是說layout的分布個數(shù),那具體效果是怎樣的呢?我做了個實(shí)驗(yàn):
1)創(chuàng)建了一個distributed的服務(wù)(1 x 4, disk1, disk2,disk3,disk4)test,啟動服務(wù)。修改fuse客戶端對應(yīng)的vol配置文件trusted-xxxxx-fuse.vol,在dht處添加“option directory-layout-spread 3”字段,將directory-layout-spread設(shè)置為3.
注:目前只能通過手動修改配置文件方式設(shè)置該參數(shù),無法通過gluster命令動態(tài)修改。
2)mount客戶端,在掛載點(diǎn)內(nèi)創(chuàng)建a,b三個目錄。1. 然后向目錄a內(nèi)copy大量小文件,查看后端brick上文件分布情況發(fā)現(xiàn)文件只分布在disk2,disk3,disk4上,而disk1上沒有任何文件。2. 刪除目錄a內(nèi)的所有文件,然后想目錄b內(nèi)copy大量小文件,查看后端brick上文件分布情況發(fā)現(xiàn)文件只分布在disk1,disk2,disk3上,disk4上沒有任何文件。
通過上述實(shí)驗(yàn)以及結(jié)合源代碼分析:directory-layout-spread由用戶設(shè)定,默認(rèn)值為dht模塊的subvolume-count,用于目錄hash布局的子卷個數(shù)。即用戶可以指定某個目錄下的文件分布式到N個(具體是哪幾個由hash算法決定)子卷上而不是分布到所有子卷上,根據(jù)hash算法,每個目錄分配的不同的N個子卷,從而在存在大量目錄和文件時,使文件的分布總體上達(dá)到均衡狀態(tài)。
引入此參數(shù)的好處有:
1)由于目錄的layout并不是分配到所有的子卷上,所以出現(xiàn)某子卷down掉時,不會導(dǎo)致所有的目錄均出現(xiàn)文件丟失的情況。
2)由于目錄的layout并不是分配到所有的子卷上,所以某子卷引起layout修復(fù)時不會導(dǎo)致所有目錄均需進(jìn)行l(wèi)ayout修復(fù)。
3)rebalance時不需要所有的子卷都參與(此點(diǎn)尚未驗(yàn)證^-^)。
后話:
由glusterfs的directory-layout-spread參數(shù),我想到了moosefs的lables功能(需moosefs 3.0以上),lables是給某個目錄指定分配指定的chunkservers(storage server)。比如存儲在A目錄內(nèi)的文件訪問性能要求較高,我們可以將該目錄的文件分配到裝有SSD固態(tài)硬盤的chunkservers上,而B目錄文件性能要求較低,我們可以將該目錄的文件分別到普通HDD的chunkservers上。當(dāng)然后續(xù)若有變動或業(yè)務(wù)需要,可進(jìn)行SSD--->HDD或HDD---->SSD的動態(tài)遷移。
到此,相信大家對“glusterfs的directory-layout-spread參數(shù)怎么用”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!