国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于自動精簡配置的存儲資源分配方法和裝置與流程

      文檔序號:12801392閱讀:684來源:國知局
      基于自動精簡配置的存儲資源分配方法和裝置與流程

      本發(fā)明涉及存儲技術領域,特別涉及一種基于自動精簡配置技術的存儲資源分配方法和裝置。



      背景技術:

      自動精簡配置技術是一種在存儲業(yè)界廣泛使用的存儲虛擬化技術,在自動精簡配置技術中,存儲系統(tǒng)利用精簡池統(tǒng)一管理存儲資源,由精簡池將存儲資源按需分配給精簡卷供上層應用使用。

      對于應用而言,可以看到的是精簡卷中的邏輯空間地址,若想訪問該邏輯空間地址對應的數(shù)據(jù),則需要根據(jù)邏輯空間地址和物理空間地址的映射關系,查找精簡池中與該邏輯空間對應的物理空間,然后訪問查找到的物理空間中的數(shù)據(jù)。因此,在自動精簡配置技術中,精簡池中除了存儲業(yè)務數(shù)據(jù)以外,還要存儲用于記錄邏輯空間地址到物理空間地址的映射關系的元數(shù)據(jù)。

      現(xiàn)有技術中,精簡池會將所有的存儲資源統(tǒng)一分配給元數(shù)據(jù)和業(yè)務數(shù)據(jù),對于元數(shù)據(jù)而言,其訪問頻率較高,采用現(xiàn)有的方式存儲元數(shù)據(jù),限制了元數(shù)據(jù)的讀寫速度,從而直接影響了自動精簡配置業(yè)務的性能。



      技術實現(xiàn)要素:

      為了解決現(xiàn)有技術的問題,本發(fā)明實施例提供了一種基于自動精簡配置的存儲資源分配方法和裝置。所述技術方案如下:

      第一方面,本發(fā)明實施例提供了一種基于自動精簡配置的存儲資源分配方法,適用于具有至少兩種硬盤的存儲系統(tǒng),所述方法包括:

      獲取主機發(fā)送的寫輸入輸出io請求;

      當所述寫io請求未被分配存儲空間時,判斷第一硬盤是否存在可用空間,所述第一硬盤為所述至少兩種硬盤中隨機訪問性能最好的硬盤;

      若所述第一硬盤存在可用空間,則從第一硬盤中為所述寫io請求分配元數(shù) 據(jù)存儲空間;

      若所述第一硬盤不存在可用空間,則從第二硬盤中為所述寫io請求分配元數(shù)據(jù)存儲空間,所述第二硬盤的硬盤性能為所述至少兩種硬盤中隨機訪問性能第二好的硬盤。

      其中,隨機訪問性能可以采用每秒進行讀寫操作的次數(shù)(inputoutputpersecond,簡稱iops)來衡量,iops越大,隨機訪問性能越好。

      由于在自動精簡配置技術的讀寫過程中,需要大量地對元數(shù)據(jù)進行讀寫,所以元數(shù)據(jù)的讀寫速度直接影響自動精簡配置業(yè)務的性能,本發(fā)明實施例通過為元數(shù)據(jù)分配隨機訪問性能較好的硬盤的存儲空間,從而可以提高自動精簡配置業(yè)務的性能。此外,在隨機訪問性能最好的第一硬盤不可用的情況下,可以將元數(shù)據(jù)存儲在隨機訪問性能僅次于第一硬盤的第二硬盤,通常隨機訪問性能越好的硬盤,價格越昂貴,通過采用此種方式,可以使得可以兼顧成本和容量。

      可選地,所述至少兩種硬盤選自固態(tài)硬盤ssd、串行高級技術附件sata硬盤、串行連接小型計算機系統(tǒng)接口sas硬盤和近線串行連接小型計算機系統(tǒng)接口nl-sas硬盤。

      進一步地,所述第一硬盤為ssd,所述第二硬盤為sas硬盤。

      由于ssd不需要尋址,所以ssd的隨機訪問性能最好,將元數(shù)據(jù)存儲空間優(yōu)先從ssd中分配,可以最大程度的保證元數(shù)據(jù)的訪問速度,而sas硬盤為目前隨機訪問性能最好的機械硬盤,所以采用sas硬盤作為第二硬盤,也能提高元數(shù)據(jù)的訪問速度。

      在第一方面一種可能的實現(xiàn)方式中,每種硬盤對應一棵空間樹,每棵空間樹用于記錄對應類型硬盤的存儲空間的信息。每棵空間樹可以包括根節(jié)點和多個葉子節(jié)點。其中,根節(jié)點可以用于記錄對應類型的硬盤的總信息,例如該類型硬盤的總容量、該類型的硬盤的可用容量、已用容量等。每個葉子節(jié)點與該類型硬盤的一個存儲單元對應,用于記錄對應的存儲單元的信息。存儲單元的大小可以根據(jù)實際需要設置,例如設置為1g、2g或者一個第一硬盤的容量等。

      每種類型的硬盤由一個空間樹來管理,與所有類型的硬盤采用一顆樹來管理相比,可以降低樹的深度,進而在查找元數(shù)據(jù)時,可以顯著提高查找效率。

      在這種實現(xiàn)方式中,所述判斷所述第一硬盤是否還有可用空間,包括:

      根據(jù)第一硬盤的空間樹判斷所述第一硬盤是否還有可用空間,所述第一硬 盤的空間樹用于記錄所述第一硬盤的存儲空間的信息。

      進一步地,所述第一硬盤的空間樹包括根節(jié)點和多個葉子節(jié)點,每個所述葉子節(jié)點對應所述第一硬盤的一個存儲單元,每個所述節(jié)點用于記錄對應的所述存儲單元的容量、已用空間和可用空間。

      在第一方面另一種可能的實現(xiàn)方式中,所述方法還包括:

      在分配所述元數(shù)據(jù)存儲空間之后,判斷所述第二硬盤是否存在可用空間;

      若所述第二硬盤存在可用空間,則在所述第二硬盤中為所述寫io請求分配業(yè)務數(shù)據(jù)存儲空間;

      若所述第二硬盤不存在可用空間,則在第三硬盤中為所述寫io請求分配業(yè)務數(shù)據(jù)存儲空間,所述第三硬盤的隨機訪問性能弱于所述第二硬盤的隨機訪問性能。

      在該實現(xiàn)方式中,將業(yè)務數(shù)據(jù)優(yōu)先存儲在隨機訪問性能較好的第二硬盤中,可以優(yōu)先保證業(yè)務數(shù)據(jù)的訪問速度,當?shù)诙脖P無可用空間時,將業(yè)務數(shù)據(jù)存儲在隨機訪問性能較弱的第三硬盤中,使得在訪問速度無法保證的情況下,可以至少保存業(yè)務數(shù)據(jù)正常訪問。同時,該方式可以兼顧存儲容量和成本問題。

      在其他實現(xiàn)方式中,也可以優(yōu)先從第三硬盤為業(yè)務數(shù)據(jù)分配業(yè)務數(shù)據(jù)存儲空間,當?shù)谌脖P沒有可用空間時,再從第二硬盤為業(yè)務數(shù)據(jù)分配業(yè)務數(shù)據(jù)存儲空間。

      在第一方面又一種可能的實現(xiàn)方式中,所述方法還包括:

      若所述第三硬盤不存在可用空間,則在第四硬盤中為所述寫io請求分配業(yè)務數(shù)據(jù)存儲空間,所述第四硬盤屬于所述至少兩種硬盤中的一種。

      可選地,第四硬盤可以為第一硬盤,也可以為除第一硬盤以外類型的硬盤。

      第二方面,本發(fā)明實施例提供了一種基于自動精簡配置的存儲資源分配裝置,所述裝置包括用于實現(xiàn)上述第一方面所述的方法的單元,例如獲取單元、判斷單元和分配單元等。

      第三方面,本發(fā)明實施例提供了一種基于自動精簡配置的存儲資源分配裝置,所述裝置包括處理器和存儲器,所述存儲器用于存儲軟件程序,當所述處理器運行或執(zhí)行存儲在所述存儲器內的軟件程序時,可以執(zhí)行第一方面所述的方法。

      第四方面,本發(fā)明實施例還提供了一種計算機可讀介質,用于存儲供基于 自動精簡配置的存儲資源分配裝置執(zhí)行的程序代碼,所述程序代碼包括執(zhí)行第一方面所述的方法的指令。

      附圖說明

      為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

      圖1是本發(fā)明實施例提供的存儲系統(tǒng)的結構示意圖;

      圖2是本發(fā)明實施例提供的一種基于自動精簡配置的存儲資源分配方法的流程圖;

      圖3是本發(fā)明實施例提供的一種基于自動精簡配置的存儲資源分配方法的流程圖;

      圖4是本發(fā)明實施例提供的一種基于自動精簡配置的存儲資源分配裝置的結構框圖;

      圖5是本發(fā)明實施例提供的一種基于自動精簡配置的存儲資源分配裝置的結構框圖。

      具體實施方式

      為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進一步地詳細描述。

      下面先結合圖1簡單介紹一下本發(fā)明適用的存儲系統(tǒng)的結構,如圖1所示,該存儲系統(tǒng)100包括存儲器110、處理器120、通信接口130和硬盤140。圖1中示出的存儲系統(tǒng)100結構并不構成對存儲系統(tǒng)的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。

      處理器120是存儲系統(tǒng)100的控制中心,利用各種接口和線路連接整個存儲系統(tǒng)100的各個部分,通過運行或執(zhí)行存儲在存儲器110內的軟件程序,以及調用存儲在存儲器110內的數(shù)據(jù),執(zhí)行存儲系統(tǒng)100的各種功能和處理數(shù)據(jù),從而對存儲系統(tǒng)100進行整體控制??蛇x的,處理器120可包括一個或多個處理核心。

      存儲器110可用于存儲各種數(shù)據(jù),例如各種配置參數(shù),以及存儲軟件程序。處理器120通過運行存儲在存儲器110的軟件程序,從而執(zhí)行各種功能應用以及數(shù)據(jù)處理。存儲器110可主要包括程序存儲區(qū)和數(shù)據(jù)存儲區(qū),其中,程序存儲區(qū)可存儲操作系統(tǒng)111、獲取模塊112、判斷模塊113和分配模塊114等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)存儲系統(tǒng)100的使用所創(chuàng)建的數(shù)據(jù),例如硬盤的信息等。此外,存儲器110可以由任何類型的易失性或非易失性存儲設備或者它們的組合實現(xiàn),如靜態(tài)隨機存取存儲器(staticrandomaccessmemory,簡稱sram),電可擦除可編程只讀存儲器(electricallyerasableprogrammableread-onlymemory,簡稱eeprom),可擦除可編程只讀存儲器(erasableprogrammablereadonlymemory,簡稱eprom),可編程只讀存儲器(programmableread-onlymemory,簡稱prom),只讀存儲器(readonlymemory,簡稱rom),磁存儲器,快閃存儲器,磁盤或光盤。

      通信接口130用于與其他設備例如主機進行通信,例如接收主機的輸入輸出(inputoutput,簡稱io)請求,并發(fā)送響應消息。

      硬盤140可以包括不同類型的硬盤,比如固態(tài)硬盤(solidstatedisk,簡稱ssd)、機械硬盤等,而機械硬盤還可以分為串行高級技術附件(serialadvancedtechnologyattachment,簡稱sata)硬盤,串行連接小型計算機系統(tǒng)接口(serialadvanced小型計算機系統(tǒng)接口(smallcomputersysteminterface,簡稱scsi),簡稱sas)硬盤、近線串行連接小型計算機系統(tǒng)接口(nearlinesas,簡稱nl-sas)等。其中,按照隨機訪問性能排序,ssd的隨機訪問性能最好,其次為sas硬盤,再次為sata硬盤,最后為nl-sas硬盤。

      在本發(fā)明實施例中,存儲系統(tǒng)100包括至少兩種硬盤,每種硬盤的個數(shù)為一個或多個。其中,至少兩種硬盤是指硬盤的類型不同。這些硬盤140可以為獨立磁盤構成的冗余陣列(redundantarraysofindependentdisks,簡稱raid)。

      硬盤140的存儲空間需要對應的數(shù)據(jù)結構進行管理。在本發(fā)明實施例中,對于不同類型的硬盤,采用獨立的數(shù)據(jù)結構進行管理。進一步地,可以采用空間樹管理硬盤140的存儲空間。

      具體地,每種硬盤對應一棵空間樹,每棵空間樹用于記錄一種類型的硬盤的存儲空間的信息,包括但不限于一種類型的硬盤的總容量、該類型的硬盤的可用容量、已用容量、空間使用狀態(tài)等。實現(xiàn)時,空間樹可以為b樹或b+樹。 將每種硬盤采用各自獨立的空間樹進行管理,可以降低樹的深度,提高查詢效率,并且,可以降低并發(fā)io操作沖突的可能。

      每棵空間樹均包括根節(jié)點和多個葉子節(jié)點,每個葉子節(jié)點對應該類型硬盤的一個存儲單元,用于記錄對應的存儲單元的信息,葉子節(jié)點記錄的存儲單元的信息包括但不限于硬盤容量、已用容量、已用空間、可用空間、預留空間等。存儲單元的大小可以根據(jù)實際需要設置,例如設置為1g、2g或者一個第一硬盤的容量等。

      實現(xiàn)時,可以采用位圖、鏈表、哈希樹等表示硬盤的存儲空間的分配情況。例如,將每個存儲單元劃分為設定大小的存儲塊,例如,4k、8k等,存儲塊與位圖中的位一一對應,位圖中的位為1(或0)時,表示對應的存儲塊已使用;位圖中的位為0(或1)時,表示對應的存儲塊未使用。需要說明的是,在本發(fā)明實施例中,硬盤的存儲空間均指物理空間。

      各類型的硬盤的空間樹可以存儲在精簡池中某幾個硬盤的固定區(qū)域或者存儲在精簡池以外的硬盤中,在系統(tǒng)啟動時,會將其加載到緩存中,以提高訪問速度。

      創(chuàng)建或擴容時,若增加了某種類型的硬盤,只需要增加該類型硬盤對應的空間樹的葉子節(jié)點,在增加的葉子節(jié)點中記錄增加的硬盤的存儲單元的相關信息,并在該空間樹的根節(jié)點中更新該類型硬盤的相關信息即可,實現(xiàn)方便。

      本發(fā)明基于自動精簡配置,因此,前述至少兩種硬盤采用精簡池統(tǒng)一管理,精簡池的容量的大小可以等于或者小于存儲系統(tǒng)中所有硬盤的總容量。精簡池上創(chuàng)建有精簡卷,又稱精簡邏輯單元號(thinlogicalunitnumber,簡稱thinlun),精簡卷的容量可以大于、等于或者小于精簡池的總容量,精簡卷的容量可以根據(jù)實際需要配置。

      當該存儲系統(tǒng)100接收到主機發(fā)送的寫io請求時,通過精簡卷為其中的業(yè)務數(shù)據(jù)分配邏輯空間,當分配了邏輯空間后,再從精簡池中為該io請求中的業(yè)務數(shù)據(jù)分配對應的物理空間(即業(yè)務數(shù)據(jù)存儲空間)和用于記錄元數(shù)據(jù)的物理空間(即元數(shù)據(jù)存儲空間),該元數(shù)據(jù)包括精簡卷的邏輯空間的地址到精簡池的物理空間的地址的映射關系,最后再將元數(shù)據(jù)寫入元數(shù)據(jù)存儲空間并將業(yè)務護具寫入業(yè)務數(shù)據(jù)存儲空間。

      當該存儲系統(tǒng)100接收到主機發(fā)送的讀io請求時,先訪問元數(shù)據(jù)存儲空間, 得到讀io請求對應的元數(shù)據(jù),然后根據(jù)元數(shù)據(jù)記錄的精簡卷的邏輯空間的地址到精簡池的物理空間的地址的映射關系,得到業(yè)務數(shù)據(jù)所在的物理空間的地址,進而從該物理空間讀取業(yè)務數(shù)據(jù)。

      元數(shù)據(jù)具有以下特點:

      元數(shù)據(jù)與業(yè)務數(shù)據(jù)占用物理空間相比,僅占少量空間;

      元數(shù)據(jù)讀寫非常頻繁,且讀io數(shù)量大于寫io;

      元數(shù)據(jù)讀寫請求為隨機小io請求。

      基于上述特點,本發(fā)明實施例通過優(yōu)先為元數(shù)據(jù)分配隨機訪問性能高的硬盤的存儲空間,從而可以提升元數(shù)據(jù)的訪問性能,從而達到提升存儲系統(tǒng)的整體讀寫性能的目的。具體方法見下面的基于自動精簡配置的存儲資源分配方法的實施例。

      本發(fā)明實施例提供了一種基于自動精簡配置的存儲資源分配方法,本實施例以該方法應用于圖1所示的存儲系統(tǒng)為例說明,如圖2所示,該方法包括:

      步驟201:獲取主機發(fā)送的寫io請求。

      步驟202:當該寫io請求未被分配存儲空間時,判斷第一硬盤是否存在可用空間,若所述第一硬盤存在可用空間,則執(zhí)行步驟203;若第一硬盤不存在可用空間,則執(zhí)行步驟204。

      其中,第一硬盤為所述至少兩種硬盤中隨機訪問性能最好的硬盤。

      步驟203:從第一硬盤中為該寫io請求分配元數(shù)據(jù)存儲空間。

      步驟204:從第二硬盤中為該寫io請求分配元數(shù)據(jù)存儲空間。

      其中,第二硬盤的硬盤性能為至少兩種硬盤中隨機訪問性能第二好的硬盤。

      本發(fā)明實施例提供了一種基于自動精簡配置的存儲資源分配方法,本實施例以該方法應用于圖1所示的存儲系統(tǒng)為例說明,在本實施例中,以存儲系統(tǒng)包括三種硬盤為例,對本發(fā)明進行詳細說明。其中,按照硬盤的隨機訪問性能排序,第一硬盤為ssd,第二硬盤為sas硬盤,第三硬盤為sata硬盤。如圖3所示,該方法包括:

      步驟301:接收主機發(fā)送的寫io請求。

      其中,該寫io請求包括lun的id和邏輯區(qū)塊地址(logicalblockaddress, lba)。該寫io請求還包括待寫入的業(yè)務數(shù)據(jù)。

      當該lun為thinlun時,則執(zhí)行步驟302,當該lun不是thinlun時,直接根據(jù)lba線性映射到物理空間,從該物理空間讀取業(yè)務數(shù)據(jù)。

      主機發(fā)送的io請求包括讀io請求和寫io請求,io請求中可以攜帶標識位,例如,當該標識位為1(或0)時,表示當前io請求為寫io請求,當該標識位為0(或1)時,表示當前io請求為讀io請求。

      步驟302:判斷該寫io請求是否被分配存儲空間,當該寫io請求未被分配存儲空間時,執(zhí)行步驟303;當該寫io請求被分配過存儲空間時,執(zhí)行步驟308。

      其中,該步驟302可以包括:

      在該lun對應的元數(shù)據(jù)存儲空間中查找lba,若在該lun對應的元數(shù)據(jù)存儲空間中查找到該lba,表示該寫io請求已被分配過存儲空間;若在該lun對應的元數(shù)據(jù)存儲空間中未查找到該lba,則表示該寫io請求未被分配過存儲空間。

      步驟303:判斷第一硬盤是否存在可用空間,若第一硬盤存在可用空間,則執(zhí)行步驟304;若第一硬盤不存在可用空間,則執(zhí)行步驟305。

      該步驟303可以包括:

      根據(jù)第一硬盤的空間樹判斷所述第一硬盤是否還有可用空間,該第一硬盤的空間樹用于記錄所述第一硬盤的存儲空間的信息。

      如前所述,第一硬盤的空間樹包括根節(jié)點和多個葉子節(jié)點,根節(jié)點用于記錄第一硬盤的總容量,每個節(jié)點對應第一硬盤的一個存儲單元,每個節(jié)點用于記錄對應的存儲單元的容量、已用空間和可用空間。

      步驟304:從第一硬盤中為寫io請求分配元數(shù)據(jù)存儲空間。

      步驟305:判斷第二硬盤中是否存在可用空間,若第二硬盤存在可用空間,則執(zhí)行步驟306;若第二硬盤不存在可用空間,則執(zhí)行步驟307;

      同樣地,判斷第二硬盤中是否存在可用空間,可以根據(jù)第二硬盤的空間樹判斷第二硬盤是否還有可用空間,該第二硬盤的空間樹用于記錄第二硬盤的存儲空間的信息。

      步驟306:從第二硬盤中為寫io請求分配元數(shù)據(jù)存儲空間。

      步驟307:向主機發(fā)送響應消息。

      該響應消息用于指示元數(shù)據(jù)存儲空間不能分配。

      在分配元數(shù)據(jù)存儲空間之后,需要將元數(shù)據(jù)存儲空間的索引加載到緩存中,

      步驟308:根據(jù)寫io請求中的lba,查找lba對應的存儲空間的地址,并將寫io請求中的業(yè)務數(shù)據(jù)寫入查找到的存儲空間。

      步驟309:在分配元數(shù)據(jù)存儲空間之后,判斷第二硬盤是否存在可用空間;若第二硬盤存在可用空間,則執(zhí)行步驟310;若第二硬盤不存在可用空間,則執(zhí)行步驟311。

      步驟310:在第二硬盤中為寫io請求分配業(yè)務數(shù)據(jù)存儲空間。

      步驟311:判斷第三硬盤是否存在可用空間,若第三硬盤存在可用空間,則執(zhí)行步驟312;若第三硬盤不存在可用空間,則執(zhí)行步驟313。

      步驟312:在第三硬盤中為寫io請求分配業(yè)務數(shù)據(jù)存儲空間。

      步驟313:判斷第一硬盤是否存在可用空間,若第一硬盤存在可用空間,則執(zhí)行步驟314;若第一硬盤不存在可用空間,則執(zhí)行步驟315。

      步驟314:從第一硬盤中為寫io請求分配業(yè)務數(shù)據(jù)存儲空間。

      步驟315:向主機發(fā)送響應消息。

      其中,該響應消息用于指示業(yè)務數(shù)據(jù)存儲空間不能分配。

      在分配了業(yè)務數(shù)據(jù)存儲空間之后,本實施例的方法還包括:

      將寫io請求中的業(yè)務數(shù)據(jù)寫入分配到的業(yè)務數(shù)據(jù)存儲空間;

      將記錄業(yè)務數(shù)據(jù)存儲空間的地址與thinlun的邏輯空間的地址的映射關系的元數(shù)據(jù)寫入分配到的元數(shù)據(jù)存儲空間。

      容易知道,當元數(shù)據(jù)存儲空間和業(yè)務數(shù)據(jù)存儲空間分配以后,需要修改對應的硬盤的空間樹的信息,例如,將分配的空間修改為已用空間。

      值得注意的是,在其他實施例中,步驟313和步驟314中的第一硬盤可以由第四硬盤替換,該第四硬盤的隨機訪問性能比前述第一硬盤、第二硬盤和第三硬盤的隨機訪問性能差,例如nl-sas;或者,還可以在步驟313和步驟314之前,增加先判斷第四硬盤是否存在可用空間的步驟,當?shù)谝挥脖P不存在可用空間再執(zhí)行步驟313。

      上述步驟的執(zhí)行可以通過存儲系統(tǒng)根據(jù)前述軟件程序執(zhí)行。例如,步驟301由存儲系統(tǒng)根據(jù)圖1中的獲取模塊112執(zhí)行,步驟303、305、309、311、313由存儲系統(tǒng)根據(jù)判斷模塊113執(zhí)行,步驟304、306、310、312、314由存儲系統(tǒng)根據(jù)分配模塊114執(zhí)行。

      本發(fā)明實施例提供了一種基于自動精簡配置的存儲資源分配裝置,適用于圖1所示的存儲系統(tǒng),參見圖4,該裝置可以通過軟件、硬件或者兩者的結合實現(xiàn)成為存儲系統(tǒng)的全部或者一部分。該裝置可以包括:

      獲取單元401,用于獲取主機發(fā)送的寫io請求;

      判斷單元402,用于當獲取單元401獲得的寫io請求未被分配存儲空間時,判斷第一硬盤是否存在可用空間,該第一硬盤為所述至少兩種硬盤中隨機訪問性能最好的硬盤;

      分配單元403,用于當判斷單元402判斷第一硬盤存在可用空間時,從第一硬盤中為獲取單元401獲得的寫io請求分配元數(shù)據(jù)存儲空間;當判斷單元403判斷所述第一硬盤不存在可用空間時,從第二硬盤中為獲取單元401獲得的寫io請求分配元數(shù)據(jù)存儲空間,該第二硬盤的硬盤性能為至少兩種硬盤中隨機訪問性能第二好的硬盤。

      本發(fā)明實施例提供了一種基于自動精簡配置的存儲資源分配裝置,適用于圖1所示的存儲系統(tǒng),參見圖5,該裝置可以通過軟件、硬件或者兩者的結合實現(xiàn)成為存儲系統(tǒng)的全部或者一部分。該裝置可以包括:

      獲取單元501,用于獲取主機發(fā)送的寫io請求;

      判斷單元502,用于當獲取單元501獲得的寫io請求未被分配存儲空間時,判斷第一硬盤是否存在可用空間,該第一硬盤為所述至少兩種硬盤中隨機訪問性能最好的硬盤;

      分配單元503,用于當判斷單元502判斷第一硬盤存在可用空間時,從第一硬盤中為獲取單元501獲得的寫io請求分配元數(shù)據(jù)存儲空間;當判斷單元503判斷所述第一硬盤不存在可用空間時,從第二硬盤中為獲取單元501獲得的寫io請求分配元數(shù)據(jù)存儲空間,該第二硬盤的硬盤性能為至少兩種硬盤中隨機訪問性能第二好的硬盤。

      可選地,至少兩種硬盤選自ssd、sata硬盤、sas硬盤和nl-sas硬盤。

      優(yōu)選地,所述第一硬盤可以為ssd,所述第二硬盤可以為sas硬盤。

      在本實施例的一種實現(xiàn)方式中,該判斷單元502,具體用于根據(jù)第一硬盤的空間樹判斷所述第一硬盤是否還有可用空間,所述第一硬盤的空間樹用于記錄 所述第一硬盤的存儲空間的信息。

      所述第一硬盤的空間樹包括多個節(jié)點,每個節(jié)點所述第一硬盤的一個存儲單元,每個所述節(jié)點用于記錄對應的所述存儲單元的容量、已用空間和可用空間。

      在本實施例的一種實現(xiàn)方式中,所述判斷單元502,還用于在所述分配單元分配所述元數(shù)據(jù)存儲空間之后,判斷所述第二硬盤是否存在可用空間;

      所述分配單元503,還用于當所述判斷單元502判斷所述第二硬盤存在可用空間時,在所述第二硬盤中為所述寫io請求分配業(yè)務數(shù)據(jù)存儲空間;當所述判斷單元502判斷所述第二硬盤不存在可用空間時,在第三硬盤中為所述寫io請求分配業(yè)務數(shù)據(jù)存儲空間,所述第三硬盤的隨機訪問性能弱于所述第二硬盤的隨機訪問性能。

      實現(xiàn)時,第三硬盤可以為sata硬盤。

      分配單元503,還用于當所述第三硬盤不存在可用空間時,在第四硬盤中為所述寫io請求分配業(yè)務數(shù)據(jù)存儲空間,所述第四硬盤屬于所述至少兩種硬盤中的一種。實現(xiàn)時,第四硬盤可以為ssd也可以為nl-sas硬盤。

      需要說明的是,判斷單元502可以根據(jù)各類型硬盤對應的空間樹判斷各類型硬盤是否存在可用空間,分配模塊503可以根據(jù)判斷單元503的判斷結果,從各類型硬盤中為寫io請求分配存儲空間(元數(shù)據(jù)存儲空間或業(yè)務數(shù)據(jù)存儲空間)。在本發(fā)明的其他實施例中,也可以優(yōu)先從隨機讀寫性能最差的硬盤中為業(yè)務數(shù)據(jù)分配存儲空間(即業(yè)務數(shù)據(jù)存儲空間),當隨機讀寫性能最差的硬盤的沒有可用空間時,再從隨機讀寫性能較好的硬盤中為業(yè)務數(shù)據(jù)分配存儲空間。其具體實現(xiàn)可以參見圖3所示方法實施例,在此省略詳細描述。

      需要說明的是:上述實施例提供的基于自動精簡配置的存儲資源分配裝置在存儲數(shù)據(jù)時,僅以上述各功能單元的劃分進行舉例說明,實際應用中,可以根據(jù)需要而將上述功能分配由不同的功能單元完成,即將裝置的內部結構劃分成不同的功能單元,以完成以上描述的全部或者部分功能。另外,上述實施例提供的基于自動精簡配置的存儲資源分配裝置與基于自動精簡配置的存儲資源分配方法實施例屬于同一構思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。

      本領域普通技術人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。

      以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。

      當前第1頁1 2 
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1