您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)如何分析Lustre性能優(yōu)化方案,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
談起HPC時,似乎繞不開Lustre。Lustre是HPC的代名詞,它是開源HPC并行文件系統(tǒng)市場占有率的文件系統(tǒng),并得到了如Intel和DDN等廠商的大力支持。目前,Intel與Lustre相關(guān)的業(yè)務(wù)已經(jīng)被DDN所接手。
1 Lustre性能優(yōu)化參考
1.1 網(wǎng)絡(luò)帶寬
網(wǎng)絡(luò)帶寬往往決定著lustre文件系統(tǒng)的聚合帶寬。Lustre是通過多個OSS同時讀取數(shù)據(jù)來提高系統(tǒng)整體的讀寫性能,然而,如果網(wǎng)絡(luò)傳輸?shù)男阅苓^低,則無法發(fā)揮lustre文件系統(tǒng)的性能優(yōu)勢。從以下幾點考慮網(wǎng)絡(luò)帶寬對性能的影響:
網(wǎng)絡(luò)類型(TCP/IP網(wǎng)絡(luò)及Infiniband網(wǎng)絡(luò))
網(wǎng)卡類型(千兆網(wǎng)/萬兆網(wǎng))
網(wǎng)卡數(shù)量及綁定方式(網(wǎng)卡綁定一起)
網(wǎng)卡綁定模式
補充:
通常情況下Infiniband網(wǎng)絡(luò)性能遠遠高于TCP/IP網(wǎng)絡(luò),但成本較高
萬兆網(wǎng)比千兆網(wǎng)性能高
網(wǎng)卡綁定模式一般為6。
1.2 Lustre自身設(shè)置
Luster自身設(shè)置主要是條塊數(shù)(即OST的個數(shù))及如何條塊化,這兩方面也是lustre實現(xiàn)I/O并發(fā)的關(guān)鍵。條帶化能夠使系統(tǒng)達到并發(fā)的目的,從而影響了系統(tǒng)的性能。Luster自身設(shè)置對系統(tǒng)性能的影響主要從以下幾個方面:
條塊大小(stripesize,min=64KB)
條塊數(shù)(stripecount)
起始塊數(shù)(start-ost,即條塊起始位置)
補充:
通常情況下start-ost默認為-1,不需要進行修改,該設(shè)置即不指定初始位置,能夠很好達到負載均衡的目的
通常情況下lustre條塊的大小的增加,聚合帶寬總體呈下降趨勢,當條塊過大時,某一時間內(nèi)的多個I/O發(fā)生在同一個OST上,造成I/O等待,通常設(shè)置為64KB
通常情況下,隨著條塊數(shù)增加,聚合帶寬總體呈上升趨勢,在一定的環(huán)境下,合理的配置OST可以良好的發(fā)揮lustre的系統(tǒng)性能。
1.3 客戶端設(shè)置
Lustre文件系統(tǒng)中,客戶端生成一個全局存儲空間,用戶數(shù)據(jù)通過客戶端存入lustre文件系統(tǒng)中,所客戶端的設(shè)置也會影響系統(tǒng)的性能。
主要從以下幾點:
單個客戶端進程數(shù)(連接數(shù))
讀寫塊大小
客戶端數(shù)量
補充:
隨著連接數(shù)(進程數(shù))的增加,聚合帶寬開始呈上升趨勢,到一定程度后穩(wěn)定(此時系統(tǒng)性能尚未達到飽和),隨著連接數(shù)的增加,帶寬開始下降
隨著I/O讀寫塊的大小增加,聚合帶寬開始呈現(xiàn)上升趨勢,到一定程度后穩(wěn)定,隨后增加塊大小聚合帶寬反而下降,當64KB~64MB大小時,保持穩(wěn)定
隨著客戶端數(shù)目的增加,讀模式下的聚合帶寬明顯提高,而寫模式下的聚合帶寬則變化不明顯。
1.4 存儲RAID
Luster底層存儲設(shè)備采用通用存儲設(shè)備,可以是單磁盤,也可以是RAID,也可以是LVP,大部分采用RAID方式,既能保證聚合存儲容量,又能提供數(shù)據(jù)保護。主要從以下幾點說明:
RAID方式(硬RAID/軟RAID)
RAID模式(RAID0/1/2/3/4/5/6/10/01)
硬RAID卡類型
做RAID的磁盤類型(SATA、SAS、SSD)
補充:
通常情況下,lustre文件系統(tǒng)底層采用硬RAID的方式進行底層存儲,性能遠遠大于軟RAID,但成本高
Luster通常做RAID6,提高數(shù)據(jù)保護
OST磁盤一般采用低成本的SATA盤,而MDS則一般采用SSD盤
2 Lustre小文件優(yōu)化
2.1 整體設(shè)置
1、通過應(yīng)用聚合讀寫提高性能,比如對小文件進行Tar,或創(chuàng)建大文件或通過loopback mount來存儲小文件。小文件系統(tǒng)調(diào)用開銷和額外的I/O開銷非常大,應(yīng)用聚合優(yōu)化可以顯著提高性能。另外,可以使用多節(jié)點、多進程/多線程盡可能通過聚合來提高I/O帶寬。
2、應(yīng)用采用O_DIRECT方式進行直接I/O,讀寫記錄大小設(shè)置為4KB,與文件系統(tǒng)保持一致。對輸出文件禁用locking,避免客戶端之間的競爭。
3、應(yīng)用程序盡量保證寫連續(xù)數(shù)據(jù),順序讀寫小文件要明顯優(yōu)于隨機小文件I/O。
4、OST采用SSD或更多的磁盤,提高IOPS來改善小文件性能。創(chuàng)建大容量OST,而非多個小容量OST,減少日志、連接等負載。
5、OST采用RAID 1+0替代RAID 5/6,避免頻繁小文件I/O引起的數(shù)據(jù)校驗開銷。
2.2 系統(tǒng)設(shè)置
1、禁用所有客戶端LNET debug功能:缺省開啟多種調(diào)試信息,sysctl -w lnet.debug=0,減少系統(tǒng)開銷,但發(fā)生錯誤時將無LOG可詢。
2、增加客戶端Dirty Cache大?。喝笔?2MB,增大緩存將提升I/O性能,但數(shù)據(jù)丟失的風(fēng)險也隨之增大。
3、增加RPC并行數(shù)量:缺省為8,提升至32將提高數(shù)據(jù)和元數(shù)據(jù)性能。不利之處是如果服務(wù)器壓力很大,可能反而會影響性能。
4、控制Lustre striping:lfs setstripe -c 0/1/-1 /path/filename,如果OST對象數(shù)大于1,小文件性能會下降,因此將OST對象設(shè)置為1。
5、客戶端考慮使用本地鎖:mount -t lustre -o localflock,如果確定多個進程從同一個客戶端進行寫文件,則可用localflock代替flock,減少發(fā)送到MDS的RPC數(shù)量。
6、使用loopback mount文件:創(chuàng)建大Lustre文件,與loop設(shè)備關(guān)聯(lián)并創(chuàng)建文件系統(tǒng),然后將其作為文件系統(tǒng)進行mount。小文件作用其上,則原先大量的MDS元數(shù)據(jù)操作將轉(zhuǎn)換為OSS讀寫操作,消除了元數(shù)據(jù)瓶頸,可以顯著提高小文件性能。
這種方法應(yīng)用于scratch空間可行,但對于生產(chǎn)數(shù)據(jù)應(yīng)該謹慎使用,因為Lustre目前工作在這種模式下還存在問題,操作方法如下:
以上就是如何分析Lustre性能優(yōu)化方案,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。