中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

分布式文件系統(tǒng)測試方法與測試工具

2019-02-26    來源:多智時代

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

非結(jié)構(gòu)化數(shù)據(jù)、大數(shù)據(jù)、云存儲已經(jīng)毫無爭議地成為了信息技術(shù)發(fā)展趨勢和熱點,分布式文件系統(tǒng)作為核心基礎(chǔ)被推到了浪潮之巔,廣泛被工業(yè)界和學(xué)術(shù)界熱推,F(xiàn)代分布式文件系統(tǒng)普遍具有高性能、高擴展、高可用、高效能、易使用、易管理等特點,架構(gòu)設(shè)計的復(fù)雜性使得系統(tǒng)測試也非常復(fù)雜。從商業(yè)產(chǎn)品ISILON, IBRIX, SONAS, Filestore, NetApp GX, Panasas, StorNext, BWFS, Loongestor,到開源系統(tǒng)Lustre, Glusterfs, Moosefs,如何對這些分布式文件系統(tǒng)進行測試評估并選擇最適合數(shù)據(jù)應(yīng)用的產(chǎn)品系統(tǒng)呢?這里從功能測試和非功能測試兩個方面,簡要地介紹分布式文件系統(tǒng)的測試方法,并對主要測試工具進行簡要說明,為產(chǎn)品選型或產(chǎn)品研發(fā)提供依據(jù)。

文件系統(tǒng)功能主要涉及系統(tǒng)實現(xiàn)的POSIX API,包括文件讀取與訪問控制、元數(shù)據(jù)操作、鎖操作等功能與API。文件系統(tǒng)的POSIX語義不同,實現(xiàn)的文件系統(tǒng)API也不同,功能測試要能覆蓋到文件系統(tǒng)設(shè)計實現(xiàn)的API和功能點。功能測試工作量大,應(yīng)該重點考慮應(yīng)用自動化測試方法進行,同時結(jié)合adhoc手動測試進行補充,自動化測試工具可以采用LTP、fstest和locktests。

(2.1)數(shù)據(jù)一致性測試(手動+自動化)

這里的數(shù)據(jù)一致性是指,文件系統(tǒng)中的數(shù)據(jù)與從外部寫入前的數(shù)據(jù)保持一致,即寫入數(shù)據(jù)與讀出數(shù)據(jù)始終是一致的。數(shù)據(jù)一致性,能夠表明文件系統(tǒng)可以保證數(shù)據(jù)的完整性,不會導(dǎo)致數(shù)據(jù)丟失或數(shù)據(jù)錯誤,這是文件系統(tǒng)最基本的功能。這部分測試可以應(yīng)用diff, md5sum編寫腳本進行自動化測試,LTP也提供了數(shù)據(jù)一致性的測試工具。另外,我們也可以進行Adhoc手動測試,比如編譯軟件源碼、linux kernel來驗證數(shù)據(jù)的完整性。

POSIX (Portable Operating System Interface),表示可移植操作系統(tǒng)接口,由IEEE開發(fā)并由ANSI和ISO標準化。POSIX目的在于提高應(yīng)用程序在各種OS之間的可移植性,符合POSIX標準的應(yīng)用程序可以通過重新編譯后運行于任何符合POSIX標準的OS上。POSIX的本質(zhì)是接口,Linux是符合POSIX標準的,VFS也要符合POSIX標準。因此,文件系統(tǒng)只要滿足VFS,就可以說符合POSIX標準,就具備了良好的可移植性、通用性和互操作性。文件系統(tǒng)POSIX兼容性測試采用 LTP (Linux Test Project)和PCTS (Posix Complicance Testing Suite)進行自動化測試,支持Linux90, Linux96, UNIX98 POSIX標準測試。

目前的分布式文件通常都具備Scale-out的特點,能夠構(gòu)建大規(guī)模、高性能的文件系統(tǒng)集群。針對不同應(yīng)用和解決方案,文件系統(tǒng)部署方式會有顯著不同。部署方式測試需要測試不同場景下的系統(tǒng)部署方式,包括自動安裝配置、集群規(guī)模、硬件配置(服務(wù)器、存儲、網(wǎng)絡(luò))、自動負載均衡、高可用HA等。這部分測試不大可能進行自動化測試,需要根據(jù)應(yīng)用場景來設(shè)計解決方案和具體部署,然后手動進行測試。

高可用性已經(jīng)是分布文件系統(tǒng)不可或缺的特性之一,從而保證數(shù)據(jù)應(yīng)用業(yè)務(wù)的連續(xù)性。分布式文件系統(tǒng)可用性主要包括元數(shù)據(jù)服務(wù)MDS和數(shù)據(jù)兩部分,元數(shù)據(jù)服務(wù)MDS高可用性通常采用Failover機制或MDS集群,數(shù)據(jù)可用性主要包括Replication、Self-heal、網(wǎng)絡(luò)簇RAID、糾刪碼等機制。文件系統(tǒng)高可用性對很多應(yīng)用非常關(guān)鍵,需要嚴格進行測試和驗證,這部分測試以手動方式進行。

