一種優化空間管理的自動精簡配置方法
2023-12-01 00:56:06 1
一種優化空間管理的自動精簡配置方法
【專利摘要】本發明公開了一種優化空間管理的自動精簡配置方法,其實現過程為:將多個邏輯磁碟組成存儲池;跨越多個邏輯磁碟形成邏輯卷空間;將存儲池空間進行兩級劃分,即將邏輯磁碟空間劃分為多個數據段,將每個數據段劃分為多個數據塊;存儲池將數據段分配給邏輯卷,每個邏輯卷維護獲得分配的數據段;當上層應用向邏輯卷寫入數據時,邏輯卷從其維護的數據段中分配空間用於存儲寫入的數據;當邏輯卷維護的數據段無足夠空間進行分配時,邏輯卷向存儲池申請分配新的數據段。該一種優化空間管理的自動精簡配置方法與現有技術相比,有效降低數據在物理磁碟中隨機分布程度,同時具有較高的存儲空間利用率,另外在分配存儲空間時兼顧了存儲設備的負載均衡。
【專利說明】—種優化空間管理的自動精簡配置方法
【技術領域】
[0001]本發明涉及數據存儲【技術領域】,具體地說是一種實用性強、優化空間管理的自動精簡配置方法。
【背景技術】
[0002]自動精簡配置技術是一項新的存儲空間配置管理技術。與傳統存儲空間管理技術相比,自動精簡配置技術能夠按照上層應用對存儲空間的實際需求,按需分配存儲資源,而非一次性地分配應用所需的全部存儲資源。自動精簡配置技術解決了傳統存儲系統存儲空間利用率較低的問題,能夠提高存儲空間利用率,降低存儲系統前期部署和運行的成本。
[0003]自動精簡配置可以在邏輯卷、文件和數據塊等不同粒度的層次實現,目前多數存儲系統採用在數據塊級進行自動精簡配置,將用於自動精簡的邏輯磁碟存儲空間劃分成相同大小的數據塊,根據上層應用的需求以數據塊為單位分配存儲空間。如某一存儲池使用自動精簡配置,當在池中創建精簡邏輯卷時,並不為創建的邏輯卷分配存儲空間,而是在應用向邏輯卷實際寫入數據時才從存儲池的可用存儲空間中給邏輯卷分配數據塊,用於數據的存儲。若某一數據塊不再存儲上層應用的有效數據,由上層應用下發存儲空間的回收請求,存儲系統將空間回收請求轉換為對已經分配數據塊的回收操作。
[0004]當存儲系統運行一段時間後,響應上層應用的空間分配請求,下層存儲池會將某些已經回收後的空閒數據塊分配給新的請求,隨著系統運行,空間不斷進行分配和回收,最終結果就是數據在整個邏輯磁碟上的隨機分布,由此帶來的結果是即使上層應用順序數據1的操作,在下層邏輯磁碟也會轉變為全盤隨機的1操作,因此影響存儲系統整體性能。由此可見,當自動精簡配置的數據塊越大時,數據的隨機性越小,但邏輯磁碟空間利用率也越低,反之當數據塊越小時,數據的隨機性越大,但邏輯磁碟空間利用率越高。當存儲系統應用於不同場景時很難在數據隨機性和空間利用率之間做出權衡。基於此,現提供一種優化空間管理的自動精簡配置方法。
【發明內容】
[0005]本發明的技術任務是針對以上不足之處,提供一種實用性強、優化空間管理的自動精簡配置方法。
[0006]一種優化空間管理的自動精簡配置方法,其具體實現過程為:
將多個邏輯磁碟組成存儲池;跨越多個邏輯磁碟形成邏輯卷空間,即從多個邏輯磁碟的空間中為邏輯卷分配實際空間;
將存儲池空間進行兩級劃分,即將邏輯磁碟空間劃分為多個數據段,將每個數據段劃分為多個數據塊;
存儲池將數據段分配給邏輯卷,每個邏輯卷維護獲得分配的數據段;
當上層應用向邏輯卷寫入數據時,邏輯卷從其維護的數據段中分配空間用於存儲寫入的數據; 當邏輯卷維護的數據段無足夠空間進行分配時,邏輯卷向存儲池申請分配新的數據段;
上述存儲寫入的數據以數據段為單位進行緩存,即一個數據段中的所有數據塊均在系統緩存中,或均不在系統緩存中。
[0007]所述數據塊分為三種狀態:已分配、空閒和零索引,其中已分配數據塊為已建立了與物理數據塊的地址映射關係,且存儲了有效數據的數據塊;空閒數據塊為未與物理數據塊建立地址映射關係,且未存儲有效數據的數據塊;零索引數據塊為建立了與物理數據塊的地址映射關係,但不再存儲有效數據,上層應用已下發回收請求的數據塊。
[0008]當一個邏輯卷維護的數據段中所有的數據塊均為零索引狀態時,存儲池將此數據段回收,該回收操作以數據段為單位進行。
[0009]所述方法在存儲系統實現,該系統包括物理設備管理模塊、存儲池模塊、邏輯卷模塊、緩存模塊、控制器、接口模塊和高可用模塊,其中:
物理設備管理模塊用於管理存儲系統中的物理設備,包括磁碟、磁帶、SSD、RAID以及其它可用於存儲的非易失性存儲設備,該物理設備管理模塊負責向存儲池模塊提供邏輯磁碟;
存儲池模塊用於存儲系統中存儲池的組織管理,包括數據段分配子模塊、數據段回收子模塊、存儲池1子模塊和元數據管理子模塊;
邏輯卷管理模塊用於存儲系統中的邏輯卷的組織管理,包括數據塊分配子模塊、數據塊回收子模塊、邏輯卷1子模塊和元數據管理子模塊;
緩存模塊以數據段為單位緩存數據;
控制器用於實現存儲系統的管理控制邏輯;
接口模塊管理維護存儲系統的網絡,向外提供存儲資源接口 ;
高可用模塊用於保證存儲系統的可靠穩定運行。
[0010]本發明的一種優化空間管理的自動精簡配置方法,具有以下優點:
該發明的一種優化空間管理的自動精簡配置方法可以在保證邏輯磁碟空間利用率較高的情況下降低數據在邏輯磁碟上的隨機性分布,提升存儲系統整體性能;相比傳統自動精簡配置技術能夠有效降低數據在物理磁碟中隨機分布程度,同時具有較高的存儲空間利用率,另外在分配存儲空間時兼顧了存儲設備的負載均衡;通過賦予數據塊三種狀態,有效減少了存儲空間分配和回收的操作次數,實用性較強,適用範圍廣泛,易於推廣。
【專利附圖】
【附圖說明】
[0011]附圖1為本發明的存儲系統結構圖。
[0012]附圖2為本發明的實施例中存儲池與邏輯卷空間組織示意圖。
[0013]附圖3為空間分配的一實施例示意圖。
[0014]附圖4為空間分配的另一實施例示意圖。
【具體實施方式】
[0015]下面結合附圖和具體實施例對本發明作進一步說明。
[0016]本發明提供一種優化空間管理的自動精簡配置方法,如附圖1所示,其具體實現過程為:
將多個邏輯磁碟組成存儲池;跨越多個邏輯磁碟形成邏輯卷空間,即從多個邏輯磁碟的空間中為邏輯卷分配實際空間;
將存儲池空間進行兩級劃分,即將邏輯磁碟空間劃分為多個數據段,將每個數據段劃分為多個數據塊;
存儲池將數據段分配給邏輯卷,每個邏輯卷維護獲得分配的數據段;
當上層應用向邏輯卷寫入數據時,邏輯卷從其維護的數據段中分配空間用於存儲寫入的數據;
當邏輯卷維護的數據段無足夠空間進行分配時,邏輯卷向存儲池申請分配新的數據段;
上述存儲寫入的數據以數據段為單位進行緩存,即一個數據段中的所有數據塊均在系統緩存中,或均不在系統緩存中。
[0017]所述數據塊分為三種狀態:已分配、空閒和零索引,其中已分配數據塊為已建立了與物理數據塊的地址映射關係,且存儲了有效數據的數據塊;空閒數據塊為未與物理數據塊建立地址映射關係,且未存儲有效數據的數據塊;零索引數據塊為建立了與物理數據塊的地址映射關係,但不再存儲有效數據,上層應用已下發回收請求的數據塊。
[0018]當一個邏輯卷維護的數據段中所有的數據塊均為零索引狀態時,存儲池將此數據段回收,該回收操作以數據段為單位進行。
[0019]在自動精簡分配空間時,存儲池以數據段為單位向邏輯卷分配空間,在邏輯卷處理寫1請求時,以數據段為單位從已分配的數據段中分配數據塊用於存儲寫入的數據。賦予數據塊三種狀態,以便提高存儲空間利用率,減少存儲空間分配回收操作。數據段的分配需要根據邏輯磁碟設備的1特性和容量負載情況,確定從哪個邏輯磁碟中分配數據段。在空間回收時,邏輯卷以數據塊為單位進行空間回收,同時在邏輯卷內合併數據段。存儲池接收邏輯卷的空間回收請求,以數據段為單位進行空間回收。
[0020]所述方法在存儲系統實現,該系統包括物理設備管理模塊、存儲池模塊、邏輯卷模塊、緩存模塊、控制器、接口模塊和高可用模塊,其中:
物理設備管理模塊用於管理存儲系統中的物理設備,包括磁碟、磁帶、SSD、RAID以及其它可用於存儲的非易失性存儲設備,該物理設備管理模塊負責向存儲池模塊提供邏輯磁碟;
存儲池模塊用於存儲系統中存儲池的組織管理,包括數據段分配子模塊、數據段回收子模塊、存儲池1子模塊和元數據管理子模塊;
邏輯卷管理模塊用於存儲系統中的邏輯卷的組織管理,包括數據塊分配子模塊、數據塊回收子模塊、邏輯卷1子模塊和元數據管理子模塊;
緩存模塊以數據段為單位緩存數據;
控制器用於實現存儲系統的管理控制邏輯;
接口模塊管理維護存儲系統的網絡,向外提供存儲資源接口 ;
高可用模塊用於保證存儲系統的可靠穩定運行。
[0021]在實際操作中,存儲系統的物理設備一般使用多種類型的獨立磁碟,或由磁碟組成的多種類型的RAID。物理設備管理模塊將獨立的磁碟或RAID抽象成邏輯磁碟。存儲池模塊將系統中所有邏輯磁碟組織成一個虛擬的地址連續的存儲空間,以數據段為單位將這連續的空間組織起來,並負責將數據段分配給邏輯卷並從邏輯卷回收數據段。邏輯卷模塊主要負責具體上層數據1的處理,並為寫請求1從邏輯卷所維護的數據段中分配數據塊。當邏輯卷維護的數據段空間不足時,向存儲池模塊申請數據段。邏輯卷模塊同時負責數據塊的狀態維護和回收。
[0022]此外,緩存模塊使用SSD設備作為緩存,能夠有效提升存儲系統整體性能。在其它實施例中也可採用通常意義上的伺服器作緩存。
[0023]實施例:
如圖2所示為存儲系統的空間組織示意圖,存儲池模塊20中包含了 3個邏輯磁碟201、202和203,邏輯卷模塊21中包含邏輯卷211和212,邏輯卷211中包含數據段2111和2112,邏輯卷212中包含數據段2121、2122和2123。通過存儲池以段為單位向邏輯卷分配空間,有效減少了存儲池空間映射元數據信息,同時降低了元數據操作的複雜性。更重要的是,將數據以數據段大小為單位在磁碟上隨機分布,數據在數據段內近似順序存儲,而不是傳統自動精簡配置實現方法中的以數據塊為單位全磁碟分布。在邏輯卷內以數據塊為單位進行空間分配,可以有效避免空間浪費,體現了自動精簡配置技術降低空間利用率的優勢。在建議實施例中,數據塊大小為物理磁碟扇區大小的2的冪次方倍,大小為4KB-4MB,數據段大小為數據塊大小的2的冪次方倍,大小為4MB-1024MB,其它實施例中也可採用不同數據段和數據塊大小。
[0024]在實施例中,一種空間分配情況如附圖3所示,邏輯卷312中已分配了數據段3121和3122,數據段3121中的所有數據塊狀態均為「已分配」,數據段3122中的數據塊31221狀態為「已分配」,而數據塊31222、31223和31224狀態為「零索引」。此時邏輯卷接收到上層1請求需要寫入2個數據塊大小的數據(或者所需要寫入的數據大小不足2個數據塊,但比一個數據塊空間在),邏輯卷通過查找已分配數據段發現在數據段3122中有足夠空間存儲新增數據,則將數據塊31222和31223狀態置為「已分配」,並向存儲池發送1請求,請求信息中包含新增數據的邏輯地址和偏移量以數據塊31222和31223的索引。
[0025]在圖4所示的另一實施例中,邏輯卷312中已分配了數據段3121和3122,數據段3121中的所有數據塊狀態均為「已分配」,數據段3122中的數據塊31221、31222和31223狀態為「已分配」,而數據塊31224狀態為「零索引」。此時邏輯卷接收到上層1請求需要寫入2個數據塊大小的數據,邏輯卷通過查找已分配數據段發現無足夠空間存儲新增數據,則邏輯卷312向存儲池30申請新的數據段。存儲池30根據查找空閒數據段,並根據某種策略確定將數據段3123分配給邏輯卷312,邏輯卷獲得數據段3123後,將數據段3122中的數據塊31224和數據段3123中的數據塊31231狀態置為「已分配」,並向存儲池發送1請求,請求信息中包含新增數據的邏輯地址和偏移量以及數據塊31224和31231的索引。
[0026]在建議實施例中,數據塊的狀態可用位圖來記錄,存儲池將數據段組織成B+Tree結構,在B+Tree的葉子節點包含一個數據段的基本信息和數據段的物理地址,其中數據段的基本信息包括數據段中所有數據塊狀態的位圖,同時還應包括數據段所屬邏輯卷ID、數據段在邏輯卷中偏移量等。在其它實施例中,數據段的組織方式也可採用其它方式,如HASH樹、HASH鍊表、廣義數據等數據結構或文件等形式。
[0027]在建議實施例中,存儲池將所有空閒數據段組織起來,以便於查找和分配。對於邏輯卷的數據段分配請求,存儲池在空閒數據段按照某種策略進行選擇,數據段選擇策略可根據數據段所屬邏輯磁碟的1特性和容量來制定,具體考慮因素有:邏輯磁碟當前1PS與最大1PS的比例、當前帶寬與最大帶寬的比例、當前磁碟空間利用率、熱點數據分布均衡性、邏輯磁碟可靠性等。通過制定數據段選擇策略,均衡各邏輯磁碟的1負載和存儲空間負載。
[0028]在建議實施例中,存儲池負責數據塊物理地址與邏輯地址的映射關係管理,根據邏輯卷下發的1請求,建立分配給新增數據的數據塊的物理地址和上層1包含的邏輯卷的邏輯地址的映射關係。在其它實施例中,也可由邏輯卷維護卷內所有已分配數據塊的物理地址與邏輯地址的映射關係,而存儲池只維護邏輯卷與數據段的分配關係。
[0029]在建議實施例中,若邏輯卷接收到上層應用下發數據塊的回收請求,邏輯卷首先將需要回收的數據塊狀態置為「零索引」,邏輯卷在分配數據塊給1請求時,優先分配狀態為「零索引」的數據塊,若無零索引數據塊,再分配空閒狀態的數據塊。
[0030]在建議實施例中,邏輯卷負責數據塊的空間回收。邏輯卷中若存在這樣兩個數據段:數據段中存在已分配狀態的數據塊,數據段中已分配數據塊數量佔數據段所有數據塊數量比例不中50%,則將這兩個數據段中含有較少已分配數據塊的數據段中所有已分配數據塊遷移到另一數據段中,同時更新地址映射關係。此時邏輯卷向存儲池發出回收數據段請求,對已分配數據塊遷移出的數據段進行回收。存儲池接收到數據段回收請求後,更新數據段分配關係並重置數據段,將其狀態置為「空閒」,加入到空閒數據段組織中。在其它實施例中,也可將邏輯卷中多個存在零索引狀態數據塊的數據段進行數據遷移和空間合併,或者等待一個數據段中所有數據塊狀態均為零索引時再進行數據段的回收。
[0031]上述【具體實施方式】僅是本發明的具體個案,本發明的專利保護範圍包括但不限於上述【具體實施方式】,任何符合本發明的一種優化空間管理的自動精簡配置方法的權利要求書的且任何所述【技術領域】的普通技術人員對其所做的適當變化或替換,皆應落入本發明的專利保護範圍。
【權利要求】
1.一種優化空間管理的自動精簡配置方法,其特徵在於,其具體實現過程為: 將多個邏輯磁碟組成存儲池;跨越多個邏輯磁碟形成邏輯卷空間,即從多個邏輯磁碟的空間中為邏輯卷分配實際空間; 將存儲池空間進行兩級劃分,即將邏輯磁碟空間劃分為多個數據段,將每個數據段劃分為多個數據塊; 存儲池將數據段分配給邏輯卷,每個邏輯卷維護獲得分配的數據段; 當上層應用向邏輯卷寫入數據時,邏輯卷從其維護的數據段中分配空間用於存儲寫入的數據; 當邏輯卷維護的數據段無足夠空間進行分配時,邏輯卷向存儲池申請分配新的數據段; 上述存儲寫入的數據以數據段為單位進行緩存,即一個數據段中的所有數據塊均在系統緩存中,或均不在系統緩存中。
2.根據權利要求1所述的一種優化空間管理的自動精簡配置方法,其特徵在於,所述數據塊分為三種狀態:已分配、空閒和零索引,其中已分配數據塊為已建立了與物理數據塊的地址映射關係,且存儲了有效數據的數據塊;空閒數據塊為未與物理數據塊建立地址映射關係,且未存儲有效數據的數據塊;零索引數據塊為建立了與物理數據塊的地址映射關係,但不再存儲有效數據,上層應用已下發回收請求的數據塊。
3.根據權利要求2所述的一種優化空間管理的自動精簡配置方法,其特徵在於,當一個邏輯卷維護的數據段中所有的數據塊均為零索引狀態時,存儲池將此數據段回收,該回收操作以數據段為單位進行。
4.根據權利要求1-3中任一所述的一種優化空間管理的自動精簡配置方法,其特徵在於,所述方法通過存儲系統實現,該系統包括物理設備管理模塊、存儲池模塊、邏輯卷模塊、緩存模塊、控制器、接口模塊和高可用模塊,其中: 物理設備管理模塊用於管理存儲系統中的物理設備,包括磁碟、磁帶、SSD、RAID以及其它可用於存儲的非易失性存儲設備,該物理設備管理模塊負責向存儲池模塊提供邏輯磁碟; 存儲池模塊用於存儲系統中存儲池的組織管理,包括數據段分配子模塊、數據段回收子模塊、存儲池1子模塊和元數據管理子模塊; 邏輯卷管理模塊用於存儲系統中的邏輯卷的組織管理,包括數據塊分配子模塊、數據塊回收子模塊、邏輯卷1子模塊和元數據管理子模塊; 緩存模塊以數據段為單位緩存數據; 控制器用於實現存儲系統的管理控制邏輯; 接口模塊管理維護存儲系統的網絡,向外提供存儲資源接口 ; 高可用模塊用於保證存儲系統的可靠穩定運行。
【文檔編號】G06F12/08GK104317742SQ201410651129
【公開日】2015年1月28日 申請日期:2014年11月17日 優先權日:2014年11月17日
【發明者】馬春 申請人:浪潮電子信息產業股份有限公司