專利名稱:用于使用存儲區域網絡恢復計算機系統的方法和系統的制作方法
技術領域:
本發明總體上涉及存儲區域網絡(“SAN”),更具體地,涉及使用SAN恢復和引導計算機系統。
背景技術:
考慮到災難情況下的恢復,許多公司將計算機服務器的數據卷宗(data volume) 復制到遠離計算機服務器的災難恢復點。盡管數據卷宗包括用于計算機服務器所提供的服務的信息,但計算機服務器還使用引導卷宗,其包括操作系統數據和支持文件,用于引導并運行計算機系統。因此,許多公司還復制或者拍攝引導卷宗的“快照”,以允許計算機服務器 (或者其備份)從引導卷宗的備份副本進行引導。然而,保持引導卷宗快照的最新狀態可能是耗時且易于出錯的,因為引導卷宗受到操作系統的活躍控制,并由管理員和各種軟件不斷地更新。
這個最初的問題的一個部分解決方案被稱為從SAN引導。從SAN引導允許計算機服務器將SAN的邏輯單元直接用作引導卷宗。注意,“SAN”的使用是廣義上的,可以實際上指代卷宗、邏輯單元或者存儲區域網絡的邏輯單元編號。SAN可以是本地SAN,于是可以將本地SAN的邏輯單元復制到在災難恢復點處的遠程SAN。因為引導卷宗實際上是本地SAN 的邏輯單元,因此可以更容易地在遠程SAN上保持引導卷宗快照的最新狀態。例如,在本地 SAN從計算機系統接收到寫請求后,是本地SAN負責將寫請求轉發到遠程SAN,而不是計算機服務器。然而,仍然留下了允許計算機服務器實際上利用遠程SAN上的復制的引導卷宗的問題。
更具體地,已經將計算機服務器的主機總線適配器配置為通過配置的路徑從本地 SAN的邏輯單元進行引導。同時,類似于TCP/IP如何重路由網絡業務那樣,多路徑技術可用于允許計算機服務器通過備選路徑訪問邏輯單元。通常在多路徑驅動器中實施多路徑技術。盡管計算機服務器能夠利用多路徑驅動器在正常操作期間通過配置的路徑或者備選路徑訪問邏輯單元,但在初始引導過程中多路徑驅動器是不可用的。作為替代,在初始引導過程中,即使配置的路徑斷開,主機總線適配器也將只會嘗試使用配置的路徑來引導,而不是嘗試使用備選路徑。另外,盡管多路徑驅動器還允許計算機服務器通過另一條路徑訪問另一個邏輯單元(例如,在遠程SAN上的復制的引導卷宗),但在初始引導過程中多路徑驅動器同樣不可用。
此外,即使主機總線適配器具有了某些多路徑性能,但主機總線適配器仍不能應對主機總線適配器能夠訪問邏輯單元,但實際上不能從該邏輯單元進行引導的情況。例如, 當由于該邏輯單元正由第二控制器管理使得到該邏輯單元的配置路徑當前不是“有效”路徑時,就會出現這一情況。
因此使用SAN來恢復和引導計算機服務器/系統是當前面臨的難題。
發明內容
本發明通過提供用于使用SAN來恢復并引導計算機系統的方法和系統解決了上述及其他問題,從而發展了可使用技術的狀態。計算機系統包括本地存儲設備。接收對向本地存儲設備上的引導卷宗寫入數據的請求。向本地存儲設備寫入數據,及基本上在接收到所述請求的同時向SAN寫入數據。隨后可以使用寫入SAN的數據來引導計算機系統。有利地,通過重做計算機系統以便重新包含本地存儲設備,易于保持在本地存儲設備與SAN之間的引導卷宗最新狀態,從而允許計算機系統使用來自SAN的數據進行引導。
在其一個方案中,提供了一種使用存儲區域網絡(“SAN”)來引導計算機系統的方法,其中,計算機系統包括本地存儲設備。所述方法包括接收對向本地存儲設備寫入引導卷宗數據的請求。所述引導卷宗包括用于引導所述計算機系統的操作系統數據和支持文件。 所述方法還包括向所述本地存儲設備寫入所述數據,及基本上在接收到所述請求的同時向所述SAN寫入所述數據。所述方法進一步包括使用寫入所述SAN的數據來引導所述計算機系統。
在其另一個方案中,提供了一種包括指令的計算機可讀介質,用于執行方法來根據上述方法使用存儲區域網絡(“SAN”)引導計算機系統。
其再另一個方案提供了一種存儲區域網絡(“SAN”)來引導計算機系統的計算機系統。所述計算機系統包括本地存儲設備,用于與所述本地存儲設備通信的存儲控制器,及用于與所述SAN通信的網絡適配器。無需中介網絡,所述存儲控制器與所述本地存儲設備直接耦合。所述計算機系統還包括接收單元,用于接收對向所述本地存儲設備寫入引導卷宗數據的請求。所述引導卷宗包括用于引導所述計算機系統的操作系統數據和支持文件。 另外,所述計算機系統包括第一寫單元,用于向所述本地存儲設備寫入所述數據,及第二寫單元,用于基本上在接收到所述請求的同時向所述SAN寫入所述數據。所述計算機系統還包括引導單元,用于使用寫入所述SAN的數據來引導所述計算機系統。
圖1是根據本發明特征和方案的示例性計算機系統的方框圖。
圖2是說明根據本發明特征和方案的用于使用SAN引導計算機系統的示例性方法的流程圖。
圖3是說明根據本發明特征和方案的在正常操作期間允許計算機系統使用SAN進行引導的示例性方法的流程圖。
圖4是說明根據本發明特征和方案的用于在恢復操作中使用SAN引導計算機系統的示例性方法的流程圖。
具體實施例方式圖1是根據其特征和方案的示例性計算機系統110的方框圖。計算機系統110通過網絡150與本地SAN 130通信。計算機系統110和本地SAN 130還都通過網絡150與遠程SAN 140通信。另外,計算機系統110與存儲設備160通信。例如,存儲設備160可以是旋轉磁盤驅動器或者基于閃存的驅動器。計算機可讀介質170用于向存儲設備160和/ 或計算機系統110提供包括驅動器軟件的指令。計算機可讀介質170可以包括能夠包含、 存儲、傳輸、傳播或輸送指令的任何裝置。實例包括半導體或固態存儲器、磁帶、可移動計算機磁盤、隨機存取存儲器(“RAM”)、只讀存儲器(“ROM”)、硬磁盤及光盤(例如,CD-ROM、 CD-R/W、DVD-ROM 及 DVD+/-R/W)。
計算機系統110包括處理單元112、網絡適配器114和存儲控制器116。計算機系統Iio通過存儲控制器116與存儲設備160通信。例如,存儲控制器116可以是獨立磁盤冗余陣列(“RAID”)控制器。無需中介網絡,存儲控制器116與本地存儲設備160直接耦合。 與本地存儲設備160的通信可以通過多種本地存儲附件技術中的任何一種進行。例如,可以從串行高級技術附件(“SATA”)、小型計算機系統接口(“SCSI”)、串行連接SCSI (“SAS”)、 包括集成驅動電子設備(“IDE”)和增強IDE( “EIDE”)的并行AT附件(“PATA”)、IEEE 1394(例如,火線)和通用串行總線(“USB”)中選擇通信協議。將理解,為了使用SAS協議直接耦合,可以在無需SAS擴展器和/或開關的情況下使用SAS電纜。
計算機系統110可以借助使用網絡適配器114通過網絡150進行通信。例如,網絡適配器114可以是以太網適配器或者SAS主機總線適配器。網絡可以基于以太網、光纖通道、互聯網SCSI ( “iSCSI”)、SAS、和TCP/IP中的一個。另外,處理單元112可以通過從外圍組件互聯(“PCI”)、擴展的外圍組件互聯(“PCI-X”)和PCI Express之一選擇的主機總線118與存儲控制器116和網絡適配器114通信。
處理單元112可以包括電路、存儲器、處理器和/或應對計算機系統110的處理需要的指令。例如,處理單元112可以執行計算機系統110的基本輸入輸出系統(“BIOS”), 其包括在引導過程中由存儲控制器116和/或網絡適配器114提供的一個(例如,有時稱為選項ROM)。在正常操作中,處理單元112可以在操作系統的控制下執行用于存儲控制器 116和網絡適配器114的驅動器。會理解,可以在計算機系統的這些組件的一個或多個中實現其特征和方案。
本地SAN 130包括控制器1;34和存儲設備132。存儲設備132通過控制器1;34與網絡150耦合,以允許計算機系統110使用存儲設備132。例如,可使得存儲設備132可用作本地SAN 130的各種邏輯單元。類似的,遠程SAN 140包括控制器142和存儲設備144。 本地SAN 130通常會與計算機系統110位于一處,而遠程SAN 140通常會位于災難恢復中心。災難恢復中心通常是遠離計算機系統110的設施。按照網絡云所指定的,一個或多個網絡可以將遠程SAN 140與計算機系統110和本地SAN 130相分離。
在從SAN應用的引導時,網絡適配器114可以已經被配置為與本地SAN130的控制器134進行通信,以便計算機系統110從本地SAN 130進行引導。在計算機系統110處運行的多路徑驅動器會允許網絡適配器114與遠程SAN 140的控制器144進行通信。然而, 如上所述,多路程驅動器在初始引導過程中是不可用的。
本領域普通技術人員會易于認識到完整的功能性裝置中的許多額外和等效的組件和模塊。為了本論述的簡潔明確,本文省略了這些額外和等效的組件。因此,圖1的結構僅僅旨在作為其特征和方案的示例性實施例的代表。
如將更詳細解釋的,其特征和方案有利地允許引導卷宗位于本地存儲設備160、本地SAN 130和遠程SAN 140上。本領域技術人員會意識到,根據其特征和方案,在每一次寫入請求出現時,通常連續地同步在本地存儲設備160和本地SAN 130上的引導卷宗。也可以通過將引導卷宗從本地SAN 130復制/鏡像到遠程SAN 140來同步位于本地SAN 130和遠程SAN 140上的引導卷宗。在恢復操作中,可以將來自遠程SAN 140的引導卷宗復制/鏡像回本地SAN 130。可替換地或另外地,還可以將引導卷宗復制/鏡像回計算機系統110(其可以是原始計算機系統的替換/備份計算機系統)的本地存儲設備160(其也可以是原始存儲設備的替換存儲設備)。
圖2是說明根據其特征和方案的用于使用SAN引導計算機系統的示例性方法的流程圖。在步驟210處,存儲控制器的驅動器接收對本地存儲設備寫入引導卷宗的數據的請求。引導卷宗包括用于引導計算機系統的操作系統數據和支持文件。在步驟220處,驅動器向本地存儲設備寫入數據。基本上在接收請求的同時,在步驟230處,驅動器還向SAN寫入數據。作為恢復過程的一部分,在步驟240處,計算機系統執行BIOS,其允許計算機系統使用已經寫入SAN的數據進行引導。
圖3是說明根據其特征和方案的在正常操作期間允許計算機系統使用SAN進行引導的示例性方法的流程圖。在步驟310處,計算機系統執行BIOS,其允許計算機系統從本地存儲設備的引導卷宗進行引導。引導卷宗包括用于引導計算機系統的操作系統數據和支持文件。在引導過程中,在步驟315處,計算機向本地存儲設備寫入日志,以使得日志包括與在引導過程中的數據更新有關的信息。在引導過程之后,在步驟320處,計算機系統處理日志,并根據日志發起對SAN寫入數據更新的寫請求。
例如,日志條目可以包括與尚未寫入SAN的更新有關的信息。在引導過程之后的正常操作期間,計算機系統隨后向SAN發起針對每一個日志條目的寫請求,并隨后在已經向SAN寫入更新之后刪除每一個日志條目。即使在正常操作期間也可以以先進先出方式連續增加和刪除日志的條目,以保持數據寫入的順序,并應對訪問SAN時的中斷。另外,在SAN 上可以不存在引導圖像。如果是這樣,可以在初始化操作中將引導卷宗從本地存儲設備復制到SAN。例如,使用計算機系統和/或SAN的管理工具,讀取來自本地存儲設備的數據,并將讀取的數據寫入SAN。會相應地管理日志條目,以確保本地存儲設備與SAN同步。
在步驟330處,計算機系統的存儲控制器的驅動器接收對本地存儲設備(或者另一個本地存儲設備)寫入引導卷宗的數據的請求。在步驟340處,驅動器向本地存儲設備寫入數據。基本上在接收到請求的同時,在步驟350處,在計算機系統處運行的驅動器也向 SAN寫入數據。通常不會由本地存儲設備向SAN寫入數據,而是由計算機系統自身向SAN寫入數據。如上所述,日志可以用于應對在訪問SAN時的中斷。因此,會理解,在一些情況下, 在步驟340與350之間可以存在延遲。然而,通常會連續地同步本地存儲設備和SAN上的引導卷宗,而不是以固定間隔和/或基于管理員的請求而進行同步。
在正常操作過程中,隨著驅動器接收到對寫數據的每一個請求,重復從330開始的步驟。在計算機系統中,驅動器可以通過向驅動器發出對網絡適配器的請求而向SAN進行寫入,其中計算機系統通過所述網絡適配器與SAN進行通信。作為設計選項,驅動器可以將幾個寫請求組合到至SAN的一個寫請求中。可替換地,驅動器還可以將一個寫請求分為至SAN的若干個寫請求。
注意SAN可以是與計算機系統位于一處的本地SAN。在步驟360處,可以同步在本地SAN與遠程SAN之間的數據。遠程SAN可以位于災難恢復中心,災難恢復中心可以是遠離計算機系統的設施。可以通過經由本地(和/或遠程)SAN可獲得的SAN管理員工具來執行同步的步驟。可以以固定間隔和/或管理員的請求來執行同步。可替換地或者另外地,可以由本地SAN執行同步的步驟,本地SAN隨后將每一個寫請求轉發到遠程SAN。
在步驟370處,計算機系統進入關機過程,以順序方式關閉計算機系統。典型地, 會關閉網絡連接,即使計算機系統在存儲器中仍具有計算機系統需要向本地存儲設備刷新及寫入的數據。因此,類似于步驟315,在步驟375處,計算機系統會向本地存儲設備寫入日志,以使得日志包括與在關機過程中的數據更新有關的信息。日志可以是與以上關于步驟315所述的日志相同或不同的日志。在上述步驟310處的計算機系統引導之后,類似于以上關于步驟320所述的,計算機會根據日志向SAN寫入關機過程中的數據更新。
圖4是說明根據其特征和方案的用于在需要恢復本地存儲設備的恢復操作中使用SAN引導計算機系統的示例性方法的流程圖。在步驟410處,計算機系統確定在引導過程中是否接受用戶輸入,用以指定用于引導的數據源。例如,如果用戶/管理員按下一個或多個熱鍵,則計算機系統就可以接受用戶輸入。如果按下了熱鍵,計算機系統就在步驟415 處接受具有本地SAN指定的用戶輸入。例如,可以為用戶提供命令行界面和/或圖形界面, 用以指定本地SAN,其可以進一步包括本地SAN的邏輯單元的指定。可替換地,可以允許用戶指定遠程SAN。
如上提及的,用以允許計算機訪問另一個邏輯單元(例如,在遠程SAN上)的多路徑驅動器在初始引導過程中是不可用的。另外,即使在初始引導過程中可以使得某些多路徑能力可用,但計算機系統仍不能應對計算機系統能夠訪問引導卷宗,但由于該引導卷宗受損而實際上不能從該引導卷宗進行引導的情況。本領域技術人員會意識到,人工干預有利地允許用戶/管理員指定計算機系統是應從本地存儲設備、本地SAN、遠程SAN還是甚至另一個設備進行引導。
如果沒有用戶輸入需要被接受,則計算機系統就可以在步驟420處自動識別本地 SAN的指定。可以將引導順序配置到計算機系統中。例如,用戶/管理員可以已經指定計算機系統應首先嘗試從本地存儲設備進行引導,如果不成功,計算機系統接下來應嘗試從本地SAN進行引導。可替換地,用戶還可以指定計算機系統接下來應嘗試通過網絡適配器進行引導。計算機系統的網絡適配器和/或BIOS也可以被配置為嘗試從本地SAN進行引導, 如果不成功,就隨后嘗試從遠程SAN進行引導。
在這個示例性方法中,計算機系統使用來自本地SAN的數據來引導計算機系統。 注意,如稍早提及的,可以通過將數據從遠程SAN同步/復制到本地SAN來恢復本地SAN。在步驟430處,計算機系統通過網絡適配器從本地SAN讀取引導卷宗的數據。在步驟440處, 計算機系統確定實際上是從本地存儲設備進行引導,還是直接使用從本地SAN讀取的數據進行引導。這個選擇可以已經配置到計算機系統中。可替換地或者另外地,在引導過程中可以允許用戶/管理員指定這個選擇——例如作為上述步驟415的一部分。如果計算機系統是從本地存儲設備進行引導,計算機系統就首先在步驟450處向本地存儲設備寫入讀取的數據,以恢復本地存儲設備,隨后類似于以上關于步驟310所述的,從本地存儲設備進行引導。
如果計算機是直接從本地SAN進行引導,則計算機系統就在步驟460處如此執行, 類似于從SAN應用的引導。隨后,在步驟465處,計算機系統將從SAN讀取的數據寫入本地存儲設備,從而同樣恢復了本地存儲設備。會理解,為了保持在本地SAN與本地存儲設備之間的同步,可以將類似于在步驟315所述的日志寫入本地SAN,以使得可以將數據更新寫入本地存儲設備(在步驟465處在用來自本地SAN的數據恢復了本地存儲設備之后)。可以稍后配置計算機系統以便從本地存儲設備進行引導。
隨后,計算機系統進入正常操作,重復上述在步驟330開始的那些步驟。本領域普通技術人員會易于認識到,在圖2到4的方法中可以執行和/或省略了許多額外和等效的步驟。僅僅為了本論述的明確簡潔,本文省略了這些額外和等效的步驟。
盡管在附圖和前述說明中示出并描述了本發明,但這些示出和描述在本質上被認為是示例性的而非限制性的。已經示出并描述了本發明的一個實施例及其微小變型。意圖針對在本發明精神范圍內的所有變化和修改進行保護。本領域技術人員會意識到屬于本發明范圍內的上述實施例的變更。因此,本發明不局限于上述特定實例和示出,而是僅由隨后的權利要求及其等價物來限定。
權利要求
1.一種使用存儲區域網絡SAN來引導計算機系統的方法,其中,所述計算機系統包括本地存儲設備,特征在于所述方法包括接收對所述本地存儲設備寫入引導卷宗數據的請求,其中,所述引導卷宗包括用于引導所述計算機系統的操作系統數據和支持文件; 向所述本地存儲設備寫入所述數據;基本上在接收到所述請求的同時向所述SAN寫入所述數據;以及使用寫入所述SAN的數據來引導所述計算機系統。
2.如權利要求1所述的方法,其中所述計算機系統通過存儲控制器與所述本地存儲設備通信,無需中介網絡,所述存儲控制器與所述本地存儲設備直接耦合;所述計算機系統通過從串行高級技術附件SATA、小型計算機系統接口 SCSI、串行連接 SCSI (SAS)、包括集成驅動電子設備IDE和增強IDE(EIDE)的并行AT附件PATA、IEEE 1394 和通用串行總線USB中選擇的協議與所述本地存儲設備通信; 所述計算機系統通過網絡適配器與所述SAN通信;所述計算機系統通過基于以太網、光纖通道、互聯網SCSI(iSCSI)、SAS、和TCP/IP中的一個的網絡與所述SAN通信;所述計算機系統通過從外圍組件互聯PCI、擴展的外圍組件互聯PCI-X和PCI Express 之一選擇的主機總線與所述存儲控制器和所述網絡適配器通信。
3.如權利要求1所述的方法,進一步包括將所述引導卷宗從所述本地存儲設備復制到所述SAN,包括 從所述本地存儲設備讀取數據;以及向所述SAN寫入讀取的數據。
4.如權利要求1所述的方法,其中,所述SAN是與所述計算機系統位于一處的本地 SAN,所述方法進一步包括在所述本地SAN與遠程SAN之間同步數據,其中,所述遠程SAN位于災難恢復中心,所述災難恢復中心是遠離所述計算機系統的設施。
5.如權利要求1所述的方法,進一步包括 接受具有所述SAN指定的用戶輸入; 從所述SAN讀取數據;及向所述本地存儲設備寫入讀取的數據;其中,所述引導的步驟包括使用向所述本地存儲設備寫入的數據來引導所述計算機系統。
6.如權利要求1所述的方法,進一步包括 自動識別所述SAN的指定。
7.如權利要求1所述的方法,進一步包括從所述SAN讀取數據,其中,所述引導的步驟包括使用從所述SAN讀取的數據直接引導所述據計算機系統,所述方法進一步包括在使用所讀取的數據來引導所述計算機系統后,向所述本地存儲設備寫入所讀取的數據。
8.如權利要求1所述的方法,其中,所述引導的步驟包括向所述本地存儲設備寫入日志,其中,所述日志包括與所述引導的步驟期間的數據更新有關的信息,所述方法進一步包括在所述弓I導的步驟之后,根據所述日志向所述SAN寫入所述數據更新。
9.如權利要求1所述的方法,進一步包括向所述本地存儲設備寫入日志,其中,所述日志包括與在關機過程中的數據更新有關的信息;以及在所述弓I導的步驟之后,根據所述日志向所述SAN寫入所述數據更新。
10.如權利要求1所述的方法,進一步包括向所述本地存儲設備寫入日志條目,其中,所述日志條目包括與尚未寫入所述SAN的數據更新有關的信息;以及在向所述SAN寫入所述數據更新后刪除所述日志條目。
全文摘要
用于使用SAN來恢復和引導計算機系統的方法和系統。計算機系統包括本地存儲設備、接收對向在本地存儲設備上的引導卷宗寫入數據的請求。向本地存儲設備寫入數據以及基本上在接收到所述請求的同時向所述SAN寫入所述數據。隨后使用寫入所述SAN的數據來引導所述計算機系統。
文檔編號G06F9/00GK102187311SQ200980140780
公開日2011年9月14日 申請日期2009年5月11日 優先權日2008年10月29日
發明者J·E·奧德爾 申請人:Lsi公司