NIST給出的云計算權(quán)威定義:按需的自我服務(wù),廣泛的網(wǎng)絡(luò)訪問,資源池,快速的彈性能力,可度量的服務(wù)。云存儲是云計算的一種形式,分布式文件系統(tǒng)又是云存儲的基礎(chǔ),因此彈性擴展能力對于云計算時代的文件系統(tǒng)尤為重要。文件系統(tǒng)擴展性測試,主要包括測試系統(tǒng)的彈性擴展能力(擴展與回縮兩方面),以及擴展系統(tǒng)帶來的性能影響,驗證是否具有線性擴展能力。這部分測試也是以手動方式進行。

分布式文件系統(tǒng)一旦上線運行,通常都是不間斷長期運行,穩(wěn)定性的重要性不言而喻。穩(wěn)定性測試主要驗證系統(tǒng)在長時間(7/30/180/365x24)運行下,系統(tǒng)是否仍然能夠正常運行、功能是否正常。穩(wěn)定性測試通常采用自動化方式進行,可以采用LTP、Iozone、Postmark、fio等工具對測試系統(tǒng)產(chǎn)生負載,同時使用功能測試方法驗證功能的正確性。

分布式文件系統(tǒng)的負載能力總是存在上限的,當(dāng)系統(tǒng)過載時,系統(tǒng)就有可能出現(xiàn)性能下降、功能異常、拒絕訪問等問題。壓力測試就是要驗證系統(tǒng)在大壓力下,包括數(shù)據(jù)多客戶端、高OPS壓力、高IOPS/吞吐量壓力,系統(tǒng)是否仍然能夠正常運行、功能是否正常、系統(tǒng)資源消耗情況,從而為生產(chǎn)運營提供依據(jù)。壓力測試采用自動化方式進行,使用LTP、Iozone、Postmark、fio對系統(tǒng)進行持續(xù)增加壓力,同時使用功能測試方法驗證功能正確性,并采用top, iostat, sar, ganglia等工具對系統(tǒng)資源進行監(jiān)控。

性能是評估一個分布式文件系統(tǒng)的最為關(guān)鍵的維度,根據(jù)文件系統(tǒng)在不同場景下的性能表現(xiàn),可以判斷文件系統(tǒng)是否適合特定的應(yīng)用場景,并為系統(tǒng)性能調(diào)優(yōu)提供依據(jù)。文件系統(tǒng)性能主要包括IOPS、OPS、吞吐量三個指標,分別表示小文件、元數(shù)據(jù)、大數(shù)據(jù)的處理能力。性能測試采用自動化方式進行,測試系統(tǒng)在不同負載情況下的性能,主要包括小文件、大文件、海量目錄、email server、fileserver、videoserver、webserver等應(yīng)用下的OPS、IOPS、吞吐量,產(chǎn)生IO負載的工具可采用Iozone、Postmark、Fio、filebench等。

