專利名稱:一種實現(xiàn)存儲系統(tǒng)自動精簡配置和精簡分配的方法
技術(shù)領(lǐng)域:
本發(fā)明是一種實現(xiàn)存儲系統(tǒng)自動精簡配置精簡分配的系統(tǒng)及方法,通常用于存儲系統(tǒng)中,旨在提供一種對自動精簡配置存儲池空間進行精簡分配的系統(tǒng)架構(gòu)。
背景技術(shù):
自動精簡配置存儲方案能夠給操作系統(tǒng)提供大容量的虛擬驅(qū)動器。這種技術(shù)的核心是“欺騙”。簡單的說,實際的物理存儲設(shè)備可能并沒有這么多,而讓操作系統(tǒng)認為有這么大的存儲空間。這主要是因為企業(yè)中的數(shù)據(jù)往往也是在逐漸增加,而不是一開始就有這么多。自動精簡配置擴展了存儲管理功能,雖然實際分配的物理容量小,但可以為操作系統(tǒng)提供超大容量的虛擬存儲空間。隨著應(yīng)用寫入的數(shù)據(jù)越來越多,實際存儲空間也可以及時擴展,而無需手動擴展。換句話說,自動精簡配置提供的是“運行時空間”,可以顯著減少已分配但是未使用的存儲空間。如圖1所示傳統(tǒng)存儲與自動精簡配置存儲的空間占用對比圖。自動精簡配置將所有的存儲空間匯集到一個資源池中,并使用統(tǒng)一大小的“塊”將空間劃分,最終,按需分配給應(yīng)用的是資源池中的“塊”。在自動精簡配置精簡分配中,我們采用寫時分配技術(shù),物理磁盤容量只有在應(yīng)用程序?qū)懻鎸崝?shù)據(jù)到邏輯卷時才會將實際的存儲池空間分配出去。簡單理解就是只有在有寫請求的時候,才會按需從空閑的資源池中分配新的塊給該請求。這種按需精簡分配是自動精簡配置精簡分配的實質(zhì)。自動精簡配置包括存儲池和精簡卷。其中存儲池空間是占用實際物理空間,而精簡卷就是通過“欺騙”提供給操作系統(tǒng)的虛擬驅(qū)動器,并不真實的占用實際物理空間。由存儲池向精簡卷提供存儲空間,一個存儲池可以對應(yīng)多個精簡卷,而每一個精簡卷都可以大于或者小于存儲池空間容量。因此,為了保證自動精簡配置正常運行,自動精簡配置的精簡分配急需解決三方面問題,一個是自動精簡配置精簡分配的分配算法問題,為了保證分配存儲池空間的正確性,我們需要設(shè)計一個精準的精簡分配算法;另一個是保證數(shù)據(jù)一致性,精簡分配是一個過程,需要保證整個分配過程寫入數(shù)據(jù)塊的數(shù)據(jù)一致性;最后一個是解決并發(fā)訪問的問題,要保證對同一個存儲池同一個塊的精簡分配的互斥性,避免并發(fā)分配同一個塊,保證分配塊的唯一性。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種實現(xiàn)存儲系統(tǒng)自動精簡配置和精簡分配的方法。本發(fā)明的有益效果是:實現(xiàn)自動精簡配置存儲池的精簡分配,按需分配自動精簡配置存儲池空間,根據(jù)用戶數(shù)據(jù)的實際占用的空間,自動分配存儲空間,提高磁盤存儲空間的利用率,推遲用戶磁盤擴容的時間,減少磁盤購買數(shù)量,提高存儲性能,減少環(huán)境對存儲的壓力,降低總體實現(xiàn)成本,從而降低系統(tǒng)的整體能耗、冷卻成本、以及二氧化碳排放量,符合綠色存儲的要求。因此采用這種系統(tǒng)架構(gòu),能夠自動,高效,精簡的完成自動精簡配置存儲池精簡分配的工作。
圖1是傳統(tǒng)存儲與自動精簡配置存儲的空間占用對比 圖2是精簡分配整體流程示意 圖3是精簡分配塊分配流程示意 圖4是精簡分配分配塊映射流程示意圖。
具體實施例方式
參照說明書附圖對本發(fā)明的方法作以下詳細地說明。一種實現(xiàn)存儲系統(tǒng)自動精簡配置精簡分配的系統(tǒng)架構(gòu),該架構(gòu)支持在不同的操作系統(tǒng),實現(xiàn)自動精簡配置存儲池空間的精簡分配。在自動精簡分配中,采用事務(wù)機制來保證分配過程的數(shù)據(jù)一致性。在算法上,采用先完成存儲池實際存儲空間塊的分配,然后再完成存儲池到精簡卷的塊的映射過程,精簡分配過程的正確性。針對精簡分配過程,采用塊管理機制,只允許一個數(shù)據(jù)塊有一個寫者,從而在按需分配的過程中,避免并發(fā)寫入同一個塊的事件發(fā)生,保證分配數(shù)據(jù)塊的唯一性。該系統(tǒng)包括:(I)事務(wù)管理模塊;(2 )塊管理模塊;(3 )刷寫塊模塊;(4)空間驗證模塊;(5)塊分配模塊;(6)分配塊映射模塊;
事務(wù)管理模塊(I ),唯一可以獲得可寫塊的途徑,這是通過分配新塊和跟隨已存在的塊來實現(xiàn)的。事務(wù)機制提交的方法確保在寫超級塊之前,所有數(shù)據(jù)都會被刷新。如果出現(xiàn)停電等意外情況,元數(shù)據(jù)信息將保持最后一次提交的狀態(tài)。該模塊針對精簡分配提供分配新塊的事務(wù)和提交事務(wù)的操作;
塊管理模塊(2),提供固定大小的數(shù)據(jù)的入口,支持并發(fā)的讀操作,但是對于每一個塊,只支持一個單獨的寫操作;提供緩存數(shù)據(jù)的刷新操作,將緩存中數(shù)據(jù)刷寫至磁盤。針對精簡分配提供獲取寫鎖、刷新數(shù)據(jù)等操作;
刷寫塊重映射模塊(3),完成刷新(flush) IO請求的重映射操作;
空間驗證模塊(4),判斷自動精簡配置存儲池是否還有剩余空間,如果沒有剩余空間就嘗試釋放一些無用的存儲池空間,如果有剩余空間返回0,如果沒有剩余空間返回無空間(-ENOSPC);
塊分配模塊(5),是真正的在存儲池完成塊分配的模塊,也是精簡分配的核心模塊。塊分配模塊會在存儲池中找到下一個可以使用的數(shù)據(jù)塊,并且判斷該塊是否被IO請求完整覆蓋,如果是,則直接重映射IO至該塊;否則,說明該塊只被部分占用,因此將該塊全部清零,并重映射IO至該塊。如圖3所示;
分配塊映射模塊(6),完成存儲池空間新分配的塊與對應(yīng)精簡卷映射的操作。該模塊會將映射信息插入到自動精簡配置的元數(shù)據(jù)信息中,建立存儲池中的塊與精簡卷的對應(yīng)的塊的關(guān)聯(lián)關(guān)系,從而最終完成精簡分配的映射過程,并再次調(diào)度該IO請求。如圖4所示。根據(jù)所述事務(wù)管理模塊(1),當開始精簡分配時,會調(diào)用事務(wù)管理模塊(I)開始分配新塊的一個事務(wù),然后調(diào)用塊管理模塊(2)獲取一個寫鎖。根據(jù)所述事務(wù)管理模塊(1),當精簡分配完成映射后,會首先調(diào)用事務(wù)管理模塊
(I)提交事務(wù)的操作,然后調(diào)用模塊(2)刷新數(shù)據(jù)的操作,將元數(shù)據(jù)信息刷寫至磁盤,整個過程無誤,表示整個事務(wù)的操作完成。根據(jù)所述塊分配模塊(5),當塊分配模塊成功分配新的塊后,會調(diào)用分配塊映射模塊(6)將存儲池中新分配的塊與精簡卷空間建立關(guān)聯(lián)關(guān)系,完成映射操作。根據(jù)所述分配塊映射模塊(6),當精簡分配完成映射后,會調(diào)用事務(wù)管理模塊(I)提交事務(wù)的操作。自動精簡配置精簡分配系統(tǒng)的整體流程如圖2精簡分配整體流程示意圖所示。本發(fā)明實施方案非常簡單,只需要在LINUX內(nèi)核中安裝自動精簡配置軟件并加入本發(fā)明的系統(tǒng)模塊程序即可。根據(jù)本發(fā)明,自動精簡配置精簡分配系統(tǒng)能夠自動實現(xiàn)存儲池的精簡分配,當需要分配存儲空間時,精簡分配模塊會自動按需分配存儲空間,滿足自動精簡配置的精簡特性。除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。
權(quán)利要求
1.一種實現(xiàn)存儲系統(tǒng)自動精簡配置和精簡分配的方法,其特征在于在不同的操作系統(tǒng)中,實現(xiàn)自動精簡配置存儲池空間的精簡分配,該系統(tǒng)包括:(1)事務(wù)管理模塊;(2)塊管理模塊;(3)刷寫塊模塊;(4)空間驗證模塊;(5)塊分配模塊;(6)分配塊映射模塊,其中: 事務(wù)管理模塊(1),唯一獲得可寫塊的途徑,通過分配新塊和跟隨已存在的塊來實現(xiàn)的,事務(wù)機制提交的方法確保在寫超級塊之前,所有數(shù)據(jù)都會被刷新,如果出現(xiàn)停電意外情況,元數(shù)據(jù)信息將保持最后一次提交的狀態(tài),該模塊針對精簡分配提供分配新塊的事務(wù)和提交事務(wù)的操作; 塊管理模塊(2),提供固定大小的數(shù)據(jù)的入口,支持并發(fā)的讀操作,但是對于每一個塊,只支持一個單獨的寫操作;提供緩存數(shù)據(jù)的刷新操作,將緩存中數(shù)據(jù)刷寫至磁盤,針對精簡分配提供獲取寫鎖、刷新數(shù)據(jù)操作; 刷寫塊重映射模塊(3),完成刷新IO請求的重映射操作,刷新的IO請求不需要分配新塊,因此直接完成重映射; 空間驗證模塊(4),判斷自動精簡配置存儲池是否還有剩余空間,如果沒有剩余空間就嘗試釋放一些無用的存儲池空間,如果有剩余空間返回0,如果沒有剩余空間返回無空間-ENOSPC ; 塊分配模塊(5),是真正的在存儲池完成塊分配的模塊,也是精簡分配的核心模塊,塊分配模塊會在存儲池中找到下一個能夠使用的數(shù)據(jù)塊,并且判斷該塊是否被IO請求完整覆蓋,如果是,則直接重映射IO至該塊;否則,說明該塊只被部分占用,因此將該塊全部清零,并重映射IO至該塊; 分配塊映射模塊(6),完成存儲池空間新分配的塊與對應(yīng)精簡卷映射的操作,該模塊會將映射信息插入到自動精簡配置的元數(shù)據(jù)信息中,建立存儲池中的塊與精簡卷的對應(yīng)的塊的關(guān)聯(lián)關(guān)系,從而最終完成精簡分配的映射過程,并再次調(diào)度該IO請求。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于事務(wù)管理模塊(I)開始精簡分配時,會調(diào)用事務(wù)管理模塊(I)開始分配新塊的一個事務(wù),然后調(diào)用塊管理模塊(2)獲取一個寫鎖。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于事務(wù)管理模塊(I)精簡分配完成映射后,會首先調(diào)用事務(wù)管理模塊(I)提交事務(wù)的操作,然后調(diào)用塊管理模塊(2)刷新數(shù)據(jù)的操作,將元數(shù)據(jù)信息刷寫至磁盤,整個過程無誤,表示整個事務(wù)的操作完成。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于塊分配模塊(5)成功分配新的塊后,會調(diào)用分配塊映射模塊(6)將存儲池中新分配的塊與精簡卷空間建立關(guān)聯(lián)關(guān)系,完成映射操作。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于分配塊映射模塊(6)精簡分配完成映射后,會調(diào)用事務(wù)管理模塊(I)提交事務(wù)的操作。
全文摘要
本發(fā)明提供一種實現(xiàn)存儲系統(tǒng)自動精簡配置和精簡分配的方法,本發(fā)明能夠自動的、精簡的按需分配自動精簡配置的存儲池空間,能夠最大化合理的利用存儲系統(tǒng)的物理存儲空間。夠?qū)崿F(xiàn)自動精簡設(shè)備存儲池的精簡分配,存儲池空間自動按需分配,保證精簡分配過程數(shù)據(jù)塊的正確性和數(shù)據(jù)的一致性。能夠按需分配存儲池空間,通過精簡分配將存儲池空間自動分配給精簡卷以供使用者使用,使用者無需人工干預精簡分配過程。本發(fā)明的友誼效果是,通過該系統(tǒng)架構(gòu),能采用該系統(tǒng)架構(gòu),可以自動的、精簡的分配存儲池空間,當需要存儲池提供空間的時候,自動精簡配置才會精簡的分配存儲池空間。
文檔編號G06F12/06GK103106150SQ20131005670
公開日2013年5月15日 申請日期2013年2月22日 優(yōu)先權(quán)日2013年2月22日
發(fā)明者溫源, 張宇, 梁志誠, 文中領(lǐng), 張延楓 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司