專利名稱:分布式環(huán)境下實現(xiàn)輸入輸出蹤跡收集回放的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)存儲領(lǐng)域,具體地說是一種分布式環(huán)境下實現(xiàn)I/OTrace收集 回放的系統(tǒng)和方法。
背景技術(shù):
隨著計算機(jī)的發(fā)展,存儲系統(tǒng)目前已處于計算機(jī)系統(tǒng)的核心地位,在實際應(yīng)用環(huán) 境中,對存儲系統(tǒng)的數(shù)據(jù)處理速度、可靠性和安全性都提出了嚴(yán)格的要求。對于任何一種存 儲系統(tǒng),都存在自身的優(yōu)勢和缺陷,因此在實際應(yīng)用環(huán)境下對存儲系統(tǒng)進(jìn)行測試,可以更加 客觀、公平的對被測系統(tǒng)進(jìn)行評價,通過與其他存儲系統(tǒng)進(jìn)行對比,找到被測存儲系統(tǒng)適合 的最佳環(huán)境。
中國專利文獻(xiàn)CN1945747B中公開了一種存儲單元測試方法及其系統(tǒng),所述測試 方法包括選擇存儲單元測試類型;根據(jù)所選擇的測試類型產(chǎn)生相應(yīng)的測試激勵信號并發(fā)送 至待測模塊;根據(jù)所述測試激勵信號,對待測模塊的存儲單元索引表進(jìn)行讀寫操作;生成 相應(yīng)的測試結(jié)果。該技術(shù)方案提供的存儲單元測試方法及其系統(tǒng)測試功能較全面,且能有 效減少工作量以及降低成本,但是該測試方法并不是在實際應(yīng)用環(huán)境下對系統(tǒng)的測試,而 是根據(jù)測試時預(yù)先設(shè)定的測試信號進(jìn)行測試,因此不能全面的反映實際使用的環(huán)境下的存 儲系統(tǒng)性能。
在實際應(yīng)用中,為了測試實際環(huán)境下存儲系統(tǒng)的性能,獲取Trace是非常關(guān)鍵的 環(huán)節(jié),Trace是指數(shù)據(jù)操作的記錄集,其中包含了對磁盤的操作。常用的Trace收集工具都 是以單機(jī)環(huán)境為基礎(chǔ),要進(jìn)行多機(jī)Trace收集時操作復(fù)雜,得到的Trace集不能得到有效的 管理和進(jìn)一步的處理?;赥race的分析被用于更有效的軟硬件的設(shè)計,它也以頻繁的被 用于評估文件系統(tǒng)性能分析和改進(jìn)。I/OTrace是對某一具體文件的I/O進(jìn)行記錄而形成, 可以反映出這一文件系統(tǒng)的I/O請求情況,得到該實際應(yīng)用環(huán)境下的存儲系統(tǒng)的性能信 息,但由于I/O請求不可控,因此生成的I/OTrace不可控,因此無法保證其可以綜合反映 該存儲系統(tǒng)的性能,對存儲子系統(tǒng)的設(shè)計和評價就顯得很不方便。發(fā)明內(nèi)容
為此,本發(fā)明所要解決的技術(shù)問題在于現(xiàn)有技術(shù)中I/O請求不可控,對存儲系統(tǒng) 的評價不方便,從而提出一種可以I/O請求可控,便于存儲系統(tǒng)設(shè)計和評價的I/OTrace收 集回放系統(tǒng)。
為解決上述技術(shù)問題,本發(fā)明的一種分布式環(huán)境下實現(xiàn)I/OTrace收集回放的系 統(tǒng),包括1/0 Trace收集與重放控制單元、1/0 Trace采集單元、1/0 Trace重放單元;(1)1/0 Trace收集與重放控制單元,包括用戶界面模塊,提供針對整個系統(tǒng)的全局和單個節(jié)點的統(tǒng)一配置管理界面,方便用戶 集中管理Trace的采集與重放;網(wǎng)絡(luò)通信模塊,通過網(wǎng)絡(luò)與分布式系統(tǒng)中的I/OTrace采集單元和I/OTrace重放單元進(jìn)行通信。
導(dǎo)入腳本模塊,用于讀入指定的Trace任務(wù)腳本;腳本分析模塊,分析讀入的所述Trace任務(wù)腳本中的任務(wù),生成Trace任務(wù); 導(dǎo)入Trace模塊,讀入并分析所述Trace任務(wù);生成Trace模塊,將所述導(dǎo)入Trace模塊獲取的Trace任務(wù)按指定格式輸出到文件; Trace任務(wù)調(diào)度模塊,根據(jù)所述腳本分析模塊中的所述Trace任務(wù)或者根據(jù)用戶界面 接收到的命令,對采集代理模塊、重放代理模塊、導(dǎo)入Trace模塊、生成Trace模塊、性能分 析模塊進(jìn)行調(diào)度,完成相關(guān)任務(wù);Trace資源管理模塊,用于對系統(tǒng)中所有Trace收集與重放工具進(jìn)行管理,方便Trace 任務(wù)調(diào)度模塊對Trace工具的遠(yuǎn)程調(diào)度;性能分析模塊,對各節(jié)點反饋上來的性能報告進(jìn)行分析整理,生成性能報告; 采集代理模塊,接收Trace資源管理模塊和Trace任務(wù)調(diào)度模塊的命令,調(diào)用指定的遠(yuǎn) 程的Trace采集工具,通過網(wǎng)絡(luò)通信模塊發(fā)給遠(yuǎn)程的所述Trace采集單元,并接收來自網(wǎng)絡(luò) 的反饋后再發(fā)給上層調(diào)用者;重放代理模塊,接收Trace資源管理模塊和Trace任務(wù)調(diào)度模塊的命令,調(diào)用指定的 遠(yuǎn)程的Trace重放工具,通過網(wǎng)絡(luò)通信模塊發(fā)給遠(yuǎn)程的所述Trace重放單元,收到來自網(wǎng)絡(luò) 的反饋后再發(fā)給上層調(diào)用者;(2) I/O Trace采集單元,包括:Trace采集控制模塊,為用戶配置管理所述I/O Trace采集單元提供接口 ; I/O Trace緩沖池模塊,用于緩存I/O Trace的請求;文件I/O采集模塊,用于截獲文件系統(tǒng)對文件的讀寫I/O請求包,從請求包中獲取讀寫 的信息,并將這些信息保存到一個I/O Trace緩沖池中;塊I/O采集模塊,用于截獲塊設(shè)備的讀寫I/O請求包,從請求包中獲取讀寫的信息,并 將這些信息保存到一個I/O Trace緩沖池中;Trace后臺回寫模塊,將I/O Trace緩沖池中的信息寫入Trace日志文件,并且將I/O Trace緩沖池中的信息通過網(wǎng)絡(luò)寫回到所述I/OTrace收集與重放控制單元;網(wǎng)絡(luò)通信模塊,用于與所述I/O Trace收集與重放控制單元通過網(wǎng)絡(luò)進(jìn)行通信。
(3) I/O Trace 重放單元,包括文件I/O重放模塊,完成文件I/O重放的具體動作; 塊I/O重放模塊,完成塊I/O重放的具體動作;Trace分析器模塊,讀取Trace文件,分析Trace的格式,將需要的信息組織成I/O請求 數(shù)據(jù)結(jié)構(gòu),然后發(fā)給時間尺度調(diào)整模塊;時間尺度調(diào)整模塊,用于按照用戶設(shè)置的策略對收到的I/O請求數(shù)據(jù)結(jié)構(gòu)進(jìn)行重新調(diào) 整,最后交給Trace重放模塊;Trace重放模塊,用于根據(jù)Trace的類型來發(fā)送調(diào)用操作系統(tǒng)對應(yīng)的I/O重放模塊的指令;性能統(tǒng)計模塊,根據(jù)"Trace重放模塊的反饋信息,統(tǒng)計"Trace的性能并給出報告;Trace重放控制臺模塊,提供用戶進(jìn)行操作控制使用;網(wǎng)絡(luò)通信模塊,用于與所述I/O Trace收集與回放總控制單元進(jìn)行通信。
所述"Trace重放模塊中Trace的類型包括文件iTrace和塊Trace,對應(yīng)的I/O重放 模塊為文件I/O重放模塊和塊I/O重放模塊。
一種使用分布式環(huán)境下實現(xiàn)I/OTrace收集回放的系統(tǒng)的方法,如圖1所示,包括 如下步驟(1)用戶通過用戶界面模塊對系統(tǒng)全局和單個節(jié)點進(jìn)行統(tǒng)一配置和管理;(2)由導(dǎo)入腳本模塊讀入指定的Trace任務(wù)腳本,由腳本分析模塊分析所述Trace任務(wù) 腳本中的任務(wù),生成Trace任務(wù);(3)根據(jù)所述腳本分析模塊中的所述Trace任務(wù)或者根據(jù)用戶界面接收到的命令,所 述Trace任務(wù)調(diào)度模塊對采集代理模塊、導(dǎo)入Trace模塊、生成Trace模塊、重放代理模塊、 性能分析模塊進(jìn)行調(diào)度,完成相關(guān)任務(wù)。
在所述步驟(3)中,Trace任務(wù)調(diào)度模塊對采集代理模塊的調(diào)用過程如下接收 Trace資源管理模塊和Trace任務(wù)調(diào)度模塊的命令,調(diào)用指定的遠(yuǎn)程的Trace采集工具,通 過網(wǎng)絡(luò)通信模塊發(fā)給遠(yuǎn)程的所述Trace采集單元,并接收來自網(wǎng)絡(luò)的反饋后再發(fā)給上層調(diào) 用者。
所述Trace采集單元的工作過程如下若Trace采集控制模塊發(fā)出收集文件I/OTrace的命令,如圖4所示,過程如下(1)Trace采集控制模塊發(fā)出收集文件I/OTrace的命令(2)文件I/O采集模塊截獲文件系統(tǒng)對文件的讀寫I/O請求包,從請求包中獲取讀寫的 信息,并將這些信息保存到一個I/O Trace緩沖池中模塊中;(3)TraCe后臺回寫模塊根據(jù)預(yù)定策略將I/OTrace緩沖池中的信息寫入Trace日志文 件,并將I/O Trace緩沖池中的信息通過網(wǎng)絡(luò)寫回到所述I/OTrace收集與重放控制單元;若Trace采集控制模塊發(fā)出收集塊I/OTrace的命令,如圖5所示,過程如下(1)Trace采集控制模塊發(fā)出收集塊I/OTrace的命令(2)塊1/0采集模塊截獲塊設(shè)備層的1/0請求包,并發(fā)到I/OTrace緩沖池中;(3)Trace后臺回寫模塊根據(jù)預(yù)定策略,將1/0 Trace緩沖池中的信息寫入Trace日 志文件,并將I/O Trace緩沖池中的信息通過網(wǎng)絡(luò)寫回到所述I/OTrace收集與重放控制單元。
在所述步驟(4)中,所述Trace任務(wù)調(diào)度模塊對重放代理模塊的調(diào)用過程如下接 收Trace資源管理模塊和Trace任務(wù)調(diào)度模塊的命令,調(diào)用指定的遠(yuǎn)程的Trace重放工具, 通過網(wǎng)絡(luò)通信模塊發(fā)給遠(yuǎn)程的所述Trace重放單元,收到來自網(wǎng)絡(luò)的反饋后再發(fā)給上層調(diào) 用者。
所述Trace重放單元的過程如下(a)所述Trace重放控制臺模塊發(fā)出的命令為重放文件I/O Trace時,如圖2所示 步驟1 所述Trace重放控制臺模塊發(fā)出重放文件I/O Trace的命令; 步驟2 所述Trace分析器模塊根據(jù)所述Trace重放控制臺命令從所述I/OTrace收集 與重放控制單元獲取指定的Trace記錄并進(jìn)行分析,構(gòu)造相應(yīng)的I/O請求包,發(fā)到時間尺度 調(diào)整模塊;步驟3 時間尺度調(diào)整模塊根據(jù)用戶指令對I/O請求包的時間尺度進(jìn)行調(diào)整,調(diào)整后的 請求包發(fā)送到Trace重放模塊;步驟4 所述Trace重放模塊根據(jù)I/O請求包的類型,將其發(fā)至文件I/O重放模塊; 步驟5 文件I/O重放模塊將I/O請求包發(fā)給文件系統(tǒng)的相應(yīng)模塊; (b)所述Trace重放控制臺模塊發(fā)出的命令為重放塊I/O Trace時,如圖3所示, 步驟1 所述Trace重放控制臺模塊發(fā)出重放文件I/O Trace的命令; 步驟2 所述Trace分析器模塊根據(jù)所述Trace重放控制臺命令從所述I/OTrace收集 與重放控制單元獲取指定的Trace記錄并進(jìn)行分析,構(gòu)造相應(yīng)的I/O請求包,發(fā)到時間尺度 調(diào)整模塊;步驟3 時間尺度調(diào)整模塊根據(jù)用戶指令對I/O請求包的時間尺度進(jìn)行調(diào)整,調(diào)整后的 請求包發(fā)送到Trace重放模塊;步驟4 所述Trace重放模塊根據(jù)I/O請求包的類型,將其發(fā)至文件I/O重放模塊; 步驟5 文件I/O重放模塊將I/O請求包發(fā)給文件系統(tǒng)的相應(yīng)模塊。
在所述步驟(4)中,所述Trace任務(wù)調(diào)度模塊對導(dǎo)入Trace模塊、生成Trace模塊 進(jìn)行調(diào)用,讀入并分析所述Trace任務(wù),將獲取的Trace任務(wù)記錄按指定格式輸出到文件。
在所述步驟(4 )中,所述Trace任務(wù)調(diào)度模塊對性能分析模塊進(jìn)行調(diào)用,對各節(jié)點 反饋上來的性能報告進(jìn)行分析整理,生成性能報告。
本發(fā)明的上述技術(shù)方案相比現(xiàn)有技術(shù)具有以下優(yōu)點,(1)本發(fā)明所述的分布式環(huán)境下實現(xiàn)I/OTrace收集回放的系統(tǒng)及方法,包括I/O Trace收集與重放控制單元、I/O Trace采集單元、I/O Trace重放單元,所述I/O Trace收 集與重放控制單元主要是實現(xiàn)測試機(jī)節(jié)點的管理,對測試機(jī)進(jìn)行Trace收集和回放測試的 控制,接收從測試機(jī)發(fā)送來的Trace,并對所有采集到的Trace進(jìn)行管理、分析,在Trace回 放時能夠設(shè)置回放策略,同時實時顯示各臺測試機(jī)在回放時的性能表現(xiàn),便于對比觀察;所 述I/O Trace采集單元和I/O Trace重放單元主要實現(xiàn)獲取主機(jī)信息向總控臺進(jìn)行注冊, 接收總控臺的控制命令,執(zhí)行相應(yīng)的"Trace收集與回放工作,在收集時向總控臺發(fā)送收集 到的Trace,回放時接收總控臺發(fā)送過來的回放Trace集進(jìn)行回放,并實時的向總控臺返回 當(dāng)前回放的實時統(tǒng)計信息,這樣,就實現(xiàn)了將各種典型的I/O請求按需要生成,解決了現(xiàn)有 技術(shù)中的I/O請求不可控、對存儲系統(tǒng)的設(shè)計和評價不方便的技術(shù)問題,可以對存儲系統(tǒng) 進(jìn)行有效的測試和管理,有利于提高存儲系統(tǒng)的性能。
(2)本發(fā)明所述的分布式環(huán)境下實現(xiàn)I/OTrace收集回放的系統(tǒng),Trace的類型包 括文件I/OTrace和塊iATTrace,對不同類型的I/OTrace采取不同的方式進(jìn)行處理,更加具 有針對性,更全面的獲得I/OTrace的信息。
為了使本發(fā)明的內(nèi)容更容易被清楚的理解,下面根據(jù)本發(fā)明的具體實施例并結(jié)合 附圖,對本發(fā)明作進(jìn)一步詳細(xì)的說明,其中圖1 是為本發(fā)明所述系統(tǒng)的I/O Trace收集與重放控制單元結(jié)構(gòu)圖; 圖2 是本發(fā)明系統(tǒng)I/O Trace采集單元結(jié)構(gòu)圖; 圖3 本發(fā)明系統(tǒng)I/O Trace重放單元結(jié)構(gòu)圖; 圖4 本發(fā)明文件I/O Trace收集流程圖; 圖5 本發(fā)明塊I/O Trace收集流程圖。
具體實施方式
本發(fā)明的一種分布式環(huán)境下實現(xiàn)I/OTrace收集回放的系統(tǒng),包括1/0 Trace收 集與重放控制單元、I/O Trace采集單元、I/O Trace重放單元;(1)1/0Trace收集與重放控制單元,包括用戶界面模塊,提供針對整個系統(tǒng)的全局和單個節(jié)點的統(tǒng)一配置管理界面,方便用戶 集中管理Trace的采集與重放;網(wǎng)絡(luò)通信模塊,通過網(wǎng)絡(luò)與分布式系統(tǒng)中的I/OTrace采集單元和I/OTrace重放單元 進(jìn)行通信。
導(dǎo)入腳本模塊,用于讀入指定的Trace任務(wù)腳本;腳本分析模塊,分析讀入的所述Trace任務(wù)腳本中的任務(wù),生成Trace任務(wù); 導(dǎo)入Trace模塊,讀入并分析所述Trace任務(wù);生成Trace模塊,將所述導(dǎo)入Trace模塊獲取的Trace任務(wù)按指定格式輸出到文件; Trace任務(wù)調(diào)度模塊,根據(jù)所述腳本分析模塊中的所述Trace任務(wù)或者根據(jù)用戶界面 接收到的命令,對采集代理模塊、重放代理模塊、導(dǎo)入Trace模塊、生成Trace模塊、性能分 析模塊進(jìn)行調(diào)度,完成相關(guān)任務(wù);Trace資源管理模塊,用于對系統(tǒng)中所有Trace收集與重放工具進(jìn)行管理,方便Trace 任務(wù)調(diào)度模塊對Trace工具的遠(yuǎn)程調(diào)度;性能分析模塊,對各節(jié)點反饋上來的性能報告進(jìn)行分析整理,生成性能報告; 采集代理模塊,接收Trace資源管理模塊和Trace任務(wù)調(diào)度模塊的命令,調(diào)用指定的遠(yuǎn) 程的Trace采集工具,通過網(wǎng)絡(luò)通信模塊發(fā)給遠(yuǎn)程的所述Trace采集單元,并接收來自網(wǎng)絡(luò) 的反饋后再發(fā)給上層調(diào)用者;重放代理模塊,接收Trace資源管理模塊和Trace任務(wù)調(diào)度模塊的命令,調(diào)用指定的 遠(yuǎn)程的Trace重放工具,通過網(wǎng)絡(luò)通信模塊發(fā)給遠(yuǎn)程的所述Trace重放單元,收到來自網(wǎng)絡(luò) 的反饋后再發(fā)給上層調(diào)用者;(2)I/O Trace采集單元,包括Trace采集控制模塊,為用戶配置管理所述I/O Trace采集單元提供接口 ; I/O Trace緩沖池模塊,用于緩存I/O Trace的請求;文件I/O采集模塊,用于截獲文件系統(tǒng)對文件的讀寫I/O請求包,從請求包中獲取讀寫 的信息,并將這些信息保存到一個I/O Trace緩沖池中;塊I/O采集模塊,用于截獲塊設(shè)備的讀寫I/O請求包,從請求包中獲取讀寫的信息,并 將這些信息保存到一個I/O Trace緩沖池中;Trace后臺回寫模塊,將I/O Trace緩沖池中的信息寫入Trace日志文件,并且將I/O Trace緩沖池中的信息通過網(wǎng)絡(luò)寫回到所述I/OTrace收集與重放控制單元;網(wǎng)絡(luò)通信模塊,用于與所述I/O Trace收集與重放控制單元通過網(wǎng)絡(luò)進(jìn)行通信。
(3) I/O Trace 重放單元,包括文件I/O重放模塊,完成文件I/O重放的具體動作; 塊I/O重放模塊,完成塊I/O重放的具體動作;Trace分析器模塊,讀取Trace文件,分析Trace的格式,將需要的信息組織成I/O請求9數(shù)據(jù)結(jié)構(gòu),然后發(fā)給時間尺度調(diào)整模塊;時間尺度調(diào)整模塊,用于按照用戶設(shè)置的策略對收到的I/O請求數(shù)據(jù)結(jié)構(gòu)進(jìn)行重新調(diào) 整,最后交給Trace重放模塊;Trace重放模塊,用于根據(jù)Trace的類型來發(fā)給操作系統(tǒng)調(diào)用對應(yīng)的I/O重放模塊的指令;性能統(tǒng)計模塊,根據(jù)"Trace重放模塊的反饋信息,統(tǒng)計"Trace的性能并給出報告;Trace重放控制臺模塊,提供用戶進(jìn)行操作控制使用;網(wǎng)絡(luò)通信模塊,用于與所述I/O Trace收集與回放總控制單元進(jìn)行通信。
所述"Trace重放模塊中Trace的類型包括文件iTrace和塊Trace,對應(yīng)的I/O重放 模塊為文件I/O重放模塊和塊I/O重放模塊。
上述分布式環(huán)境下實現(xiàn)I/OTrace收集回放的系統(tǒng)的工作過程如下(1)用戶通過用戶界面模塊對系統(tǒng)全局和單個節(jié)點進(jìn)行統(tǒng)一配置和管理;(2)由導(dǎo)入腳本模塊讀入指定的Trace任務(wù)腳本,由腳本分析模塊分析所述Trace任務(wù) 腳本中的任務(wù),生成Trace任務(wù);(3)根據(jù)所述腳本分析模塊中的所述Trace任務(wù)或者根據(jù)用戶界面接收到的命令,所 述Trace任務(wù)調(diào)度模塊對采集代理模塊、導(dǎo)入Trace模塊、生成Trace模塊、重放代理模塊、 性能分析模塊進(jìn)行調(diào)度,完成相關(guān)任務(wù)。
下面針對Trace任務(wù)調(diào)度模塊調(diào)度不同的任務(wù)來給出其相應(yīng)的過程1、Trace任務(wù)調(diào)度模塊對采集代理模塊的調(diào)用過程如下接收Trace資源管理模塊和 Trace任務(wù)調(diào)度模塊的命令,調(diào)用指定的遠(yuǎn)程的Trace采集工具,通過網(wǎng)絡(luò)通信模塊發(fā)給遠(yuǎn) 程的所述Trace采集單元,并接收來自網(wǎng)絡(luò)的反饋后再發(fā)給上層調(diào)用者。
所述Trace采集單元的工作過程如下若Trace采集控制模塊發(fā)出收集文件I/OTrace的命令,過程如下(1)Trace采集控制模塊發(fā)出收集文件I/OTrace的命令(2)文件I/O采集模塊截獲文件系統(tǒng)對文件的讀寫I/O請求包,從請求包中獲取讀寫的 信息,并將這些信息保存到一個I/O Trace緩沖池中模塊中;(3)TraCe后臺回寫模塊根據(jù)預(yù)定策略將I/OTrace緩沖池中的信息寫入Trace日志文 件,并將I/O Trace緩沖池中的信息通過網(wǎng)絡(luò)寫回到所述I/OTrace收集與重放控制單元;若Trace采集控制模塊發(fā)出收集塊I/OTrace的命令,過程如下(1)Trace采集控制模塊發(fā)出收集塊I/OTrace的命令(2)塊I/O采集模塊截獲塊設(shè)備層的I/O請求包,并發(fā)到I/OTrace緩沖池中;(3)TraCe后臺回寫模塊根據(jù)預(yù)定策略,將I/OTrace緩沖池中的信息寫入Trace日 志文件,并將I/O Trace緩沖池中的信息通過網(wǎng)絡(luò)寫回到所述I/OTrace收集與重放控制單兀。
2、所述Trace任務(wù)調(diào)度模塊對導(dǎo)入Trace模塊、生成Trace模塊進(jìn)行調(diào)用,讀入并 分析所述Trace任務(wù),將獲取的Trace任務(wù)記錄按指定格式輸出到文件。
3、所述Trace任務(wù)調(diào)度模塊對重放代理模塊的調(diào)用過程如下接收Trace資源管 理模塊和Trace任務(wù)調(diào)度模塊的命令,調(diào)用指定的遠(yuǎn)程的Trace重放工具,通過網(wǎng)絡(luò)通信模 塊發(fā)給遠(yuǎn)程的所述Trace重放單元,收到來自網(wǎng)絡(luò)的反饋后再發(fā)給上層調(diào)用者。
所述Trace重放單元的過程如下(a)所述Trace重放控制臺模塊發(fā)出的命令為重放文件I/O Trace時, 步驟1 所述Trace重放控制臺模塊發(fā)出重放文件I/O Trace的命令; 步驟2 所述Trace分析器模塊根據(jù)所述Trace重放控制臺命令從所述I/OTrace收集 與重放控制單元獲取指定的Trace記錄并進(jìn)行分析,構(gòu)造相應(yīng)的I/O請求包,發(fā)到時間尺度 調(diào)整模塊;步驟3 時間尺度調(diào)整模塊根據(jù)用戶指令對I/O請求包的時間尺度進(jìn)行調(diào)整,調(diào)整后的 請求包發(fā)送到Trace重放模塊;步驟4 所述Trace重放模塊根據(jù)I/O請求包的類型,將其發(fā)至文件I/O重放模塊; 步驟5 文件I/O重放模塊將I/O請求包發(fā)給文件系統(tǒng)的相應(yīng)模塊; 步驟6 性能統(tǒng)計模塊根據(jù)Trace重放模塊的反饋信息,統(tǒng)計Trace的性能并給出性能 統(tǒng)計表。
(b)所述Trace重放控制臺模塊發(fā)出的命令為重放塊I/O Trace時; 步驟1 所述Trace重放控制臺模塊發(fā)出重放文件I/O Trace的命令;步驟2 所述Trace分析器模塊根據(jù)所述Trace重放控制臺命令從所述I/OTrace收集 與重放控制單元獲取指定的Trace記錄并進(jìn)行分析,構(gòu)造相應(yīng)的I/O請求包,發(fā)到時間尺度 調(diào)整模塊;步驟3 時間尺度調(diào)整模塊根據(jù)用戶指令對I/O請求包的時間尺度進(jìn)行調(diào)整,調(diào)整后的 請求包發(fā)送到Trace重放模塊;步驟4 所述Trace重放模塊根據(jù)I/O請求包的類型,將其發(fā)至文件I/O重放模塊; 步驟5 文件I/O重放模塊將I/O請求包發(fā)給文件系統(tǒng)的相應(yīng)模塊; 步驟6 性能統(tǒng)計模塊根據(jù)Trace重放模塊的反饋信息,統(tǒng)計Trace的性能并給出性能 統(tǒng)計表。
4、所述Trace任務(wù)調(diào)度模塊對性能分析模塊進(jìn)行調(diào)用,對各節(jié)點的性能統(tǒng)計模塊 反饋上來的性能統(tǒng)計表進(jìn)行分析整理,生成性能報告。
顯然,上述實施例僅是為清楚地說明所作的舉例,并非對實施方式的限定。對于 所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變 動。這里無需也無法對所有的實施方式予以窮舉。而由此所引伸出的顯而易見的變化或變 動仍處于本發(fā)明創(chuàng)造的保護(hù)范圍之中。1權(quán)利要求
1. 一種分布式環(huán)境下實現(xiàn)I/OTrace收集回放的系統(tǒng),其特征在于,包括1/0 Trace收 集與重放控制單元、I/O Trace采集單元、I/O Trace重放單元;所述I/O Trace收集與重 放控制單元工作在服務(wù)器端,所述I/O Trace采集單元和所述I/O Trace重放單元工作在 客戶端,(1)I/O Trace收集與重放控制單元,包括用戶界面模塊,提供針對整個系統(tǒng)的全局和單個節(jié)點的統(tǒng)一配置管理界面,方便用戶 集中管理Trace的采集與重放;網(wǎng)絡(luò)通信模塊,通過網(wǎng)絡(luò)與分布式系統(tǒng)中的I/OTrace采集單元和I/OTrace重放單元 進(jìn)行通信;導(dǎo)入腳本模塊,用于讀入指定的Trace任務(wù)腳本;腳本分析模塊,分析讀入的所述Trace任務(wù)腳本中的任務(wù),生成Trace任務(wù); 導(dǎo)入Trace模塊,讀入并分析所述Trace任務(wù);生成Trace模塊,將所述導(dǎo)入Trace模塊獲取的Trace任務(wù)按指定格式輸出到文件; Trace任務(wù)調(diào)度模塊,根據(jù)所述腳本分析模塊中的所述Trace任務(wù)或者根據(jù)用戶界面 接收到的命令,對采集代理模塊、重放代理模塊、導(dǎo)入Trace模塊、生成Trace模塊、性能分 析模塊進(jìn)行調(diào)度,完成相關(guān)任務(wù);Trace資源管理模塊,用于對系統(tǒng)中所有Trace收集與重放工具進(jìn)行管理,方便Trace 任務(wù)調(diào)度模塊對Trace工具的遠(yuǎn)程調(diào)度;性能分析模塊,對各節(jié)點反饋上來的性能報告進(jìn)行分析整理,生成性能報告; 采集代理模塊,接收Trace資源管理模塊和Trace任務(wù)調(diào)度模塊的命令,調(diào)用指定的遠(yuǎn) 程的Trace采集工具,通過網(wǎng)絡(luò)通信模塊發(fā)給遠(yuǎn)程的所述Trace采集單元,并接收來自網(wǎng)絡(luò) 的反饋后再發(fā)給上層調(diào)用者;重放代理模塊,接收Trace資源管理模塊和Trace任務(wù)調(diào)度模塊的命令,調(diào)用指定的 遠(yuǎn)程的Trace重放工具,通過網(wǎng)絡(luò)通信模塊發(fā)給遠(yuǎn)程的所述Trace重放單元,收到來自網(wǎng)絡(luò) 的反饋后再發(fā)給上層調(diào)用者;(2)I/O Trace采集單元,包括Trace采集控制模塊,為用戶配置管理所述I/O Trace采集單元提供接口 ; I/O Trace緩沖池模塊,用于緩存I/O Trace的請求;文件I/O采集模塊,用于截獲文件系統(tǒng)對文件的讀寫I/O請求包,從請求包中獲取讀寫 的信息,并將這些信息保存到一個I/O Trace緩沖池中;塊I/O采集模塊,用于截獲塊設(shè)備的讀寫I/O請求包,從請求包中獲取讀寫的信息,并 將這些信息保存到一個I/O Trace緩沖池中;Trace后臺回寫模塊,將I/O Trace緩沖池中的信息寫入Trace日志文件,并且將I/O Trace緩沖池中的信息通過網(wǎng)絡(luò)寫回到所述I/OTrace收集與重放控制單元;網(wǎng)絡(luò)通信模塊,用于與所述I/O Trace收集與重放控制單元通過網(wǎng)絡(luò)進(jìn)行通信;(3)I/O Trace重放單元,包括文件I/O重放模塊,完成文件I/O重放的具體動作; 塊I/O重放模塊,完成塊I/O重放的具體動作;Trace分析器模塊,讀取Trace文件,分析Trace的格式,將需要的信息組織成I/O請求數(shù)據(jù)結(jié)構(gòu),然后發(fā)給時間尺度調(diào)整模塊;時間尺度調(diào)整模塊,用于按照用戶設(shè)置的策略對收到的I/O請求數(shù)據(jù)結(jié)構(gòu)進(jìn)行重新調(diào) 整,最后交給Trace重放模塊;Trace重放模塊,用于根據(jù)Trace的類型來發(fā)給操作系統(tǒng)調(diào)用對應(yīng)的I/O重放模塊的指令;性能統(tǒng)計模塊,根據(jù)"Trace重放模塊的反饋信息,統(tǒng)計"Trace的性能并給出報告;Trace重放控制臺模塊,提供用戶進(jìn)行操作控制使用;網(wǎng)絡(luò)通信模塊,用于與所述I/O Trace收集與回放總控制單元進(jìn)行通信。
2.根據(jù)權(quán)利要求1所述的分布式環(huán)境下實現(xiàn)I/OTrace收集回放的系統(tǒng),其特征在于, 所述Trace重放模塊中Trace的類型包括文件Trace和塊"Trace,對應(yīng)的I/O重放模塊為文 件I/O重放模塊和塊I/O重放模塊。
3.一種使用權(quán)利要求1-2的分布式環(huán)境下實現(xiàn)I/OTrace收集回放的系統(tǒng)的方法,其特 征在于,包括如下步驟(1)用戶通過用戶界面模塊對系統(tǒng)全局和單個節(jié)點進(jìn)行統(tǒng)一配置和管理;(2)由導(dǎo)入腳本模塊讀入指定的Trace任務(wù)腳本,由腳本分析模塊分析所述Trace任務(wù) 腳本中的任務(wù),生成Trace任務(wù);(3)根據(jù)所述腳本分析模塊中的所述Trace任務(wù)或者根據(jù)用戶界面接收到的命令,所 述Trace任務(wù)調(diào)度模塊對采集代理模塊、導(dǎo)入Trace模塊、生成Trace模塊、重放代理模塊、 性能分析模塊進(jìn)行調(diào)度,完成相關(guān)任務(wù)。
4.根據(jù)權(quán)利要求3所述的分布式環(huán)境下實現(xiàn)I/OTrace收集回放的方法,其特征在于 在所述步驟(3)中,Trace任務(wù)調(diào)度模塊對采集代理模塊的調(diào)用過程如下接收Trace資源 管理模塊和Trace任務(wù)調(diào)度模塊的命令,調(diào)用指定的遠(yuǎn)程的Trace采集工具,通過網(wǎng)絡(luò)通信 模塊發(fā)給遠(yuǎn)程的所述Trace采集單元,并接收來自網(wǎng)絡(luò)的反饋后再發(fā)給上層調(diào)用者。
5.根據(jù)權(quán)利要求3或4所述的分布式環(huán)境下實現(xiàn)I/OTrace收集回放的方法,其特征在 于所述Trace采集單元的工作過程如下若Trace采集控制模塊發(fā)出收集文件I/OTrace的命令,過程如下(1)Trace采集控制模塊發(fā)出收集文件I/OTrace的命令;(2)文件I/O采集模塊截獲文件系統(tǒng)對文件的讀寫I/O請求包,從請求包中獲取讀寫的 信息,并將這些信息保存到一個I/O Trace緩沖池中模塊中;(3)TraCe后臺回寫模塊根據(jù)預(yù)定策略將I/OTrace緩沖池中的信息寫入Trace日志文 件,并將I/O Trace緩沖池中的信息通過網(wǎng)絡(luò)寫回到所述I/OTrace收集與重放控制單元;若Trace采集控制模塊發(fā)出收集塊I/OTrace的命令,過程如下(1)Trace采集控制模塊發(fā)出收集塊I/OTrace的命令(2)塊I/O采集模塊截獲塊設(shè)備層的I/O請求包,并發(fā)到I/OTrace緩沖池中;(3)TraCe后臺回寫模塊根據(jù)預(yù)定策略,將I/OTrace緩沖池中的信息寫入Trace日 志文件,并將I/O Trace緩沖池中的信息通過網(wǎng)絡(luò)寫回到所述I/OTrace收集與重放控制單元。
6.根據(jù)權(quán)利要求5所述的分布式環(huán)境下實現(xiàn)I/OTrace收集回放的方法,其特征在于 在所述步驟(3)中,所述Trace任務(wù)調(diào)度模塊對重放代理模塊的調(diào)用過程如下接收Trace資源管理模塊和Trace任務(wù)調(diào)度模塊的命令,調(diào)用指定的遠(yuǎn)程的Trace重放工具,通過網(wǎng)絡(luò) 通信模塊發(fā)給遠(yuǎn)程的所述Trace重放單元,收到來自網(wǎng)絡(luò)的反饋后再發(fā)給上層調(diào)用者。
7.根據(jù)權(quán)利要求3或4或5或6所述的分布式環(huán)境下實現(xiàn)I/OTrace收集回放的方法, 其特征在于所述Trace重放單元的過程如下(a)所述Trace重放控制臺模塊發(fā)出的命令為重放文件I/OTrace時,步驟1 所述Trace重放控制臺模塊發(fā)出重放文件I/O Trace的命令;步驟2 所述Trace分析器模塊根據(jù)所述Trace重放控制臺命令從所述I/OTrace收集 與重放控制單元獲取指定的Trace記錄并進(jìn)行分析,構(gòu)造相應(yīng)的I/O請求包,發(fā)到時間尺度 調(diào)整模塊;步驟3 時間尺度調(diào)整模塊根據(jù)用戶指令對I/O請求包的時間尺度進(jìn)行調(diào)整,調(diào)整后的 請求包發(fā)送到Trace重放模塊;步驟4 所述Trace重放模塊根據(jù)I/O請求包的類型,將其發(fā)至文件I/O重放模塊;步驟5 文件I/O重放模塊將I/O請求包發(fā)給文件系統(tǒng)的相應(yīng)模塊;(b)所述Trace重放控制臺模塊發(fā)出的命令為重放塊I/OTrace時;步驟1 所述Trace重放控制臺模塊發(fā)出重放文件I/O Trace的命令;步驟2 所述Trace分析器模塊根據(jù)所述Trace重放控制臺命令從所述I/OTrace收集 與重放控制單元獲取指定的Trace記錄并進(jìn)行分析,構(gòu)造相應(yīng)的I/O請求包,發(fā)到時間尺度 調(diào)整模塊;步驟3 時間尺度調(diào)整模塊根據(jù)用戶指令對I/O請求包的時間尺度進(jìn)行調(diào)整,調(diào)整后的 請求包發(fā)送到Trace重放模塊;步驟4 所述Trace重放模塊根據(jù)I/O請求包的類型,將其發(fā)至文件I/O重放模塊;步驟5 文件I/O重放模塊將I/O請求包發(fā)給文件系統(tǒng)的相應(yīng)模塊。
8.根據(jù)權(quán)利要求3所述的分布式環(huán)境下實現(xiàn)I/OTrace收集回放的方法,其特征在于 在所述步驟(4)中,所述Trace任務(wù)調(diào)度模塊對導(dǎo)入Trace模塊、生成Trace模塊進(jìn)行調(diào)用, 讀入并分析所述Trace任務(wù),將獲取的Trace任務(wù)記錄按指定格式輸出到文件。
9.根據(jù)權(quán)利要求3或4或6或8所述的分布式環(huán)境下實現(xiàn)I/OTrace收集回放的方法, 其特征在于在所述步驟(3)中,所述Trace任務(wù)調(diào)度模塊對性能分析模塊進(jìn)行調(diào)用,對各 節(jié)點反饋上來的性能報告進(jìn)行分析整理,生成性能報告。
全文摘要
一種分布式環(huán)境下實現(xiàn)I/OTrace收集回放的系統(tǒng),包括I/OTrace收集與重放控制單元、I/OTrace采集單元、I/OTrace重放單元;所述I/OTrace收集與重放控制單元主要是實現(xiàn)測試機(jī)節(jié)點的管理,所述I/OTrace采集單元和I/OTrace重放單元主要實現(xiàn)獲取主機(jī)信息向總控臺進(jìn)行注冊,接收總控臺的控制命令,執(zhí)行相應(yīng)的Trace收集與回放工作,解決了現(xiàn)有技術(shù)中I/O請求不可控,生成的Trace對存儲系統(tǒng)的評價不方便,從而提出一種可以I/O請求可控,便于存儲系統(tǒng)設(shè)計和評價的I/OTrace收集回放系統(tǒng)。
文檔編號G06F3/06GK102043594SQ201010618378
公開日2011年5月4日 申請日期2010年12月31日 優(yōu)先權(quán)日2010年12月31日
發(fā)明者萬繼光, 呂睿, 吳非, 譚志虎, 陳伯江, 陳維梁, 馬駿 申請人:中科海量存儲技術(shù)(北京)有限公司