(1) LTP (http://ltp.sourceforge.net/)

LTP(Linux Test Project)是由SGI和IBM聯(lián)合發(fā)起的項目,提供一套驗證Linux系統(tǒng)可靠性、健壯性、穩(wěn)定性的測試套件,也可用來進行POSIX兼容測試和功能性測試。LTP提供了2000多個測試工具,可以根據(jù)需要自行進行定制。同時,LTP還是一個優(yōu)秀的自動化測試框架,基于它通過設(shè)計測試用例和測試工具可以實現(xiàn)更多功能的測試自動化。

(2) fstest (http://www.tuxera.com/community/posix-test-suite/)

fstest是一套簡化版的文件系統(tǒng)POSIX兼容性測試套件,它可以工作在FreeBSD, Solaris, Linux上用于測試UFS, ZFS, ext3, XFS and the NTFS-3G等文件系統(tǒng)。fstest目前有3601個回歸測試用例,測試的系統(tǒng)調(diào)用覆蓋chmod, chown, link, mkdir, mkfifo, open, rename, rmdir, symlink, truncate, unlink。

(3) locktests (http://nfsv4.bullopensource.org/tools/tests/locktest.php)

locktest用于fcntl鎖功能的壓力測試。運行時,主進程先在指定文件區(qū)域設(shè)置字節(jié)范圍的記錄鎖,然后多個從進程嘗試在該文件區(qū)域執(zhí)行read, write, 加新鎖操作。這些操作結(jié)果是可預(yù)期的(矩陣如下),如果操作結(jié)果與預(yù)期一致則測試通過,否則測試失敗。

分布式文件系統(tǒng)測試方法與測試工具

(4) PCTS (http://www.opengroup.org/testing/linux-test/lsb-vsx.html)

PCTS(Posix Complicance Testing Suite),POSIX一致性測試套件,是從POSIX標準出發(fā),通過嚴格的、定量地測試,以驗證、評價、認證操作系統(tǒng)符合POSIX標準的程序的測試軟件。IEEE std2003.1是PCTS的設(shè)計標準,常見的PCTS主要有VSX-PCTS、NIST-PCTS、OPTS-PCTS三種實現(xiàn),上面提供的連接為VSX-PCTS。

(5) Iozone (http://www.iozone.org)

Iozone是目前應(yīng)用非常廣泛的文件系統(tǒng)測試標準工具,它能夠產(chǎn)生并測量各種的操作性能,包括read, write, re-read, re-write, read backwards, read strided, fread, fwrite, random read, pread ,mmap, aio_read, aio_write等操作。Iozone目前已經(jīng)被移植到各種體系結(jié)構(gòu)計算機和操作系統(tǒng)上,廣泛用于文件系統(tǒng)性能測試、分析與評估的標準工具。

(6) Postmark (http://www.gtlib.cc.gatech.edu/pub/debian/pool/main/p/postmark/)

Postmark 是由著名的 NAS 提供商 NetApp 開發(fā),用來測試其產(chǎn)品的后端存儲性能。Postmark主要用于測試文件系統(tǒng)在郵件系統(tǒng)或電子商務(wù)系統(tǒng)中性能,這類應(yīng)用的特點是:需要頻繁、大量地存取小文件。 Postmark 的測試原理是創(chuàng)建一個測試文件池。文件的數(shù)量和最大、最小長度可以設(shè)定,數(shù)據(jù)總量是一定的。創(chuàng)建完成后, Postmark 對文件池進行一系列的事務(wù)( transaction )操作,根據(jù)從實際應(yīng)用中統(tǒng)計的結(jié)果,設(shè)定每一個事務(wù)包括一次創(chuàng)建或刪除操作和一次讀或添加操作,在有些情況下,文件系統(tǒng)的緩存策略可能對性能造成影響, Postmark 可以通過對創(chuàng)建 / 刪除以及讀 / 添加操作的比例進行修改來抵消這種影響。事務(wù)操作進行完畢后, Post 對文件池進行刪除操作,并結(jié)束測試,輸出結(jié)果。 Postmark是用隨機數(shù)來產(chǎn)生所操作文件的序號,從而使測試更加貼近于現(xiàn)實應(yīng)用。輸出結(jié)果中比較重要的輸出數(shù)據(jù)包括測試總時間、每秒鐘平均完成的事務(wù)數(shù)、在事務(wù)處理中平均每秒創(chuàng)建和刪除的文件數(shù),以及讀和寫的平均傳輸速度。

(7) fio (http://freshmeat.net/projects/fio/)

fio是一個I/O標準測試和硬件壓力驗證工具,它支持13種不同類型的I/O引擎(sync, mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio等),I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs等等。fio可以支持塊設(shè)備和文件系統(tǒng)測試,廣泛用于標準測試、QA、驗證測試等,支持Linux, FreeBSD, NetBSD, OS X, OpenSolaris, AIX, HP-UX, Windows等操作系統(tǒng)。

(8) filebench (http://filebench.sourceforge.net/)

Filebench 是一款文件系統(tǒng)性能的自動化測試工具,它通過快速模擬真實應(yīng)用服務(wù)器的負載來測試文件系統(tǒng)的性能。它不僅可以仿真文件系統(tǒng)微操作(如 copyfiles, createfiles, randomread, randomwrite ),而且可以仿真復(fù)雜的應(yīng)用程序(如 varmail, fileserver, oltp, dss, webserver, webproxy )。 Filebench 比較適合用來測試文件服務(wù)器性能,但同時也是一款負載自動生成工具,也可用于文件系統(tǒng)的性能。

分布式文件系統(tǒng)測試方法與測試工具

劉愛貴畢業(yè)于中科院,專注于存儲技術(shù)的研究與開發(fā),目前從事存儲行業(yè)軟件研發(fā)工作。

在不久的將來,云計算一定會徹底走入我們的生活,有興趣入行未來前沿產(chǎn)業(yè)的朋友,可以收藏云計算,及時獲取人工智能、大數(shù)據(jù)、云計算和物聯(lián)網(wǎng)的前沿資訊和基礎(chǔ)知識,讓我們一起攜手,引領(lǐng)人工智能的未來!

標簽: linux 大數(shù)據(jù) 電子商務(wù) 電子商務(wù)系統(tǒng) 服務(wù)器 服務(wù)器性能 腳本 網(wǎng)絡(luò) 信息技術(shù) 應(yīng)用服務(wù)器 云計算

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:云服務(wù)時代,該如何優(yōu)化網(wǎng)絡(luò)性能?

下一篇:國家超級計算深圳中心5項云計算應(yīng)用成果發(fā)布