數(shù)據(jù)存儲系統(tǒng)中的存儲驅動器虛擬化的制作方法
【專利摘要】在一個實施例中,一種方法包括:在與多個服務器通信的物理驅動器中定義多個虛擬驅動器;將虛擬化參數(shù)分配給所述虛擬驅動器中的每一個;以及將所述虛擬化參數(shù)傳送到位于所述物理驅動器處并且可操作來在所述物理驅動器上配置所述虛擬驅動器的驅動器管理器。還公開了一種裝置。
【專利說明】數(shù)據(jù)存儲系統(tǒng)中的存儲驅動器虛擬化
【技術領域】
[0001]本公開一般地涉及計算機系統(tǒng),并且更特別地涉及計算機存儲虛擬化。
【背景技術】
[0002]諸如服務器的計算機系統(tǒng)中的存儲驅動器的容量通常利用不足。驅動器制造商趨于維持驅動器的平均銷售價格,同時通過使用技術進步來增加容量。因此,減少系統(tǒng)成本通常不是實用的,即使存儲命令不隨著提供的容量增加而增加。在一些應用中,跨越多個服務器共享驅動器是有益的。在常規(guī)系統(tǒng)中,存儲控制器被用來實現(xiàn)卷管理并且從共享的驅動器劃分出卷。
【專利附圖】
【附圖說明】
[0003]圖1圖示了其中可以實現(xiàn)本文中所描述的實施例的系統(tǒng)的示例。
[0004]圖2描繪了在實現(xiàn)本文中所描述的實施例時有用的網(wǎng)絡設備的示例。
[0005]圖3是圖1的網(wǎng)絡中的驅動器的簡圖。
[0006]圖4是圖示了依照一個實施例的用于存儲驅動器虛擬化的處理的概述的流程圖。
[0007]對應的附圖標記在全部附圖的若干視圖中指示對應的部分。
【具體實施方式】[0008]概述
[0009]在一個實施例中,一種方法一般地包括:在與多個服務器通信的物理驅動器中定義多個虛擬驅動器;將虛擬化參數(shù)分配給所述虛擬驅動器中的每一個;以及將所述虛擬化參數(shù)傳送到位于所述物理驅動器處并且可操作來在所述物理驅動器上配置所述虛擬驅動器的驅動器管理器。
[0010]在另一實施例中,一種裝置一般地包括處理器,所述處理器用于:在物理驅動器中定義多個虛擬驅動器;將虛擬化參數(shù)分配給所述虛擬驅動器中的每一個;以及將所述虛擬化參數(shù)傳送到位于所述物理驅動器處并且可操作來在所述物理驅動器上配置所述虛擬驅動器的驅動器管理器。該裝置進一步包括用于存儲虛擬化參數(shù)的存儲器。
[0011]在又一個實施例中,一種系統(tǒng)一般地包括:虛擬化管理器,其用于在物理驅動器中定義多個虛擬驅動器并且將虛擬化參數(shù)分配給所述虛擬驅動器中的每一個;以及驅動器管理器,其位于所述物理驅動器處并且可操作來接收所述虛擬化參數(shù)并且在所述物理驅動器上配置所述虛擬驅動器。
[0012]示例實施例
[0013]以下描述被呈現(xiàn)以使得本領域的普通技術人員能夠實現(xiàn)并且使用實施例。特定實施例和應用的描述僅作為示例被提供,并且各種修改對本領域的技術人員來說將容易地顯而易見。本文中所描述的一般原理可以在不偏離實施例的范圍的情況下適用于其它應用。因此,實施例不限于所示出的那些,而是將符合與本文中所描述的原理和特征一致的最廣泛的范圍。出于清楚的目的,與在涉及實施例的【技術領域】中已知的技術材料相關的細節(jié)未被詳細地描述。
[0014]在網(wǎng)絡環(huán)境中,多個服務器可以訪問一組驅動器。在其中驅動器未被服務器充分利用的情況下,跨越多個服務器共享驅動器是有用的。常規(guī)的系統(tǒng)使用在位于服務器與驅動器之間的集中式控制器處實現(xiàn)的卷管理,以從附接的物理驅動器中得到更高容量的邏輯驅動器。在另一示例中,驅動器可以通過將給定驅動器硬分配給給定刀片服務器的分區(qū)結構被附接到多個服務器。在這個常規(guī)的架構中,驅動器的數(shù)目必須等于或超過附接的服務器的數(shù)目,即使這導致將比被需要的更多的驅動器容量分配給服務器。
[0015]本文中所描述的實施例虛擬化驅動器以在驅動器級別上邏輯地分割它。驅動器級別上的驅動容量的虛擬化允許每個物理驅動器看起來像多個驅動器,使得系統(tǒng)能夠被用比在常規(guī)系統(tǒng)中所需要的更少的驅動器來配置。如在下面詳細地描述的,存儲驅動器被虛擬化使得其能夠被多個設備(例如,服務器)共享。這使得能夠實現(xiàn)使用無狀態(tài)交換結構(例如,SAS (串行附接的SCSI (小型計算機系統(tǒng)接口))擴展器、FC (光纖通道)-SAS橋)、以太網(wǎng)交換機的低成本解決方案,以創(chuàng)建能夠支持大量的服務器的一組驅動器,提供成本效率。顯著的成本節(jié)約可以通過消除對于集中式存儲控制器的需要來提供。物理驅動器級別上的存儲設備分割允許系統(tǒng)配置從服務器的數(shù)目解耦驅動器的數(shù)目,并且使得給定集合的物理驅動器能夠被呈現(xiàn)為更大數(shù)目的邏輯驅動器,兩者都出于冗余和成本目的。
[0016]現(xiàn)參考附圖,并且首先參考圖1,其中可以實現(xiàn)本文中所描述的實施例的系統(tǒng)的示例被示出。為了簡單化,僅小數(shù)目的節(jié)點被示出。系統(tǒng)包括通過網(wǎng)絡14與多個存儲設備12通信的多個設備(例如,服務器(主機)S1、S2、S3) 10。存儲設備12可以是例如包括多個物理驅動器(D1、D2)的JBOD (簡單磁盤捆綁)。存在與任何數(shù)目的驅動器(Dn) 12通信的任何數(shù)目的服務器(Sn) 10。不存在對于服務器10與驅動器12之間的一一對應關系或對于驅動器的數(shù)目超過服務器的數(shù)目的需要??赡艽嬖诶绫闰寗悠?2更多的服務器10、比服務器更多的驅動器、或者相同數(shù)目的服務器和驅動器。如在下面所描述的,寫操作被直接對驅動器12執(zhí)行,而不用集中式控制器和相關聯(lián)的高速緩存器以及卷管理。
[0017]服務器10可以為刀片服務器、機架服務器、虛擬服務器或配置成執(zhí)行服務器或服務操作的任何其它類型的網(wǎng)絡設備或物理或邏輯部件(例如,虛擬機、虛擬桌面)。在一個示例中,多個刀片服務器10被一起收容在機箱中。服務器10可以例如在數(shù)據(jù)中心網(wǎng)絡中操作,并且可以被配置成作為任何數(shù)目的虛擬機的主機。
[0018]驅動器12可以是例如包括硬盤驅動器(HDD)、固態(tài)驅動器(SSD)、混合驅動器、RAM(隨機存取存儲器)、或任何其它適合的存儲介質的FC (光纖通道)驅動器或SAS (串行附接的SCSI (小型計算機系統(tǒng)接口)驅動器。存儲設備12可以例如是用于刀片服務器的直接附接的儲存設備。在一個實施例中,服務器10經(jīng)由運行SCSI的存儲協(xié)議來與驅動器12進行通信。服務器10和驅動器12可以例如使用SAS、FC、SATA (串行高級技術附件)、以太網(wǎng)、或其它適合的協(xié)議通信。
[0019]網(wǎng)絡14可以包括任何數(shù)目的節(jié)點,包括例如SAS擴展器、SAS交換機、FC-SAS電橋、或其它網(wǎng)絡部件。SAS擴展器輔助多個起始器設備(服務器10)與多個目標設備(設備12)之間的數(shù)據(jù)轉移。網(wǎng)絡14可以包括或者被耦合到一個或多個網(wǎng)絡(例如,局域網(wǎng)、公共交換網(wǎng)、虛擬局域網(wǎng)、虛擬專用網(wǎng)、城域網(wǎng)、廣域網(wǎng)、存儲區(qū)域網(wǎng)、企業(yè)網(wǎng)、因特網(wǎng)、內聯(lián)網(wǎng)或任何其它網(wǎng)絡)。
[0020]如在下面詳細地描述的,驅動器12在SAS (或其它接口 /協(xié)議)級別上被邏輯地分割成虛擬驅動器,使得每個物理驅動器能夠被多個服務器10共享。這允許系統(tǒng)解耦驅動器12的數(shù)目和服務器10的數(shù)目,并且使得給定集合的物理驅動器能夠被呈現(xiàn)為更大數(shù)目的邏輯驅動器。驅動器12可以每個都具有相同數(shù)目的虛擬驅動器或者一個或多個驅動器可以具有不同數(shù)目的虛擬驅動器。任何數(shù)目的邏輯分區(qū)可以被用于數(shù)據(jù)的冗余存儲。例如,RAID (獨立磁盤冗余陣列)可以通過位于服務器10中RAID的功能被跨越邏輯設備地使用,而不是常規(guī)的卷管理。
[0021]虛擬化管理器(管理實體)16邏輯地分割驅動器12并且將虛擬化參數(shù)分配給虛擬驅動器。例如,虛擬化管理器16可以位于服務器10 (虛擬服務器)(例如,在圖1中的服務器S3處的虛框中所示出的)中的一個處、分布于服務器中的兩個或更多個上、或位于獨立網(wǎng)絡設備(例如,服務器、設備)處(圖1中所示出的)。虛擬化管理器16與位于物理存儲驅動器12中的每一個處的驅動器管理器18進行通信。如圖1中所示出,驅動器管理器18可以被實現(xiàn)為驅動器12上或在驅動器與網(wǎng)絡14之間的接口處的邏輯分區(qū)。例如,驅動器管理器18可以在被配置用于附接到物理驅動器12并且包括用于連接到網(wǎng)絡14的一個或多個端口的適配器中實現(xiàn)。因此,如本文中所使用的‘位于物理驅動器處的驅動器管理器’可以指的是在物理驅動器12處的驅動器管理器18、耦合到物理驅動器、或以其它方式插入在虛擬化管理器16與物理驅動器中的一個之間并且與物理驅動器相關聯(lián)。
[0022]應當理解的是圖1中所示出的系統(tǒng)僅是一個示例,并且本文中所描述的實施例可以使用不同的拓撲和設備來實現(xiàn),而不偏離實施例的范圍。
[0023]可以被用來實現(xiàn)本文中所描述的實施例的網(wǎng)絡設備20 (例如,結合虛擬化管理器16或作為虛擬化管理器操作的其它網(wǎng)絡設備的服務器10)的示例在圖2中被示出。在一個實施例中,網(wǎng)絡設備20是可以被以硬件、軟件或其任何組合來實現(xiàn)的可編程的機器。設備20包括一個或多個處理器22、存儲器24、以及網(wǎng)絡接口 26。存儲器24可以為易失性存儲器或非易失性存儲設備,其存儲用于供處理器22執(zhí)行和使用的各種應用、模塊、以及數(shù)據(jù)。例如,存儲器24可以包括用于虛擬驅動器的虛擬化參數(shù)28。
[0024]邏輯可以被編碼在一個或多個有形的計算機可讀介質中以用于供處理器22執(zhí)行。例如,處理器22可以執(zhí)行在諸如存儲器24的計算機可讀介質中存儲的代碼。計算機可讀介質可以例如是電子(例如,RAM (隨機存取存儲器)、ROM (只讀存儲器)、EPROM (可擦可編程只讀存儲器))、磁、光(例如,CD、DVD )、電磁、半導體技術、或任何其它適合的介質。
[0025]網(wǎng)絡接口 26可以包括用于接收數(shù)據(jù)或將數(shù)據(jù)發(fā)送到其它設備的一個或多個接口(線卡、端口)。接口 26可以包括例如以太網(wǎng)、SAS、或用于連接到計算機或網(wǎng)絡的光纖通道接口。
[0026]應當理解的是圖2中所示出并且在上面所描述的網(wǎng)絡設備僅是示例,并且可以使用具有不同部件和配置的網(wǎng)絡設備而不偏離實施例的范圍。
[0027]圖3示意性地圖示了虛擬化的驅動器12的示例。在一個實施例中,驅動器的邏輯地址空間被劃分成η個邏輯單元號(LUN) 32。邏輯單元號被用來標識由SCSI或其它協(xié)議尋址的邏輯單元。如在下面所描述的,LUN被用來標識磁盤驅動器12上的分區(qū)并且可以被稱為虛擬LUN (VLUN)。標識符(例如全球通用名稱(WffN))與LUN32中的每一個相關聯(lián)。每個驅動器12都可以具有由廠商所分配的WffN (例如,廠商標識符和廠商規(guī)定的序列號)。本文中所描述的虛擬化系統(tǒng)將附加的WffN (虛擬WffN)分配給與邏輯分區(qū)相關聯(lián)的每個虛擬LUN。默認地,物理驅動器12將具有帶有由廠商所定義的WffN的單個LUN (B卩,非虛擬化的驅動器)。
[0028]在圖3中所示出的示例中,驅動器12被分割成n=5個LUN32,其中虛擬驅動器每個被分配不同的WWN。在這個示例中,LUN32中的一個被標識為管理LUN。管理LUN可以被用作驅動器管理器18 (圖1)。如在上面所描述的,驅動器管理器18還可以在驅動器的外部被配置。
[0029]管理LUN (驅動器管理器18)被用來定義驅動器LUN定義(例如,針對每個LUN的尺寸和WffN)。針對虛擬驅動器中的每一個的WffN和LUN尺寸(虛擬化參數(shù))被虛擬化管理器16分配(圖1)。虛擬化管理器與驅動器管理器之間的管理協(xié)議可以基于任何數(shù)目的熟知的管理協(xié)議。SAS管理協(xié)議的擴展可以被用于虛擬化管理器16與驅動器管理器18之間的通信。在一個實施例中,SCSI模式頁面被用來實現(xiàn)LUN和WffN定義和分配。驅動器12被優(yōu)選地用雙端口來配置。適配器可以被用來將單端口驅動器轉換成雙端口驅動器。雙附接驅動器用雙端口上的公共WWN來輸出虛擬驅動器中的每一個。
[0030]圖4是圖示了依照一個實施例的用于存儲驅動器虛擬化的處理的概述的流程圖。在步驟40處,虛擬化管理器16將一個或多個物理驅動器12分割成多個虛擬驅動器(η個邏輯單元32 (圖1和3))。虛擬化管理器16針對虛擬驅動器中的每一個分配虛擬化參數(shù)(步驟42)。如在上面所描述的,每個虛擬驅動器都被分配WWN。驅動器管理器18針對每個物理驅動器12被標識并且被用來定義(配置)由在物理驅動器處的虛擬化管理器16所分配的虛擬化參數(shù)(例如,LUN尺寸、WWN、訪問屬性)。在一個示例中,LUN中的一個(例如,LUNO)可以被定義為管理LUN/驅動器管理器(圖3)。虛擬化管理器16與位于物理驅動器12中的每一個處的驅動器管理器18進行通信以定義虛擬化參數(shù)(步驟44)。驅動器12輸出虛擬驅動器中的每一個以供附接的服務器10使用。
[0031]虛擬化管理器16可以根據(jù)需要動態(tài)地更新在物理驅動器12中的一個或多個處的虛擬驅動器的數(shù)目或尺寸。更新可以被周期性地或在事件發(fā)生(例如,服務器10的數(shù)目的改變、驅動器12的數(shù)目的改變、存儲要求的增加或減少)時執(zhí)行。
[0032]應當理解的是,圖4中所圖示的并且在上面描述的處理僅是示例,并且步驟可以被修改、添加或組合,而不偏離實施例的范圍。
[0033]盡管已經(jīng)依照所示出的實施例對方法和裝置進行了描述,但是本領域的普通技術人員將容易地認識到能夠存在在不偏離實施例的范圍的情況下做出的變化。因此,意圖是在上面描述中包含和在附圖中所示出的所有主題應該被解釋為說明性的而不是限制性的。
【權利要求】
1.一種方法,包括: 在與多個服務器通信的物理驅動器中定義多個虛擬驅動器; 將虛擬化參數(shù)分配給所述虛擬驅動器中的每一個;以及 將所述虛擬化參數(shù)傳送到位于所述物理驅動器處并且可操作來在所述物理驅動器上配置所述虛擬驅動器的驅動器管理器。
2.根據(jù)權利要求1所述的方法,其中定義多個虛擬驅動器包括將物理驅動器邏輯地址空間分割成多個邏輯單元號。
3.根據(jù)權利要求2所述的方法,其中所述邏輯單元號的一個包括所述驅動器管理器。
4.根據(jù)權利要求1所述的方法,其中定義多個虛擬驅動器包括在多個物理驅動器處定義多個虛擬驅動器。
5.根據(jù)權利要求4所述的方法,其中所述物理驅動器的數(shù)目小于服務器的數(shù)目。
6.根據(jù)權利要求1所述的方法,其中分配所述虛擬化參數(shù)包括通過所述多個服務器中的一個作為虛擬化管理器來分配所述虛擬化參數(shù)。
7.根據(jù)權利要求1所述的方法,其中分配所述虛擬化參數(shù)包括將全球通用名稱、尺寸以及訪問屬性分配給所述虛擬驅動器中的每一個。
8.根據(jù)權利要求1所述的方法,其中傳送所述虛擬化參數(shù)包括使用SCSI(小型計算機系統(tǒng)接口)協(xié)議。
9.根據(jù)權利要求1所述·的方法,其中所述物理驅動器包括包含所述驅動器管理器的適配器。
10.一種裝置,包括: 處理器,用于在物理驅動器中定義多個虛擬驅動器,將虛擬化參數(shù)分配給所述虛擬驅動器中的每一個,以及將所述虛擬化參數(shù)傳送到位于所述物理驅動器處并且可操作來在所述物理驅動器上配置所述虛擬驅動器的驅動器管理器;以及 存儲器,用于存儲所述虛擬化參數(shù)。
11.根據(jù)權利要求10所述的裝置,其中定義多個虛擬驅動器包括將物理驅動器邏輯地址空間分割成多個邏輯單元號。
12.根據(jù)權利要求11所述的裝置,其中所述邏輯單元號中的一個包括所述驅動器管理器。
13.根據(jù)權利要求10所述的裝置,其中定義多個虛擬驅動器包括在多個物理驅動器處定義多個虛擬驅動器。
14.根據(jù)權利要求13所述的裝置,其中所述物理驅動器的數(shù)目小于與所述物理驅動器通信的服務器的數(shù)目。
15.根據(jù)權利要求10所述的裝置,其中所述裝置被配置用于在與所述物理驅動器通信的多個服務器中的一個處操作。
16.根據(jù)權利要求10所述的裝置,其中分配所述虛擬化參數(shù)包括將全球通用名稱、尺寸以及訪問屬性分配給所述虛擬驅動器中的每一個。
17.根據(jù)權利要求10所述的裝置,其中傳送所述虛擬化參數(shù)包括使用SCSI(小型計算機系統(tǒng)接口)協(xié)議。
18.根據(jù)權利要求10所述的裝置,其中所述物理驅動器包括包含所述驅動器管理器的適配器。
19.一種系統(tǒng),包括: 虛擬化管理器,用于在物理驅動器中定義多個虛擬驅動器并且將虛擬化參數(shù)分配給所述虛擬驅動器中的每一個;以及 驅動器管理器,位于所述物理驅動器處并且可操作來從所述虛擬化管理器接收所述虛擬化參數(shù)并且在所述物理驅動器上配置所述虛擬驅動器。
20.根據(jù)權利要求19所述的系統(tǒng),其中所述物理驅動器被配置用于與多個服務器通信,所述服務器可操作用于直接對所述物理驅動器執(zhí)行寫操作而無需插入在所述服務器與物理驅動器之間的存 儲控制器。
【文檔編號】G06F3/06GK103827805SQ201280046174
【公開日】2014年5月28日 申請日期:2012年9月13日 優(yōu)先權日:2011年9月22日
【發(fā)明者】薩提亞·尼什塔拉, 露咔·卡菲羅 申請人:思科技術公司