分布式文件系統測試方法與測試工具

發表于:2014-12-10來源:uml.org.cn作者:不詳點擊數: 標簽:分布式
非結構化數據、大數據、云存儲已經毫無爭議地成為了信息技術發展趨勢和熱點,分布式文件系統作為核心基礎被推到了浪潮之巔,廣泛被工業界和學術界熱推。

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

  分布式文件系統測試方法

  (1)功能性測試(手動+自動化)

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

  (2)非功能性測試

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

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

  (2.2)POSIX語義兼容性測試(自動化)

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

  (2.3)部署方式測試(手動)

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

  (2.4)可用性測試(手動)

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

  (2.5)擴展性測試(手動)

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

  (2.6)穩定性測試(自動化)

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

原文轉自:http://www.uml.org.cn/Test/201212104.asp

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97