亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        NTFS 文件系統(tǒng)空間回收方法的研究

        2014-12-02 01:12:10齊嬋穎李戰(zhàn)懷豐文雄張瑞杰
        計(jì)算機(jī)工程 2014年8期
        關(guān)鍵詞:空閑扇區(qū)閑置

        齊嬋穎,李戰(zhàn)懷,張 曉,豐文雄,張瑞杰

        (西北工業(yè)大學(xué)計(jì)算機(jī)學(xué)院,西安 710129)

        1 概述

        云存儲(chǔ)在工業(yè)和學(xué)術(shù)界一直是一個(gè)熱點(diǎn)[1]。虛擬化技術(shù)中的自動(dòng)精簡(jiǎn)配置技術(shù)已廣泛應(yīng)用于云存儲(chǔ)中來實(shí)現(xiàn)動(dòng)態(tài)資源分配功能[2]。該技術(shù)提供的是運(yùn)行時(shí)空間,可以顯著減少已分配但未使用的存儲(chǔ)空間。自動(dòng)精簡(jiǎn)配置擴(kuò)展了存儲(chǔ)管理功能,可以用較小的物理容量為操作系統(tǒng)提供超大容量的虛擬存儲(chǔ)空間[3]。然而該技術(shù)會(huì)造成在應(yīng)用釋放申請(qǐng)的空間后,存儲(chǔ)系統(tǒng)難以及時(shí)回收這些被釋放的空間,且存在回寫緩存造成的數(shù)據(jù)不一致問題。

        在SAN 環(huán)境下,若要存儲(chǔ)設(shè)備能有效回收主機(jī)文件系統(tǒng)所釋放的空間,則必須使存儲(chǔ)設(shè)備能感知主機(jī)文件系統(tǒng)對(duì)存儲(chǔ)空間的釋放行為。目前的主要文件系統(tǒng)在空間回收中均需要額外占用存儲(chǔ)資源,配合完成回收。

        針對(duì)空閑空間的回收問題,目前國(guó)內(nèi)外主要研究有如下3 類:(1)Flash 文件系統(tǒng)的研究與設(shè)計(jì)中提出一種碎片回收技術(shù),通過搬移那些狀態(tài)為OUTUSE 的塊,擦除狀態(tài)為INVALID 的塊來實(shí)現(xiàn)回收。該方法需要維護(hù)一張無效數(shù)據(jù)塊-正常使用塊對(duì)應(yīng)表,該表是項(xiàng)目數(shù)為保留塊數(shù)的一個(gè)數(shù)組[4]。這種方法需要額外的存儲(chǔ)空間,存儲(chǔ)效率較低。(2)垃圾回收:存儲(chǔ)設(shè)備在經(jīng)過一段時(shí)間的分配使用后,會(huì)出現(xiàn)空閑區(qū)和文件碎片,可能導(dǎo)致系統(tǒng)空間不夠用,JFFS2 文件系統(tǒng)采用建立內(nèi)核線程的方法來實(shí)現(xiàn)垃圾回收。首先重寫塊的全部數(shù)據(jù),然后再擦除整個(gè)塊[5]。JFFS2 是一種典型的日志文件系統(tǒng),以節(jié)點(diǎn)的方式管理整個(gè)文件系統(tǒng)上的數(shù)據(jù)。而NTFS通過簇位示圖存儲(chǔ)數(shù)據(jù),該方法不適合NTFS 文件系統(tǒng)。(3)文件的刪除和反刪除技術(shù):當(dāng)文件被用戶或應(yīng)用程序刪除時(shí),文件并沒有立即從HDFS 刪除掉,而是被臨時(shí)存入/trash 目錄中,存留一段可配置的時(shí)間長(zhǎng)度。在此時(shí)間過期前可以實(shí)現(xiàn)反刪除,恢復(fù)文件。當(dāng)預(yù)留時(shí)間結(jié)束,HDFS 會(huì)自動(dòng)釋放與該文件相關(guān)的數(shù)據(jù)塊,完成刪除操作[6]。這種方法需要額外的存儲(chǔ)空間,當(dāng)刪除大量文件時(shí),會(huì)耗費(fèi)較多的系統(tǒng)資源,而且很難對(duì)頻繁的刪除操作做出及時(shí)的響應(yīng)。

        上述方法都存在不同程度的弊端,在釋放空間前,都需要占用額外的空間。而本文提出的SAN 環(huán)境下基于NTFS 文件系統(tǒng)簇位示圖的空間智能回收方法,不需要占用額外的空間,可以實(shí)現(xiàn)實(shí)時(shí)的空間回收,極大提高存儲(chǔ)利用率。該技術(shù)無需對(duì)每臺(tái)應(yīng)用主機(jī)附加額外的功能;在存儲(chǔ)端實(shí)現(xiàn)空間回收不但可靠性較高,而且對(duì)應(yīng)用的影響較小。

        本文采用如下方法實(shí)現(xiàn)SAN 環(huán)境下NTFS 文件系統(tǒng)中空閑空間的回收:由存儲(chǔ)端識(shí)別主機(jī)文件系統(tǒng)類型,若為NTFS,則檢測(cè)關(guān)鍵區(qū)域元數(shù)據(jù),確定主機(jī)文件系統(tǒng)中的閑置存儲(chǔ)單元,根據(jù)映射關(guān)系確定其閑置的TP 頁數(shù)據(jù),系統(tǒng)在進(jìn)行數(shù)據(jù)一致性確認(rèn)之后,周期性地啟動(dòng)回收線程,進(jìn)行空閑空間的智能回收[7]。

        2 功能結(jié)構(gòu)和基本原理

        最基本的自動(dòng)精簡(jiǎn)配置按需分配給服務(wù)器的是資源池中的頁面而不是最初的存儲(chǔ)空間[8]。本文提出的ThinPro iSCSI Server 是一種具有自動(dòng)精簡(jiǎn)配置功能的存儲(chǔ)服務(wù)軟件。它通過容量虛擬和地址映射,可以實(shí)現(xiàn)基于一個(gè)較小容量的塊設(shè)備或文件系統(tǒng),對(duì)外提供多個(gè)可設(shè)置為較大容量的邏輯單元(LU)。

        ThinPro iSCSI Server 向外提供的服務(wù)是在配置文件中預(yù)先設(shè)置的,每一組磁盤服務(wù)稱為一個(gè)target(目標(biāo)端),ThinPro iSCSI Server 可以同時(shí)向外提供多個(gè)target 并分別設(shè)置不同的權(quán)限。Initiator(客戶端)為發(fā)起服務(wù)端,向目標(biāo)端target 發(fā)起iscsi 服務(wù)請(qǐng)求。圖1 為iSCSI 服務(wù)端向外提供磁盤服務(wù)的整體結(jié)構(gòu)示意圖。

        在傳統(tǒng)的iSCSI 服務(wù)端,磁盤服務(wù)分為磁盤加載模塊、容量虛擬模塊、設(shè)備虛擬模塊、地址映射模塊、容量擴(kuò)充模塊以及I/O Trace 模塊。本文對(duì)傳統(tǒng)服務(wù)端進(jìn)行改進(jìn),增加了空間回收模塊,使其具有對(duì)上層應(yīng)用不再使用的空閑存儲(chǔ)空間進(jìn)行回收的功能。

        圖1 iSCSI 整體結(jié)構(gòu)

        該空間回收機(jī)制使得存儲(chǔ)系統(tǒng)可以檢測(cè)到上層應(yīng)用所釋放的存儲(chǔ)空間,并解除與物理存儲(chǔ)空間的映射關(guān)系,從而使該空間可以被再次分配給任一應(yīng)用,降低了發(fā)生過量提交的可能[9],同時(shí)推遲了預(yù)警和擴(kuò)容的時(shí)間,提高了存儲(chǔ)利用率。空間回收模塊適時(shí)地配合其他模塊,組成一個(gè)有機(jī)體,使自動(dòng)精簡(jiǎn)配置向用戶提供一個(gè)有效、可用并具有較好性能的存儲(chǔ)服務(wù)。圖2 為ThinPro iSCSI Server 各個(gè)模塊間的關(guān)系。

        圖2 ThinPro iSCSI Server 內(nèi)部功能模塊

        3 NTFS 文件系統(tǒng)空閑空間檢測(cè)識(shí)別

        3.1 NTFS 文件系統(tǒng)識(shí)別

        主引導(dǎo)扇區(qū)MBR(Master Boot Record)是系統(tǒng)運(yùn)行時(shí)加載到內(nèi)存中的第一塊扇區(qū)[10]。在MBR 中每個(gè)分區(qū)記錄占用16 個(gè)字節(jié),MBR 中最多包含4 個(gè)分區(qū)的信息,而這4 個(gè)分區(qū)稱為主分區(qū);不在MBR 中的分區(qū)信息稱為擴(kuò)展分區(qū)。第一個(gè)擴(kuò)展分區(qū)的位置信息在MBR 中最后一個(gè)分區(qū)記錄中表示。

        NTFS 文件系統(tǒng)識(shí)別依據(jù)MBR 中每條分區(qū)記錄的第4 個(gè)字節(jié)內(nèi)容進(jìn)行判定。該條記錄可以識(shí)別出分區(qū)本身是文件系統(tǒng)類型(FAT 或者NTFS)或者分區(qū)是否為擴(kuò)展分區(qū)(即該記錄指向擴(kuò)展分區(qū)信息所在扇區(qū)),用同樣的方法也可識(shí)別出擴(kuò)展分區(qū)的文件系統(tǒng)類型。

        3.2 NTFS 文件系統(tǒng)簇位示圖的檢測(cè)識(shí)別

        當(dāng)用戶將硬盤的一個(gè)分區(qū)格式化為NTFS 分區(qū)時(shí),就建立了一個(gè)NTFS 文件系統(tǒng)結(jié)構(gòu)。NTFS 文件系統(tǒng)的元數(shù)據(jù)內(nèi)容保存在元文件$MFT(Master File Table 主文件表)中,指示了文件的關(guān)鍵屬性信息,甚至包括文件內(nèi)容。

        在NTFS 文件系統(tǒng)中,所有重要的元數(shù)據(jù)均以文件的形式存放,NTFS 文件系統(tǒng)的元數(shù)據(jù)結(jié)構(gòu)如圖3所示。

        圖3 NTFS 文件系統(tǒng)元數(shù)據(jù)結(jié)構(gòu)

        NTFS 文件系統(tǒng)是以簇為單位對(duì)磁盤空間和文件的存儲(chǔ)進(jìn)行管理。元文件$Bitmap(簇位示圖)描述了文件系統(tǒng)中簇的分配情況,在其數(shù)據(jù)屬性(80H屬性)中,以一個(gè)位代表一個(gè)簇是否被分配(0:未分配;1:已分配)。通過檢查$Bitmap 元文件中的所有位,可以得到該文件系統(tǒng)的空間使用情況。$Bitmap 元文件的讀取方法為:

        (1)確定NTFS 分區(qū)每個(gè)簇所占扇區(qū)數(shù),在DBR(主分區(qū)的引導(dǎo)扇區(qū))中0x0D(16 進(jìn)制偏移字節(jié))處,1 個(gè)字節(jié);每個(gè)扇區(qū)的字節(jié)數(shù)在DBR 中0x0B 處,2 個(gè)字節(jié)。

        (2)確定$MFT 的首簇:在DBR 中0x30 處,8 個(gè)字節(jié)。

        (3)計(jì)算$Bitmap 條目位置:將前2 步結(jié)果相乘得$MFT 首扇區(qū),加上12($MFT 為第0 個(gè)文件,$Bitmap 為第6 號(hào)文件,每個(gè)文件記錄一般占2 個(gè)扇區(qū))。

        (4)讀取$Bitmap 條目位置處2 個(gè)扇區(qū)。

        (5)從這2 個(gè)扇區(qū)0x30 處開始找80H 屬性:讀8 個(gè)字節(jié),前4 個(gè)為屬性,如果小于80 繼續(xù),后4 個(gè)為此屬性所占字節(jié)(若為0,直接后移),一直到找到80 屬性。30 屬性是文件名,正好確定此文件是否確定是$Bitmap。

        (6)從80 屬性開始處向后偏移0x40 字節(jié),此為本文件存放位置,其中,80H 屬性的第1 個(gè)未命名數(shù)據(jù)流也就是文件真正的數(shù)據(jù),由Run List(簇流表)記錄數(shù)據(jù)屬性,由Data Run(數(shù)據(jù)流)記錄其屬性體,即文件數(shù)據(jù)的具體地址。

        (7)此字節(jié)低4 位為簇?cái)?shù)字節(jié)數(shù),高4 位為首簇字節(jié)數(shù)[11]。

        (8)從Data Run 的下一個(gè)字節(jié)開始,依次提取出Data Run 所占用的簇?cái)?shù)和Data Run 的起始簇號(hào),分別計(jì)算出$Bitmap 的起始偏移地址和結(jié)束偏移地址。

        3.3 空閑TP 頁區(qū)間的檢測(cè)識(shí)別

        主文件表$MFT 記錄了包括$Bitmap 在內(nèi)所有文件的基本信息。讀取起始扇區(qū)數(shù)據(jù)可以定位$MFT,檢索$MFT 即可查出$Bitmap 的文件記錄,繼而定位$Bitmap 文件位置。檢測(cè)文件系統(tǒng)的所有閑置簇,把得到的所有閑置簇區(qū)間映射到TP 頁的地址空間,進(jìn)而計(jì)算出存儲(chǔ)系統(tǒng)中對(duì)應(yīng)的閑置TP 頁頁號(hào)。將Thin LUN(精簡(jiǎn)邏輯單元號(hào))從0 開始編址其地址空間,劃分為大小相等的TP 頁,TP 頁大小可以在配置文件中設(shè)置。每個(gè)邏輯單元都包含一個(gè)邏輯卷,該邏輯卷可以格式化為任意文件系統(tǒng)。在本文中,將其格式化為NTFS 文件系統(tǒng),將簇偏移地址設(shè)定為cluster_offset。

        通過實(shí)時(shí)監(jiān)控元文件$Bitmap,若發(fā)現(xiàn)連續(xù)全0區(qū)間,記錄其起始0 位為cluster_no,0 的個(gè)數(shù)為cluster_cnt。從而得到區(qū)間(cluster_no,cluster_cnt),即為NTFS 文件系統(tǒng)的一個(gè)空閑區(qū)間。磁盤加載模塊記錄了0 號(hào)簇的偏移地址以及簇大小,TP 頁大小是在配置文件中預(yù)先設(shè)置的,用N 號(hào)簇的偏移地址除以TP 頁大小就可以得到N 號(hào)簇對(duì)應(yīng)的物理TP 頁號(hào)。以此類推,用閑置簇區(qū)間可計(jì)算出對(duì)應(yīng)的嫌疑TP 頁物理區(qū)間。區(qū)間(clr_no,clr_cnt)對(duì)應(yīng)的候選起始TP 頁頁號(hào)Pstart及終止TP 頁頁號(hào)Pend計(jì)算分別為:

        通過計(jì)算,區(qū)間(cluster_no,cluster_cnt)對(duì)應(yīng)的可回收閑置TP 頁區(qū)間就是(Pstart,Pend– Pstart),即從Pstart頁號(hào)開始的連續(xù)(Pend–Pstart)個(gè)TP 頁。

        4 回收策略

        頻繁地檢測(cè)簇位示圖,會(huì)產(chǎn)生過多無用的I/O操作,影響系統(tǒng)性能。部分解決方案采用由存儲(chǔ)管理員指定一檢測(cè)周期,周期性地全盤檢測(cè)并回收閑置空間,以平衡回收效率和系統(tǒng)I/O 性能。然而,用戶應(yīng)用的數(shù)據(jù)訪問模式多種多樣且隨時(shí)間不斷變化,該方法難以針對(duì)每種應(yīng)用不同時(shí)刻的數(shù)據(jù)訪問模式及時(shí)地調(diào)整回收策略。

        本文優(yōu)化了上述回收策略:當(dāng)上層應(yīng)用對(duì)數(shù)據(jù)進(jìn)行操作時(shí),NTFS 文件系統(tǒng)會(huì)自動(dòng)修改其簇位示圖。因此,實(shí)時(shí)監(jiān)控$Bitmap 區(qū)域的數(shù)據(jù),計(jì)算出可能空閑的TP 頁區(qū)間,存入檢測(cè)隊(duì)列??紤]到緩存的存在,對(duì)嫌疑TP 頁區(qū)間要進(jìn)行再次確認(rèn),在適當(dāng)時(shí)機(jī)回收確定的空閑區(qū)間,對(duì)應(yīng)基本處理流程如圖4所示。

        圖4 系統(tǒng)I/O 處理基本流程

        本文采取的回收觸發(fā)條件為:若檢測(cè)隊(duì)列中存在可能閑置的TP 頁區(qū)間則觸發(fā)回收。

        5 數(shù)據(jù)一致性

        5.1 緩存一致性問題

        常用cache 算法有回寫和透寫2 種[12]。其中,透寫緩存必須修改所有存在的數(shù)據(jù)實(shí)例,或者保證丟棄所有原數(shù)據(jù)的拷貝;而回寫緩存一旦數(shù)據(jù)寫到緩存中,就會(huì)發(fā)送寫請(qǐng)求已完成信號(hào),而把數(shù)據(jù)寫到非易失性存儲(chǔ)介質(zhì)上的實(shí)際操作將會(huì)延遲進(jìn)行。

        為了給應(yīng)用提供更快的響應(yīng),文件系統(tǒng)對(duì)其元數(shù)據(jù)和文件實(shí)體數(shù)據(jù)I/O 均采用回寫緩存機(jī)制,這樣可以有效提高系統(tǒng)性能,但卻造成了潛在的數(shù)據(jù)丟失問題。SAN 環(huán)境下,存儲(chǔ)設(shè)備無法感知到用戶主機(jī)緩存的存在,在存儲(chǔ)端直接讀取的用戶數(shù)據(jù)可能是過時(shí)的數(shù)據(jù),不能反映主機(jī)文件系統(tǒng)的最新空間使用情況。由于主機(jī)緩存所造成的數(shù)據(jù)一致性問題,使得系統(tǒng)在存儲(chǔ)端很難根據(jù)讀取的文件系統(tǒng)元數(shù)據(jù)有效識(shí)別閑置空間。因?yàn)樵诖鎯?chǔ)端看到的閑置空間很可能在主機(jī)的緩存中已經(jīng)被標(biāo)識(shí)為已分配。此時(shí),若貿(mào)然進(jìn)行回收操作,很可能會(huì)破壞新寫入的數(shù)據(jù),造成嚴(yán)重后果。

        5.2 數(shù)據(jù)一致性確認(rèn)方法

        為了避免緩存機(jī)制造成的數(shù)據(jù)不一致問題,需要在空間回收前再次確認(rèn)數(shù)據(jù)一致性,基本流程如圖5 所示。

        圖5 回收線程中數(shù)據(jù)一致性確認(rèn)基本流程

        在任意時(shí)刻,當(dāng)檢測(cè)隊(duì)列中有待檢測(cè)區(qū)間時(shí),按順序取出檢測(cè)區(qū)間。先計(jì)算出當(dāng)前檢測(cè)區(qū)間A 對(duì)應(yīng)的嫌疑TP 頁區(qū)間B,若該嫌疑區(qū)間為空集,則順序?qū)ο乱粰z測(cè)區(qū)間進(jìn)行操作。否則,延遲時(shí)間T,計(jì)算與之前區(qū)間A 相關(guān)的區(qū)間A1 對(duì)應(yīng)的嫌疑TP 頁區(qū)間B1,若不為空集,且區(qū)間(B∩B1)不為空集,則區(qū)間(B∩B1)對(duì)應(yīng)的TP 頁確定可以回收,且更新檢測(cè)隊(duì)列。否則,說明該區(qū)域已經(jīng)被再次操作。此時(shí),查看檢測(cè)隊(duì)列中是否還有區(qū)間,繼續(xù)如上操作。

        在滿足回收觸發(fā)條件之后,系統(tǒng)喚醒回收線程?;厥站€程讀取檢測(cè)隊(duì)列中的待檢測(cè)區(qū)間,針對(duì)待處理的當(dāng)前區(qū)間進(jìn)行閑置空間的判定。若其滿足閑置空間的條件,則使用上述方法進(jìn)行數(shù)據(jù)一致性確認(rèn):讀取寫I/O 區(qū)間表計(jì)算其與當(dāng)前區(qū)間的交集區(qū)間,當(dāng)前區(qū)間中不在此交集區(qū)間的TP 頁確認(rèn)為當(dāng)前閑置的區(qū)間,可進(jìn)行回收,否則執(zhí)行延遲確認(rèn)。其中,延遲的數(shù)據(jù)一致性通過Linux 動(dòng)態(tài)定時(shí)器觸發(fā)延遲確認(rèn),確認(rèn)過程由系統(tǒng)工作隊(duì)列的event 線程執(zhí)行。

        6 實(shí)驗(yàn)與分析

        6.1 實(shí)驗(yàn)環(huán)境

        針對(duì)本文所述的NTFS 文件系統(tǒng)中基于簇位示圖的空間回收方法,擴(kuò)展了一個(gè)Linux 內(nèi)核模塊,應(yīng)用自動(dòng)精簡(jiǎn)配置技術(shù),實(shí)現(xiàn)了基于iSCSI 協(xié)議的存儲(chǔ)服務(wù),針對(duì)NTFS 文件系統(tǒng)的空間進(jìn)行了檢測(cè),并實(shí)現(xiàn)了自動(dòng)回收。拓?fù)浣Y(jié)構(gòu)如圖6 所示。實(shí)驗(yàn)平臺(tái)如表1 所示。

        圖6 軟件應(yīng)用平臺(tái)拓?fù)涫疽鈭D

        表1 實(shí)驗(yàn)環(huán)境說明

        下面,首先判斷文件系統(tǒng)類型,然后測(cè)試緩存一致性,其次測(cè)試空間回收效率,最后測(cè)試I/O 性能,并探討其間的關(guān)系。

        6.2 NTFS 文件系統(tǒng)的判斷

        文件系統(tǒng)類型有多種,NTFS 文件系統(tǒng)因其諸多優(yōu)點(diǎn)而被廣泛使用。本文主要針對(duì)NTFS 文件系統(tǒng)做研究。首先測(cè)試文件系統(tǒng)類型是否為NTFS,若為NTFS,則進(jìn)一步實(shí)現(xiàn)回收,若不是NTFS,則不做處理。

        設(shè)定虛擬磁盤容量為2 TB,啟動(dòng)iSCSI 服務(wù)后,當(dāng)磁盤未初始化時(shí),程序提示信息:The disc has not been initialized!當(dāng)初始化完成,格式化為NTFS 文件系統(tǒng)類型,此時(shí),程序會(huì)加載MBR,識(shí)別NTFS 文件系統(tǒng),并記錄其相關(guān)信息,留待空間回收模塊使用。用磁盤管理查看到測(cè)試結(jié)果,如圖7 所示。

        圖7 NTFS 文件系統(tǒng)類型識(shí)別

        6.3 一致性測(cè)試緩存

        由于主機(jī)緩存造成的數(shù)據(jù)一致性問題,使得系統(tǒng)在存儲(chǔ)端很難根據(jù)讀取的文件系統(tǒng)元數(shù)據(jù)有效識(shí)別閑置空間。

        以NTFS 文件系統(tǒng)為例,在寫入文件和刪除文件時(shí),對(duì)$Bitmap 數(shù)據(jù)的修改往往會(huì)遲于部分文件實(shí)體數(shù)據(jù)或目錄文件的修改。表2 反映了這種延遲現(xiàn)象,針對(duì)Windows 平臺(tái)下NTFS 文件系統(tǒng)3.1 版本,隨機(jī)測(cè)試在寫入和刪除不同大小的文件時(shí)修改磁盤$Bitmap 操作的延遲時(shí)間td,其中該邏輯卷容量為1.1 GB,簇容量為1 024 B。

        表2 NTFS 文件系統(tǒng)磁盤$Bitmap 修改延遲時(shí)間測(cè)試結(jié)果

        可以看出,由于文件系統(tǒng)的回寫緩存機(jī)制,使得在寫入較小的文件時(shí),$Bitmap 元數(shù)據(jù)緩存刷新的延遲時(shí)間反而較大;而刪除文件時(shí),無論文件大小,文件系統(tǒng)寫入的數(shù)據(jù)量基本一致,因此,延遲時(shí)間相差不大。

        這種由于緩存機(jī)制造成的數(shù)據(jù)不一致,其實(shí)質(zhì)是指示空間分配狀況的元數(shù)據(jù)所反映的存儲(chǔ)空間使用情況,與當(dāng)前實(shí)際的空間使用情況不同,未能反映最新空間分配狀態(tài)。

        在NTFS 文件系統(tǒng)中,設(shè)T 時(shí)刻系統(tǒng)檢測(cè)存儲(chǔ)端元文件$Bitmap 發(fā)現(xiàn)閑置區(qū)間A1,這只是在主機(jī)端$Bitmap 緩存數(shù)據(jù)最近一次沖洗到存儲(chǔ)端之后的空間分配狀態(tài);設(shè)此緩存沖洗時(shí)刻為T1,其中T1 <T。若在時(shí)刻T2(T1 <T2 <T)主機(jī)端寫入文件數(shù)據(jù)并分配對(duì)應(yīng)存儲(chǔ)區(qū)間A2 且A1∩A2≠φ,則在時(shí)刻T發(fā)現(xiàn)的閑置區(qū)間A1 實(shí)際上是過時(shí)的。對(duì)區(qū)間A1 的回收會(huì)導(dǎo)致已經(jīng)寫入的文件數(shù)據(jù)丟失,造成嚴(yán)重后果。

        由此可見,緩存機(jī)制確實(shí)造成了數(shù)據(jù)不一致。因此,在回收過程中,維護(hù)一個(gè)寫I/O 區(qū)間表,來保證數(shù)據(jù)的一致性非常必要。

        6.4 空間回收效率測(cè)試

        文件系統(tǒng)的空間回收效率可以用其空間使用量來衡量。分別在配置文件中更改TP 頁大小,對(duì)系統(tǒng)的空間使用量進(jìn)行測(cè)試,進(jìn)而探測(cè)其空間回收效率。

        測(cè)試條件:隨機(jī)生成文件的大小范圍為4 KB~1 MB,寫入的文件總數(shù)為200 個(gè),總的大小為110 889 427 B。

        在測(cè)試客戶主機(jī)1 上掛載測(cè)試服務(wù)器所提供的Thin LUN(可視容量設(shè)定為2 TB),將其格式化為一個(gè)NTFS 文件系統(tǒng),記錄此時(shí)該Thin LUN 的空間使用量,即為元數(shù)據(jù)操作空間使用量(圖中格式化對(duì)應(yīng)數(shù)據(jù)值);然后將200 個(gè)測(cè)試文件寫入該邏輯卷并記錄其空間使用量(寫入數(shù)據(jù));接著刪除全部測(cè)試文件,記錄此時(shí)的使用量(刪除數(shù)據(jù))。

        圖8 反映了文件系統(tǒng)操作各階段的空間使用量,圖9 為回收效率測(cè)試曲線。

        從圖8 可以看出,在設(shè)定存儲(chǔ)設(shè)備和I/O 操作時(shí),TP 頁容量決定了系統(tǒng)的空間使用量和空間回收效率。當(dāng)設(shè)定較小的TP 頁時(shí),可以回收更多的空閑空間,實(shí)現(xiàn)更高效的存儲(chǔ)利用率。

        圖8 Thin LUN 空間使用量測(cè)試結(jié)果

        從圖9 看出,當(dāng)TP 頁大小設(shè)置在KB 級(jí)時(shí),回收效率可達(dá)90%以上。當(dāng)TP 頁大小設(shè)置為16 MB時(shí),回收效率下降比預(yù)期緩慢,是因?yàn)榛厥招矢喾N因素有關(guān),本次實(shí)驗(yàn)中,部分空閑元數(shù)據(jù)區(qū)域跟寫入文件正好在同一空閑TP 頁中,恰好被回收了。

        圖9 Thin LUN 空間回收效率測(cè)試結(jié)果

        可以看出,針對(duì)傳統(tǒng)空間回收方法會(huì)額外占用系統(tǒng)資源的問題,本文提出的基于簇位示圖的空間回收方法較好地實(shí)現(xiàn)了空閑空間的自動(dòng)檢測(cè)和智能回收,可以滿足頻繁操作對(duì)存儲(chǔ)空間的需求,極大提高了存儲(chǔ)利用率。與傳統(tǒng)回收方法相比,針對(duì)頻繁的寫入操作,本算法節(jié)省了額外的開銷,具有更高效的存儲(chǔ)利用率。

        6.5 I/O 性能測(cè)試

        添加回收功能后,當(dāng)用戶進(jìn)行每次I/O 操作時(shí),系統(tǒng)都需要使用支持自動(dòng)精簡(jiǎn)配置的元數(shù)據(jù),由此進(jìn)行頻繁的讀取和寫入,這樣會(huì)導(dǎo)致I/O 瓶頸,在提高存儲(chǔ)利用率的同時(shí),降低了I/O 性能。在測(cè)試客戶主機(jī)2 上使用Iometer 對(duì)目標(biāo)系統(tǒng)中Thin LUN 的I/O 吞吐量進(jìn)行測(cè)試。其中,Thin LUN 的可視容量設(shè)定為2 TB;根據(jù)文獻(xiàn)[13]中對(duì)文件存取模式的分析,設(shè)定Iometer 的讀操作所占比例為79%。

        圖10 顯示了當(dāng)傳輸塊大小為4 KB 時(shí),隨機(jī)I/O與順序I/O 的吞吐量。從圖中可以看出,當(dāng)塊傳輸大小確定后,順序I/O 吞吐量大于隨機(jī)I/O。在順序工作負(fù)載模式下,TP 頁大小對(duì)I/O 吞吐量影響不大,在隨機(jī)工作負(fù)載模式下,TP 頁大小對(duì)I/O 吞吐量的影響比較明顯。

        圖10 隨機(jī)I/O 與順序I/O 比較

        圖11 顯示了在隨機(jī)工作負(fù)載模式下,當(dāng)塊傳輸大小分為設(shè)置為16 KB、256 KB、1 MB 及16 MB 時(shí),I/O 吞吐量在不同TP 頁下的變化。

        圖11 I/O 性能測(cè)試

        從圖11 可以看出,當(dāng)TP 頁大小設(shè)定時(shí),傳輸塊大小越大,I/O 吞吐量越大。此外,TP 頁大小對(duì)I/O性能也有一定的影響。TP 頁越小,回收效率越高,但吞吐量不一定最大。因此,回收效率的提升對(duì)I/O性能有一定的影響。

        7 結(jié)束語

        本文采用自動(dòng)精簡(jiǎn)配置技術(shù)實(shí)現(xiàn)了存儲(chǔ)資源的按需分配。針對(duì)NTFS 文件系統(tǒng),提出了一種新的基于簇位示圖的空閑空間智能回收方法,解決了傳統(tǒng)空間回收方法需要占用額外系統(tǒng)資源的問題。同時(shí),針對(duì)回寫緩存,給出了數(shù)據(jù)一致性判斷方法,確?;厥湛臻g的準(zhǔn)確性。經(jīng)實(shí)驗(yàn)表明,本文方法可以解決緩存不一致的問題,實(shí)現(xiàn)對(duì)NTFS 文件系統(tǒng)的自動(dòng)識(shí)別和空閑空間的智能回收,有效推遲容量預(yù)警和在線擴(kuò)容的時(shí)間,極大提高了存儲(chǔ)利用率。然而,如何在空間利用率和系統(tǒng)性能之間做出平衡和優(yōu)化,需要進(jìn)行進(jìn)一步的實(shí)驗(yàn)和研究。

        [1]Kamara S,Lauter K.Cryptographic Cloud Storage[C]//Proc.of Conference on Financial Cryptography and Data Security.Berlin,Germany:Springer,2010:136-149.

        [2]Wang Lizhe,Laszewski G,Younge A,et al.Cloud Computing:A Perspective Study[J].New Generation Computing,2010,28(2):137-146.

        [3]Veprinsky A,Michael O F,Scharland M J.Data Deduplication Using Thin Provisioning:USA,7822939[P].2010-10-26.

        [4]沈建華,羅悅懌.Flash 文件系統(tǒng)的研究與設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用研究,2005,21(12):246-248.

        [5]王 健,馮思春,陳良柱.JFFS2 文件系統(tǒng)存儲(chǔ)策略研究[J].微計(jì)算機(jī)信息,2008,24(8):68-69,83.

        [6]朱 珠.基于Hadoop 的海量數(shù)據(jù)處理模型研究和應(yīng)用[D].北京:北京郵電大學(xué),2008.

        [7]Foskett S.Monitoring Filesystem Metadata for Thin Provisioning[EB/OL].(2011-01-03).http://blog.fosketts.net/ 2011/01/03/monitoring-filesystem-metadata-thin-provisioning.

        [8]Foskett S.Thin Provisioning in Depth[EB/OL].(2011-04-01).http://searchstorage.techtarget.com/magazine Content/Thin-provisioning-in-depth.

        [9]Hines M R.,Gordon A,Silva M,et al.Applications Know Best:Performance-driven Memory Overcommit with Ginkgo[C]//Proc.of the 3rd International Conference on Cloud Computing Technology and Science.[S.l.]:IEEE Press,2011:130-137.

        [10]Fraser C,Cotichini C,Nguyen T C.Security Apparatus and Method:USA,20120275572[P].2012-11-01.

        [11]劉 偉.數(shù)據(jù)恢復(fù)技術(shù)深度揭秘[M].北京:電子工業(yè)出版社,2010.

        [12]韓樸杰,康慕寧,張 曉.自動(dòng)精簡(jiǎn)配置技術(shù)中空間回收方法的研究[J].計(jì)算機(jī)與現(xiàn)代化,2012,(12):168-173.

        [13]Vogels W.File System Usage in Windows NT 4.0[C]//Proc.of the 17th ACM Symposium on Operating Systems Principles.[S.l.]:ACM Press,1999:93-109.

        猜你喜歡
        空閑扇區(qū)閑置
        恩賜
        詩選刊(2023年7期)2023-07-21 07:03:38
        數(shù)字化賦能閑置宅基地和閑置農(nóng)房盤活改革
        不做閑置主婦
        好日子(2022年3期)2022-06-01 06:22:20
        分階段調(diào)整增加扇區(qū)通行能力策略
        南北橋(2022年2期)2022-05-31 04:28:07
        “鳥”字謎
        小讀者之友(2019年9期)2019-09-10 07:22:44
        U盤故障排除經(jīng)驗(yàn)談
        彪悍的“寵”生,不需要解釋
        基于貝葉斯估計(jì)的短時(shí)空域扇區(qū)交通流量預(yù)測(cè)
        扶貧資金閑置浪費(fèi)誰之過?
        WLAN和LTE交通規(guī)則
        CHIP新電腦(2016年3期)2016-03-10 14:09:48
        18禁超污无遮挡无码免费游戏| 好看的日韩精品视频在线| 久久久久高潮综合影院| 久久国内精品自在自线图片 | 色哟哟精品中文字幕乱码| 亚洲av毛片在线免费看| 在线精品无码字幕无码av| 天天做天天爱天天综合网| 波多吉野一区二区三区av| 亚洲中文字幕一区二区在线| 欧美人与动性xxxxx杂性| 亚洲经典三级| 国产高清一级毛片在线看| 青青青爽在线视频免费播放| 国产精品办公室沙发| 国产成人无码精品午夜福利a | 国产精品乱码在线观看| 亚洲成a人片77777kkkkk| 论理视频二区三区四区在线观看| 中文字幕日本人妻久久久免费| 久久99国产乱子伦精品免费| 色人阁第四色视频合集网 | 风韵少妇性饥渴推油按摩视频| 少妇被躁爽到高潮无码文| 大伊香蕉精品视频一区| 99久久精品国产91| 人妻少妇中文字幕乱码| 亚洲无毛片| 少妇隔壁人妻中文字幕| 制服丝袜一区二区三区| 无码国产精品一区二区高潮| 国产成年无码久久久免费| 侵犯了美丽丰满人妻中文字幕| 精品无码无人网站免费视频| 9191在线亚洲精品| 亚洲成人免费久久av| 欧美奶涨边摸边做爰视频| 国产精品va在线播放我和闺蜜| 国产 无码 日韩| 粉嫩国产av一区二区三区| 在线综合亚洲欧洲综合网站 |