本發明專利技術屬于網絡存儲技術領域,公開了一種按需分配增量卷的創建方法。該卷采用兩層卷的結構,實現了物理空間與邏輯空間的分離。具體創建方法包括:用戶態接口是在邏輯卷管理器LVM用戶態命令lvcreate中參加了一個新的參數(N)。底層的實卷是普通的邏輯卷,上層的虛卷是Linux內核中的一個數據結構。實卷的物理空間按照實際需求進行分配,提高了磁盤空間利用率。實卷物理空間的實時監控和實際空間的自動擴容有效避免了空間的溢出。用戶可以根據需要任意指定擴容增量大小進行虛卷的擴容。該卷采用追加寫的方式處理寫請求。此外,該卷采用了一種快速有效的垃圾回收算法處理垃圾碎片。
【技術實現步驟摘要】
本專利技術屬于網絡存儲
技術介紹
隨著信息技術的發展,企業或個人對信息存儲容量的需求在日益增長,磁盤的容 量越來越大,在滿足人們對存儲空間的需求的同時如何合理利用這些空間也成了一個熱點 問題。研究表明,在目前的存儲系統中,容量的利用率都很低,以傳統磁盤存儲為例,考 慮到用戶數據的不斷增長,實際上平均40% —50%的磁盤容量從未被利用過,大量的、寶 貴的存儲資源被浪費掉了,沒有發揮應有的作用。同時為滿足系統性能和以后升級擴容等 方面的要求,客戶一般購買超過實際數據容量需求3-4倍的磁盤,用于磁盤鏡像等附加功 能,從而造成了存儲空間資源的極大浪費。這種現狀的主要原因是目前對存儲資源的分 配方法是靜態的,即按照用戶的估計(往往有很大余量),預先把存儲資源劃分成分區或卷, 而后以分區或卷為單位將存儲資源分配給用戶。在以后的使用過程中,分配給用戶的存儲 資源中會有很大一部分長期處于閑置狀態。更糟糕的是這些閑置的資源無法被其它用戶使 用,從而造成了存儲容量利用率低下的現象。按需分配的方法無疑可以提高磁盤空間的利用率,這種方法允許系統根據需求動 態地分配空間,閑置空間減少,磁盤空間得到了合理地利用從而避免了空間的浪費。如果能 夠采用動態的方法按需分配存儲資源,毫無疑問,將會極大地提高存儲資源的利用率,從而 在不增加成本的情況下增加存儲系統的容量。
技術實現思路
本專利技術的目的是解決當前磁盤空間利用率低下的問題,提供一種實際空間動態分 配的按需分配增量卷的創建方法,并進而可以作為一個平臺,在其上展開多種應用。本專利技術提出了一種按需分配增量卷AoDI (Allocation-On-Demand Incremental Volume),這種卷采用兩層卷的結構,即虛卷與實卷,虛卷大小與實卷大小相分離,實現了按 需分配的機制,有效地提高了磁盤的空間利用率。本專利技術提供的一種按需分配卷的創建方法,包括第1、按需分配增量卷創建的用戶態接口 在邏輯卷管理器LVM (Logical Volume Management)用戶態的命令Ivcreate里增加了新的參數N,用于表示建立的是按需分配增里卷;第2、按需分配增量卷創建的過程首先創建一個普通的邏輯卷LV(Logical Volume), 以該卷為實卷,再在該普通邏輯卷上創建一個虛卷,形成兩層卷的結構。上層的虛卷是 Linux內核中的一個數據結構,并不占用實際磁盤空間。虛卷的大小即為用戶指定的大小, 實卷的初始大小小于虛卷;第3、實卷的自動擴容在用戶使用的過程中,隨著用戶數據量的增多,物理空間的占用率逐漸提高,當物理空間占用率超過設定的閾值時,自動為實卷分配空間,滿足用戶更多 的存儲要求;第4、虛卷的擴容在用戶使用的過程中,可能會出現原計劃的虛卷空間大小不能滿足 實際需求的情況,此時,可以由用戶任意指定時間及擴容的大小,完成虛卷的擴容;第5、按需分配增量卷實卷的磁盤布局包括元數據區及數據區,元數據區包括超級 塊、初始化位圖、碎片位圖和Chunkmap ;第6、按需分配增量卷數據寫方法采用追加寫的方式完成; 第7、垃圾回收方法利用一個變量充當“計數器”,該變量的值隨無用數據塊的增加而增加,當無用的數據 塊達到預設的數量(比如1000)時,自動啟動垃圾回收,消除系統中的碎片。對欲進行清理的區域設置兩個指針,一個從頭向尾掃描,一個從尾向頭掃描,頭指 針負責找到第一個無效的塊,尾指針負責找到第一個有效的塊,一旦找到,將尾指針指向的 塊拷貝到頭指針指向的位置,如此重復操作,直到頭尾指針相遇時,則表明垃圾清理完成。第3步所述的實卷的自動擴容具體為第3. 1、對每個實卷都設有一個守護進程對其磁盤空間使用率進行監控; 第3. 2、磁盤空間使用率利用proc接口獲得,具體做法在/proc目錄下創建一個子目 錄snapproc,然后在該子目錄下創建文件full,記錄空間使用率;第3. 3、在完成一次寫操作后,當前數據區尾指針的位置即為空閑數據塊首的位置,根 據該位置與數據區空間的比值,就可以計算出空間使用率,因此,在每次寫操作后計算出空 間使用率并更新至文件full ;第3. 4、當空間使用率達到預設的閾值(比如80%)時,守護進程會啟動擴容進程,即利 用LVM用戶態命令lvextend。第4步所述的虛卷的擴容具體為采用索引數組的方式,將原有虛卷與新增部分有效地組織在一起;每次虛卷空間擴容, 只需將新增部分對應的元數據區首地址保存在該索引數組中即可,以此可以方便地管理分 散的元數據區。第5步中所述的實卷的磁盤布局中,超級塊負責保存設備號、快照次數和每個快 照的起始地址信息;初始化位圖用于加速初始化進程;碎片位圖用來進行碎片整理,回收 垃圾碎片;Chimkmap保存用戶地址到物理存儲空間的映射表;數據區部分用于存儲用戶的 數據。第6步所述的采用追加寫的方式完成數據寫的具體方法為實時記錄當前未被使用的扇區號,每次進行寫操作時,基地址加上記錄的扇區號,就是 真正的偏移量,由此實現追加寫。本專利技術的優點和有益效果本專利技術實現了一種實際空間動態分配的按需分配增量卷,該卷采用了兩層卷的結構, 包括虛卷和實卷,實現了虛卷大小和實卷大小相分離,對用戶可見的是上層的虛卷,而底層 的實卷的實際大小是按需分配的,提高了磁盤空間利用率。本專利技術創建的用戶態接口是在用戶態命令Ivcreate中參加了一個新的參數(N),改動很小,易于用戶接受。按需分配增量卷可以完成實卷實時監控和實際空間的自動擴容, 這種自動擴容技術較之手動擴容有效避免了空間的溢出。用戶可以根據需要進行虛卷的擴 容,且擴容增量的大小可以由用戶指定,具有很好的靈活性,極大地方便了用戶的使用。本專利技術采用追加寫代替傳統的覆蓋寫技術處理寫請求以此提高系統的性能,通過 推遲更新等元數據替換策略來減緩磁盤元數據訪問時的系統性能的下降,保證了數據不會 丟失且減少了尋道時間。利用初始化位圖來加速元數據初始化,并且采用了一種快速的垃 圾回收算法來處理碎片,垃圾的回收過程是自動完成的,可以快速整理卷中的碎片,清理垃 圾,有效地保證了數據的一致性。附圖說明圖1是按需分配增量卷兩層卷結構示意圖; 圖2是按需分配增量卷實卷自動擴容方法示意圖; 圖3是按需分配增量卷虛卷擴容示意圖4是按需分配增量卷磁盤布局; 圖5是按需分配增量卷內存映射及與硬盤交互示意圖; 圖6是按需分配增量卷追加寫方法示意圖; 圖7是按需分配增量卷處理讀請求的流程圖; 圖8是按需分配增量卷處理寫請求的流程圖。具體實施例方式為便于理解本專利技術的上述目的、特征和優點,下面結合附圖和具體實施方式對本 專利技術作進一步的詳細說明。參閱圖1,是按需分配增量卷的兩層卷結構示意圖。具體如下按需分配增量卷動態分配數據空間的過程對用戶來說是透明的,實卷空間占用與虛卷 空間大小是不等的。為此,提出了一種兩層卷的結構,即虛卷和實卷。對用戶可見的是虛 卷,它只是Linux內核中的一個數據結構,并不占用實際磁盤空間,負責將用戶地址轉換為 實卷地址。而實卷則是實際保存元數據和數據的底層卷。在按需分配增量卷創建的初始化階段,實卷分配的物理空間的規模小于虛卷的大 小。在用戶使用的過程中,隨著用戶的數據量的增多,物理空間的占用率逐漸提高。當物理 空間使本文檔來自技高網...
【技術保護點】
一種按需分配增量卷的創建方法,其特征在于所述的按需分配增量卷采用兩層卷的結構,即虛卷與實卷,虛卷大小與實卷大小相分離,實現了按需分配的機制,具體創建方法包括:第1、按需分配增量卷創建的用戶態接口:在邏輯卷管理器LVM用戶態的命令lvcreate里增加新的參數N,用于表示建立的是按需分配增量卷;第2、按需分配增量卷創建的過程:首先創建一個普通的邏輯卷LV,即為實卷,再在該普通邏輯卷上創建一個虛卷,形成兩層卷的結構;上層的虛卷是Linux內核中的一個數據結構,并不占用實際磁盤空間;虛卷的大小即為用戶指定的大小,實卷的初始大小小于虛卷;第3、實卷的自動擴容:在用戶使用的過程中,隨著用戶數據量的增多,物理空間的占用率逐漸提高,當物理空間占用率超過設定的閾值時,自動為實卷分配空間,滿足用戶更多的存儲要求;第4、虛卷的擴容:在用戶使用的過程中,可能會出現原計劃的虛卷空間大小不能滿足實際需求的情況,此時,可以由用戶任意指定時間及擴容的大小,完成虛卷的擴容;第5、按需分配增量卷實卷的磁盤布局:包括元數據區及數據區,元數據區包括超級塊、初始化位圖、碎片位圖和Chunkmap;第6、按需分配增量卷數據寫方法:采用追加寫的方式完成。...
【技術特征摘要】
【專利技術屬性】
技術研發人員:劉曉光,王剛,高巖,曹瑞,甄彩軍,徐廣治,
申請(專利權)人:南開大學,
類型:發明
國別省市:12
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。