TW201432473A - 雲端網路硬碟陣列供應系統及其建構方法 - Google Patents
雲端網路硬碟陣列供應系統及其建構方法 Download PDFInfo
- Publication number
- TW201432473A TW201432473A TW102104843A TW102104843A TW201432473A TW 201432473 A TW201432473 A TW 201432473A TW 102104843 A TW102104843 A TW 102104843A TW 102104843 A TW102104843 A TW 102104843A TW 201432473 A TW201432473 A TW 201432473A
- Authority
- TW
- Taiwan
- Prior art keywords
- hard disk
- hosts
- host
- control host
- disk array
- Prior art date
Links
Abstract
一種雲端網路硬碟陣列供應系統,包括複數台單一平價型硬體建立的主機,可依使用者需求動態供應網路硬碟陣列服務。複數主機包括一控制主機及複數儲存主機。複數儲存主機將硬碟開放給控制主機連接,控制主機可執行硬碟陣列運算程序,將本身及複數儲存主機的硬碟建構成一硬碟陣列叢集。使用者只要通過網路連接控制主機即可存取硬碟陣列叢集。本系統的硬碟陣列叢集係由網路連接的複數主機建構而成,可通過主機的新增、移除及位置和角色的選擇,依使用者需求提供雲端網路硬碟陣列服務,滿足不同的儲存空間、儲存速度及資料安全度的需求。
Description
本發明係有關於雲端資料中心提供的網路硬碟陣列服務,尤其更有關於通過網路來連接大量的平價型硬體,藉以建構一或多個高彈性、高可靠度及低成本的網路硬碟陣列叢集的供應系統,及其建構方法。
一般來說,在雲端系統上常常需要依據客戶的申請,提供客戶用來儲存資料或檔案的雲端儲存空間,而現有技術中最常見的作法,即是在雲端的資料中心中設置多組的虛擬桌面基礎設施儲存單元(Virtual Desktop Infrastructure storage,VDI storage)。
設置數量龐大的VDI storage也許可以解決需要客戶需要大量儲存空間的問題,然而,VDI storage主要是在單一主機或機櫃內設置大量的硬碟,並將該些硬碟串接成一個大型的儲存空間,故,VDI storage實存在著散熱性不佳、穩定性不足、缺乏設計彈性,以及更換、維修不易等問題。由上可看出,若僅以VDI Storage來提供雲端儲存服務,不但存在著上述問題,並且難以客製化。
為了解決上述散熱性不佳或穩定性不足等問題,部分的雲端系統則通過設置網路附加儲存(Network Attached Storage,NAS)系統的方式來提供雲端儲存服務。然而,若大量地使用NAS,又會有費用過於昂貴的問題,恐使得雲端服務不符經濟效益。
再者,為了降低資料中心的硬體及維護成本,通常會使用大量的單一平價型硬體(uniform commodity hardware)來建構資料中心,然而這類的硬體不利於某些需要“非對稱式”硬體提供的服務。以傳統的磁碟陣列為例,儲存節點需要高速的匯流排,計算節點需要高速的計算能力,而單一平價型硬體往往具備中等速度的匯流排及計算能力;另外,從維護的角度而言,儲存節點(配置大量的硬碟)的損壞率較計算節點損壞率高,所以儲存節點需有硬碟熱插拔的設計,然而硬碟熱插拔的設計會造成較高的成本。反之,單一平價型硬體伺服器往往需要將整台機器停機以更換單一零件,若節點上具有多個硬碟,則多個硬碟同時離線,因此,以傳統的技術實現雲端網路硬碟陣列供應系統是一大挑戰。
本發明之主要目的,在於提供一種雲端網路硬碟陣列供應系統及其建構方法,係通過大量的平價型硬體來建構高可靠度的分散式硬碟陣列叢集,藉以通過最低的成本來提供網路硬碟陣列的服務。
本發明之另一主要目的,在於提供一種雲端網路硬碟陣列供應系統及其建構方法,係通過網路上的複數主機來建構硬碟陣列叢集,其中複數主機彼此通過iSCSI通訊協定連接,故可依據實際需求,通過主機的新增、移除,以及主機的位置、角色之選擇,依據使用者需求,調整硬碟陣列叢集的儲存空間大小、儲存速度及資料安全性等,便於提供客製化的硬碟陣列服務。
為達上述目的,本發明主要包括複數台單一平價型硬體建立的主機,可依使用者需求動態供應網路硬碟陣列服務。複數主機包括一控制主機及複數儲存主機。複數儲存主機將硬碟開放給控制主機連接,控制主機可執行硬碟陣列運算程序,將本身及複數儲存主機的硬碟建構成一硬碟陣列叢集。使用者只要通過網路連接控制主機即可存取硬碟陣列叢集。本系統的硬碟陣列叢集係由網路連接的複數主機建構而成,可通過主機的新增、移除及位置和角色的選擇,依使用者需求提供雲端網路硬碟陣列服務,滿足不同的儲存空間、儲存速度及資料安全度的需求。
本發明對照現有技術所能達成之功效在於,通過雲端中大量平價型硬體來建構成硬碟陣列,可以最低的成本來提供客戶硬碟陣列的服務。並且,本系統係由雲端的複數主機來構成,各主機彼此通過iSCSI通訊協定來連接,是以,具有易於新增、移除之特性。通過此一特性,本系統可依據客戶之實際需求,例如容量大小、存取速度及安全等級等等,適當地選擇建構硬碟陣列叢集所需的主機,藉以達到客製化的目的。
再者,硬碟陣列中的多個硬碟係分別分散於各個主機中,並非集中在同一主機或機櫃中,因此不會有因為硬碟數量過多、過於密集而使得散熱不易,導致硬碟陣列運作不穩定的問題。
1、1’...硬碟陣列叢集
10...硬碟
101...第一硬碟
102...第二硬碟
100...硬碟陣列卷
1001...第一分割區
1002...第二分割區
1003...第三分割區
11...控制主機
111...第一控制主機
112...第二控制主機
110...iSCSI啟始端程序
1100...硬碟陣列運算程序
12、12’...儲存主機
120...iSCSI目標端程序
2...客戶終端
3...網路交換機
4...主機
5...管理伺服器
51...資源池資訊
52...主機詮釋資料
53...監控資料
6...資源池
71...第一次控制主機
72...第二次控制主機
8...備用主機
D1...客戶需求
S10~S12...步驟
S20~S26...步驟
S30~S44...步驟
S50~S60...步驟
S70~S82...步驟
S90~S96...步驟
A~D...步驟
第一圖為本發明的第一較佳具體實施例的系統架構圖。
第二圖為本發明的第一較佳具體實施例的主機連接示意圖。
第三A圖為本發明的第一較佳具體實施例的硬碟陣列示意圖。
第三B圖為本發明的第二較佳具體實施例的硬碟陣列示意圖。
第四圖為本發明的第一較佳具體實施例的資源池示意圖。
第五圖為本發明的第一較佳具體實施例的管理伺服器示意圖。
第六圖為本發明的第二較佳具體實施例的系統架構圖。
第七圖A為本發明的第一較佳具體實施例的主機新增流程圖。
第七圖B為本發明的第一較佳具體實施例的主機移除流程圖。
第八圖為本發明的第一較佳具體實施例的硬碟陣列建構流程圖。
第九圖為本發明的第一較佳具體實施例的主機還原流程圖。
第十圖為本發明的第三較佳具體實施例的系統架構圖。
第十一圖為本發明的第四較佳具體實施例的系統架構圖。
第十二圖為本發明的第二較佳具體實施例的主機還原流程圖。
第十三A圖為本發明的第五較佳具體實施例的系統架構圖。
第十三B圖為本發明的第六較佳具體實施例的系統架構圖。
第十四圖為本發明的第二較佳具體實施例的硬碟陣列建構流程圖。
第十五A圖為本發明的第七較佳具體實施例的系統架構圖。
第十五B圖為本發明的第八較佳具體實施例的系統架構圖。
茲就本發明之一較佳實施例,配合圖式,詳細說明如後。
首請參閱第一圖及第二圖,分別為本發明的第一較佳具體實施例的系統架構圖及主機連接示意圖。本發明主要揭露一種雲端網路硬碟陣列供應系統,係由雲端的至少一控制主機11及複數儲存主機12來建構成一硬碟陣列叢集(cluster)1,其中該控制主機11與該複數儲存主機12係通過網路來彼此連接,故易於新增至該硬碟陣列叢集1、並且易於自該硬碟陣列叢集1中移除。通過雲端主機易於新增、移除的特性,本發明的雲端網路硬碟陣列供應系統有利於依據客戶之需求,動態建構符合客戶需求的硬碟陣列叢集1的優點。
如第二圖中所示,一雲端環境中主要具備有數量相當龐大的平價型硬體(即,主機4),並且,這些主機4係通過至少一網路交換機3來彼此連接。值得一提的是,該些主機4可以設置在雲端的同一機櫃(rack)或不同的機櫃中,甚至,該些主機4亦可設置在位於不同處的雲端資料中心內,並通過一或多台的網路交換機3來直接或間接連接,並不加以限定。其中,本實施例中所指的主機4,主要為雲端系統中的端點主機(node),該些端點主機分別接受雲端系統所指派的任務,擔任對應的角色,以提供該角色對應的服務給客戶。
如第一圖中所示,該些主機4中主要包括至少一該控制主機11及該複數儲存主機12,其中,該控制主機11係運行一iSCSI啟始端程序(initiator program)110,該複數儲存主機12分別運行一iSCSI目標端程序(target program)120,藉以,該複數儲存主機12分別通過iSCSI通訊協定與該控制主機11連接。該複數儲存主機12內分別具有至少一硬碟10,本發明係由該複數儲存主機12來開放內部的該些硬碟10給該控制主機11進行存取使用,更具體而言,該複數儲存主機12是開放內部的該些硬碟10的控制權給該控制主機11,以令該控制主機11可以存取該些硬碟10。並且,再通過該控制主機11來運行一硬碟陣列運算程序1100,藉以將該複數儲存主機12內的該些硬碟10整合為一大型的硬碟陣列卷(例如第十三A圖中所示的硬碟陣列卷100,RAID volume),藉此,以該控制主機11本身以及該複數儲存主機12內的該些硬碟10來建構一個本發明的該硬碟陣列叢集1。值得一提的是,該控制主機11內部亦具有至少一硬碟10,故,該控制主機11主要可將其內部的硬碟10,以及該複數儲存主機12內的該些硬碟10,共同建構成該硬碟陣列叢集1,但不加以限定。
本實施例中,該控制主機11與該複數儲存主機12係可設置於同一機櫃中,或是分別設置在不同的多個機櫃中,甚至是分別設置在不同處的雲端資料中心,應視實際所需而定,不應以此為限。當一客戶終端2若欲存取該硬碟陣列叢集1時,只需通過網路連接該硬碟陣列叢集1中的該控制主機11,並且執行一網路硬碟陣列的驅動程式(圖未標示),即可通過該控制主機11來使用硬碟陣列服務。本實施例中,主要是將該控制主機11視為傳統硬碟陣列中的控制器(controller),並將該複數儲存主機12中的該些硬碟10視為傳統硬碟陣列中的儲存空間。
續請同時參閱第三A圖及第三B圖,分別為本發明的第一較佳具體實施例與第二較佳具體實施例的硬碟陣列示意圖。如第三A圖的實施例所示,可通過一第一控制主機111來連接複數儲存主機12內的該些硬碟10,以構成該硬碟陣列叢集1;並且,通過一第二控制主機112來連接其他儲存主機12’內的該些硬碟10,以構成另一硬碟陣列叢集1’。
再者,如第三B圖的實施例所示,若該複數儲存主機12內分別具備有兩個或兩個以上的硬碟10,則該些硬碟10可分別被用來建構不同的硬碟陣列叢集。例如,該第一控制主機111可連接該複數儲存主機12中的第一硬碟101,以建構成該硬碟陣列叢集1;而該第二控制主機112則可連接該複數儲存主機12中的第二硬碟102,以建構成另一硬碟陣列叢集1’。如上述所,若該複數儲存主機12內還具有第三硬碟或第四硬碟(圖未標示),則更可通過第三控制主機或第四控制主機(圖未標示)來連接至該些硬碟,以建構其他的硬碟陣列叢集。
參閱第四圖,為本發明的第一較佳具體實施例的資源池示意圖。本發明的雲端網路硬碟陣列供應系統中,更包括有一管理伺服器5,該管理伺服器5主要為一種用來運行管理服務的主機,本實施例中,該管理伺服器5係用以管理雲端資料中心內的該複數主機4。更具體而言,如第四圖中所示,該雲端環境中可規劃一資源池6,該管理伺服器5可管理被註冊並入加該資源池6中的該複數主機4,而在雲端環境中,不屬於該資源池6中的其他主機4,則不在該管理伺服器5的管理範圍內。
本實施例主要是由該管理伺服器5來接收客戶端對於硬碟陣列之需求,接著,於該資源池6中選取適當的複數主機4,分別指派為該控制主機11與該複數儲存主機12,藉此,建構成一個符合客戶需求的該硬碟陣列叢集1(容下詳述)。本實施例中,該雲端環境中不屬於該資源池6的其他主機4,不在該管理伺服器5的管理範圍內,因此無法被該管理伺服器5選取,若要被該管理伺服器5選取使用,就必須要先將該些主機4加入該資源池6中。
請同時參閱第五圖,為本發明的第一較佳具體實施例的管理伺服器示意圖。如第五圖所示,該管理伺服器5中主要記錄有一資源池資訊51及一主機詮釋資料(metadata)52。本實施例中,該雲端環境中的一管理人員可將該複數主機4的資訊,例如IP位址提供給該管理伺服器5,該管理伺服器5係將該些IP位址記錄於該資源池資訊51中,以將該複數主機4註冊並加入該資源池6中。更具體而言,該雲端環境下具有為數眾多的主機,若管理人員欲讓特定的主機加入該資源池6中,接受該管理伺服器5的管理,藉以用來建構該硬碟陣列叢集1,則需將該些特定主機的IP位址提供給該管理伺服器5,以記錄於該資源池資訊51中。
該主機詮釋資料52係記錄該控制主機11、該複數儲存主機12及一或多台備用主機(容後詳述)的角色配置資訊。更具體而言,要建構該硬碟陣列叢集1時,係由該管理伺服器5於該資源池6內的該複數主機4中,選取適當的複數台主機,分別指派為該控制主機11及該複數儲存主機12,也就是說,由該管理伺服器5來指派被選取的該複數主機4的角色(role)。進一步,該管理伺服器5會將該些主機4的角色配置資訊記錄於該主機詮釋資料52中,以利於日後該硬碟陣列叢集1損壞時,可通過更換該控制主機11或該複數儲存主機12的動作來進行修復。
值得一提的是,若該雲端網路硬碟陣列供應系統中具有複數台該管理伺服器5,則該複數台管理伺服器5可共享該主機詮釋資料52。如此一來,當該複數管理伺服器5的其中之一離線時,可通過另一管理伺服器5,依照該主機詮釋資料52的內容,為已離線的該管理伺服器5管理該複數主機11、12的角色配置程序。藉此,不會因為一台該管理伺服器5的離線或損壞,中斷該雲端網路硬碟陣列供應系統的服務。
參閱第六圖,為本發明的第二較佳具體實施例的系統架構圖。本發明中,當一客戶要使用本發明的硬碟陣列的服務時,主要係通過該客戶終端2來連線至該管理伺服器5,並向該管理伺服器5提出一客戶需求D1(步驟A)。接著,該管理伺服器5依據該客戶需求D1,於該資源池6中選取適當的該複數主機4,並分別指派為該控制主機11及該複數儲存主機12。藉以,由該控制主機11及該複數儲存主機12內的該些硬碟10,建構成符合該客戶需求D1的該硬碟陣列叢集1(步驟B)。
接著,該管理伺服器5回覆該客戶終端2,告知該硬碟陣列叢集1已建構完成,並且該硬碟陣列叢集1中的控制器為該控制主機11(步驟C)。藉以,客戶可通過該客戶終端2來連接該控制主機11,並存取該硬碟陣列叢集1 (步驟D)。
續請同時參閱第七A圖及第七B圖,分別為本發明的第一較佳具體實施例的主機新增流程圖及主機移除流程圖。首先如第七A圖所示,若要令該雲端環境下的主機可以被該管理伺服器5所使用,則管理人員需先將該些主機4的IP位址提供給該管理伺服器5(步驟S10),藉以,該管理伺服器5將該些主機4的IP位址記錄於該資源池資訊51中後,將該些主機4註冊並加入該資源池6中(步驟S12)。值得一提的是,該管理伺服器5主要是將該資源池資訊51中留有記錄的主機視為已加入該資源池6中的主機,也就是說,該資源池6並非為實體存在於該雲端環境之中的單元。
接著如第七B圖所示,若要令一主機脫離該管理伺服器6之管理範圍,則管理人員可操作該管理伺服器5上的一使用者介面(User Interface,UI,圖未標示),將該欲脫離的主機的IP位址於該資源池資訊51中刪除(步驟S20)。接著,該管理伺服器5判斷該欲脫離的主機是否正在執行任一項之服務(步驟S22),若該欲脫離的主機正在執行一服務,則該管理伺服器5於該資源池6中尋找另一主機,接替運行該欲脫離的主機所運行之該服務(步驟S24)。而在接替完成後,該管理伺服器5將該欲脫離的主機從該資源池6中移除(步驟S26)。於該步驟S26後,該脫離後的主機就無法被該管理伺服器5所管理,故,爾後該管理伺服器5無法選取該脫離後的主機來建構該硬碟陣列叢集1。
參閱第八圖,為本發明的第一較佳具體實施例的硬碟陣列建構流程圖。若要建構上述的該硬碟陣列叢集1,首先,該管理伺服器5需先接收該客戶終端2發出的該客戶需求D1(步驟S30),接著,該管理伺服器5依據該客戶需求D1來存取該資源池資訊51,藉以於該資源池6中選取較適當之該複數主機4(步驟S32)。更具體而言,該管理伺服器5係依據該資源池資訊51中記錄的該些IP位址,判斷該複數主機4的所在位置(例如,位於哪個資料中心、哪個機房、哪個機櫃等),藉以選出最適合用來建構該硬碟陣列叢集1的主機。
舉例來說,該客戶需求D1可例如為客戶所需之容量大小、存取速度或安全等級等。若客戶通過該客戶需求D1來指定容量大小,則該管理伺服器5需依照該客戶需求D1來選取適當數量的該複數主機4,藉以令該複數儲存主機12內的該些硬碟10的容量,能夠符合客戶指定的容量大小;再例如,若客戶通過該客戶需求D1來指示要較快的存取速度,則該管理伺服器5可參考該資源池資訊51中記錄的該些IP位址,以選取位於同一個機櫃中的複數主機4來做為該複數儲存主機12的角色,或是選取最接近該客戶終端2的位置的該複數主機4。藉此,可因同一個機櫃中的主機彼此的存取速率較快,或是主機與客戶端的距離較近之故,令該硬碟陣列叢集1可具有符合客戶所需之存取速度。
再例如,若客戶通過該客戶需求D1來指示要較高的安全性,則該管理伺服器5可參考該資源池資訊51中記錄的該些IP位址,以選取位於不同機櫃或不同資料中心的複數主機4來做為該複數儲存主機12的角色。藉此,當其中一機櫃故障時,不會令該硬碟陣列叢集1整個損壞,因而可符合客戶所需之高安全性。然而,以上所述皆僅為本發明的較佳具體實例,不應以此為限。
該管理伺服器5於該資源池6中選取了該複數主機4後,即可指派其中的至少一主機擔任該控制主機1的角色(步驟S34),具體而言,該管理伺服器5係發出一控制指令,命令該控制主機1運行該iSCSI啟動端程序。接著,該管理伺服器5進一步指派其中的複數主機擔任該儲存主機12的角色(步驟S36),並且命令該複數儲存主機12分別運行該iSCSI目標端程序,藉此讓該控制主機1與該複數儲存主機12彼此可通過iSCSI通訊協定來連接。
接著,該管理伺服器5可選擇性地於該複數主機4中,指派一或多台主機擔任一備用主機(spare node)的角色(步驟S38),當該控制主機11或該複數儲存主機12的其中之一損壞時,該管理伺服器5可以該備用主機來代替該損壞的主機,以維持該硬碟陣列叢集1的運作。值得一提的是,該控制主機11、該複數儲存主機12及該備用主機的角色配置資訊,皆記錄於該管理伺服器5內的該主機詮釋資訊52中。
當該控制主機11與該複數儲存主機12指派完成後,該複數儲存主機12係分別開放內部之該硬碟10(步驟S40)。更具體而言,該步驟S40係由該管理伺服器5來發送一開放硬碟的控制權之指令,例如「export HDDs」之指令,給該複數儲存主機12,藉以該複數儲存主機12依據該指令來開放內部之該硬碟10的控制權給該控制主機11。接著,由該控制主機11來連接該複數儲存主機12所開放的該些硬碟10(步驟S42)。更具體而言,該步驟S42係由該管理伺服器5來發送一連接硬碟之指令,例如「mount HDDs」之指令,給該控制主機11,藉以該控制主機11依據該指令來連接該些已開放之硬碟10。
上述該步驟S42中,該管理伺服器5主要是在發送該指令時,同時傳送該硬碟陣列叢集1的一佈局資料(RAID layout,圖未標示)給該控制主機11,該控制主機11可由該佈局資料的內容,得知哪些硬碟10是已經開放了控制權、並且可被連接的(list of HDDs)。並且在本實施例中,被指派的該控制主機11會依據其具有的該佈局資料,將資料充份分散並寫入至被指派的該複數儲存主機12,如此一來,在某些數量下的該儲存主機12離線時,該硬碟陣列叢集1仍然可以保持運作,不會因為一或多台該儲存主機12的離線而停止作業或產生錯誤。
舉例而言,將運行兩個RAID1(資料鏡射)的硬碟充份分散於兩台不同的該儲存主機12,使得任一該儲存主機12離線(或其硬碟損毀),而另一該儲存主機12仍正常運作時,不會影響該硬碟陣列叢集1的正常運作;又例如,將運行四個RAID6的硬碟充份分散於四台不同的該儲存主機12,則當任二該儲存主機12離線(或其硬碟損毀),而另二該儲存主機12仍正常運作時,也不會影響該硬碟陣列叢集1的正常運作。
該步驟S42後,該控制主機11即可運行該硬碟陣列運算程序1100,進而將該控制主機11本身及該些儲存主機12內的該些硬碟10建構成該硬碟陣列叢集1(步驟S44)。其中,該硬碟陣列叢集1符合該佈局資料,並且該佈局資料係依照該客戶需求D1設計而成,因此該硬碟陣列叢集1可符合該客戶需求D1。該步驟S44後,即完成了該硬碟陣列叢集1之建構動作,並可由該硬碟陣列叢集1來提供客戶硬碟陣列的服務。
值得一提的是,該硬碟陣列運算程序1100係可由該管理伺服器5來提供給該控制主機11,並且,該管理伺服器5係可於該步驟S32後的任一步驟中提供給該控制主機11,但不加以限定。
參閱第九圖,為本發明的第一較佳具體實施例的主機還原流程圖。該管理伺服器5會監控該複數主機4,並且,由該複數主機4定時回報一主機狀態給該管理伺服器5(步驟S50),如第五圖中所示,該管理伺服器5中更記錄有一監控資料53,該監控資料53用以記錄該複數主機4回覆的該主機狀態。該管理伺服器5係通過該些主機狀態,判斷該複數儲存主機12是否損壞(步驟S52)。具體而言,管理人員係可設定讓該複數主機4固定每n秒回報該主機狀態給該管理伺服器5,藉此,該管理伺服器5可在超過n秒未收到一A主機回報該主機狀態時,或是該主機回報的該主機狀態顯示該A主機發生異常時,判斷該A主機損壞。
若於該步驟S52中,該管理伺服器5判斷該複數儲存主機12皆正常運作,則回到該步驟S50,由該複數儲存主機12持續回覆該主機狀態給該管理伺服器5。而若於該步驟S52中,該管理伺服器5判斷該複數儲存主機12的其中之一損壞,則該管理伺服器5進一步判斷是否有可用的備用主機(步驟S54),其中,該備用主機是該管理伺服器5於前述的該步驟S38中所指派。若沒有可用的備用主機,則該管理伺服器5會自動通知相關的管理人員來進行故障之排除(步驟S56)。
如上所述,若有可用的備用主機,則該管理伺服器5會變更該佈局資料,並提供變更後的該佈局資料給該控制主機11(步驟S58),並且同時發送一變更佈局的指令給該控制主機11,藉以,該控制主機11可依據該指令及變更後的該佈局資料,連接該備用主機內的硬碟,以該備用主機的硬碟來代替損壞的該儲存主機12內的該硬碟10(步驟S60)。
值得一提的是,如同傳統的硬碟陣列一般,當該備用主機代替了該損壞的儲存主機12的角色後,該硬碟陣列叢集1會依據硬碟陣列之特性(例如RAID0,RAID5,RAID6等),將該損壞的儲存主機12內的該硬碟10中的資料,還原至該備用主機的硬碟中。藉以,該硬碟陣列叢集1中的資料,不會因該複數儲存主機12的損壞而消失。
接著請同時參閱第十圖及第十一圖,分別為本發明的第三較佳具體實施例的系統架構圖及第四較佳具體實施例的系統架構圖。如第十圖所示,若本實施例中的該硬碟陣列叢集1係由該第一控制主機111及該複數儲存主機12所構建而成,則該客戶終端2只需連線至該第一控制主機111,即可存取該硬碟陣列叢集1。然而,若該第一控制主機111損壞,該客戶終端2就無法存取該硬碟陣列叢集1,如此一來,即使該複數儲存主機12中的資料皆保存完整,該客戶終端2亦無法取得,該硬碟陣列叢集1即被視為故障。
為解決此一情況,該管理伺服器5更可於該資料源6中,選取至少一主機並指派為一備用控制主機,例如第十圖中的該第二控制主機112。如第十一圖中所示,當該第一控制主機111損壞時,該管理伺服器5可通過該第二控制主機112來代替該第一控制主機111,以由該第二控制主機112來連接該複數儲存主機12中的該些硬碟10,並重新建構一個硬碟陣列叢集1’。藉以,只要讓該客戶終端2重新連接至該第二控制主機112,即可以存取該硬碟陣列叢集1’。值得一提的是,該二硬碟陣列叢集1與1’皆是由該複數儲存主機12中的該些硬碟10所建構而成,因此該二硬碟陣列叢集1與1’中的資料是完全相同的,不會因為由該第二控制主機112來代替該第一控制主機111而使得資料有所不同。
請同時參閱第十二圖,為本發明的第二較佳具體實施例的主機還原流程圖。如上所述,該管理伺服器5會監控該複數主機4,並且由該複數主機4定時回報該主機狀態給該管理伺服器5(步驟S70),其中該複數主機4包括了該複數儲存主機12及該控制主機11。該管理伺服器5係通過該監控資料53中的該些主機狀態,判斷該控制主機11是否損壞(步驟S72),若該控制主機11正常運作,則回到該步驟S70,由該複數主機4持續回覆該主機狀態給該管理伺服器5。
若於該步驟S72中,該管理伺服器5判斷該控制主機11損壞,則該管理伺服器5進一步判斷是否有可用的備用主機(例如上述的該第二控制主機112)(步驟S74)。若沒有可用的備用主機,則該管理伺服器5會自動通知相關的管理人員來進行故障之排除(步驟S76)。
若有可用的備用主機,則該管理伺服器5會令該備用主機連接該硬碟陣列叢集1中的該複數儲存主機12的該些硬碟10(步驟S78),例如提供相同的該佈局資料給該備用主機,但不加以限定。接著,該管理伺服器5進一步提供該硬碟陣列運算程序1100給該備用主機(步驟S80),藉以,該備用主機可依據該管理伺服器5之指令,運行該硬碟陣列運算程序1100,以將該備用主機本身以及該複數儲存主機12中的該些硬碟10,重新建構成該硬碟陣列叢集1’(步驟S82)。
值得一提的是,於前述該步驟S58中,該管理伺服器5係需同時令該備用主機運行該iSCSI目標端程序120,藉以令該備用主機能夠與該控制主機11連接。而於前述該步驟S78中,該管理伺服器5係需同時令該備用主機運行該iSCSI啟始端程序110,藉以令該備用主機能夠與該複數儲存主機12連接。
接續請同時參閱第十三A圖及第十三B圖,分別為本發明的第五較佳具體實施例與第六較佳具體實施例的系統架構圖。如第十三A圖所示,當該硬碟陣列叢集1建構完成時,該控制主機11主要是將該複數儲存主機12中的該些硬碟10,整合為大型的該硬碟陣列卷100。藉此,將該硬碟陣列卷100作為該硬碟陣列叢集1中的大型儲存空間,以供客戶儲存資料。
如上所述,為了避免因為該控制主機11損壞而造成該硬碟陣列叢集1無法被正常存取,前述實施例係令該管理伺服器5可同時指派一或多台的備用主機。然而,在正常的運作情況下,該些備用主機需要保持通電並且處於開機狀態,但是不需執行任何的工作,實為浪費。本實施例中,係可將該控制主機11視為一主控制主機,並將該些備用主機視為多個次控制主機,例如第十三A圖中的一第一次控制主機71與一第二次控制主機72,但不加以限定。
如第十三B圖中所示,當該複數儲存主機12中的該些硬碟10被整合為該硬碟陣列卷100後,該控制主機11係可再依據該管理伺服器5的分配,將該硬碟陣列卷100切割成複數個切割區,圖中以一第一切割區1001、一第二切割區1002及一第三切割區1003為例,但不加以限定。於切割完成後,該管理伺服器5再將各該分割區1001、1002、1003分別分配給對應的該控制主機11及該些次控制主機71、72。該控制主機11及該些次控制主機71、72係可分別連接一或多個分割區。本實施例中,係例如由該控制主機11來連接並控制該第一分割區1001、由該第一次控制主機71來連接並控制該第二分割區1002、由該第二次控制主機72來連接並控制該第三分割區1003。然而,該控制主機11及各該次控制主機71、72更可同時連接並控制一個以上的分割區,不應以一個為限。
值得一提的是,該主制主機11及各該次控制主機71、72可同時連接並控制一個以上的分割區,但各該分割區1001、1002、1003同一時間只能連接一台控制主機。舉例來說,該第一分割區1001連接該控制主機11,並受該控制主機11之控制,就不能連接該二次控制主機71、72,以免造成資料寫入之錯誤。
於此一實施例中,該客戶終端2可同時連線至該控制主機11、該第一次控制主機71及該第二次控制主機72,藉以通過三條通道,同時存取該硬碟陣列卷100中的不同分割區。是以,與前述實施例相比,本實施例可以提供客戶更快的存取速度。
請同時參閱第十四圖,為本發明的第二較佳具體實施例的硬碟陣列建構流程圖。首先,於第八圖的該步驟S44述及,該控制主機11執行了該硬碟陣列運行程序110後,係可建構符合該客戶需求D1的該硬碟陣列叢集1,並將該些硬碟10整合為該硬碟陣列卷100(步驟S90)。接著,該管理伺服器5可對該控制主機11發出一分割命令,該控制主機11依照該分割命令對該硬碟陣列卷100進行分割動作(步驟S92)。
其中,該分割命令係可記錄有該管理伺服器5對於該硬碟陣列卷100之分配,例如分割方式、分割區的數量,以及各個分割區的容量大小等等。該控制主機11接收該分割命令後,即可將該硬碟陣列卷100分割成符合該分割命令之狀態。舉例來說,若該分割命令指出要將該硬碟陣列卷100切割成三等份,則該控制主機11可將該硬碟陣列卷100分割為如第十三B圖中所示的該第一分割區1001、該第二分割區1002及該第三分割區1003。然而,以上所述僅為本發明的較佳具體實例,該控制主機11實可依照該分割命令的內容,將該硬碟陣列卷100分割成兩個、四個甚至是四個以上同等或不同等的分割區,應視實際所需而定,不應加以限定。
接著,該管理伺服器5係可通過指令的發送,命令各該控制主機(11、71、72)分別連接對應的分割區(1001、1002、1003),並且分別於該對應的分割區(1001、1002、1003)上運行該硬碟陣列運算程序1100(步驟S94),藉以,由各該控制主機(11、71、72)來分別與各分割區(1001、1002、1003)建構成多個次硬碟陣列叢集(步驟S96)。
如第十三B圖的實施例所示,該管理伺服器5可命令該控制主機11連接該第一分割區1001,並於該第一分割區1001上運行該硬碟陣列運算程序1100,藉以由該控制主機11與該第一分割區1001來建構成一個次硬碟陣列叢集;命令該第一次控制主機71連接該第二分割區1002,並於該第二分割區1002上運行該硬碟陣列運算程序1100,藉以由該第一次控制主機71與該第二分割區1002來建構成另一個次硬碟陣列叢集;並且,命令該第二次控制主機72連接該第三分割區1003,並於該第三分割區1003上運行該硬碟陣列運算程序1100,藉以由該第二次控制主機72與該第三分割區1003來建構成又一個次硬碟陣列叢集。也就是說,對該客戶終端2而言,該三個次硬碟陣列叢集仍為一個該硬碟陣列叢集1,但該客戶終端2在存取該硬碟陣列叢集1時,可得到三倍的存取速度。
請同時參閱第十五A圖及第十五B圖,分別為本發明的第七較佳具體實施例及第八較佳具體實施例的系統架構圖。如第十五A圖所述,當該控制主機11損壞時,該管理伺服器5係可尋找一個可用的備用主機8,讓該備用主機8連接該第一分割區1001,並於該第一分割區1001上運行該硬碟陣列運算程序1100。藉以,由該備用主機8來代替損壞的該控制主機11,成為該次硬碟陣列叢集中的新的控制主機。
再者,如第十五B圖中所示,若該管理伺服器5找不到可用的該備用主機8,則於本實施例中,該管理伺服器5係可發送一指令給該第一次控制主機71或該第二次控制主機72(本實施例中係以該第一次控制主機71為例),命令該第一次控制主機71在連接該第二分割區1002之餘,同時連接該第一分割區1001,並且同時於該第一分割區1001上運行該硬碟陣列運算程序1100。如此一來,該第一次控制主機71即可分別與該第一分割區1001與該第二分割區1002建構成兩個獨立的次硬碟陣列叢集,該客戶終端2只要連接該第一次控制主機71,即可存取該硬碟陣列卷100中的該第一分割區1001及該第二分割區1002。
以上所述僅為本發明之較佳具體實例,非因此即侷限本發明之專利範圍,故舉凡運用本發明內容所為之等效變化,均同理皆包含於本發明之範圍內,合予陳明。
1...硬碟陣列叢集
10...硬碟
11...控制主機
110...iSCSI啟始端程序
1100...硬碟陣列運算程序
12...儲存主機
120...iSCSI目標端程序
2...客戶終端
Claims (20)
- 一種雲端網路硬碟陣列供應系統,包括:
一網路交換機;
複數主機,連接該網路交換機,
其中該複數主機包括:
一控制主機,具有一硬碟,並且運行一網路小型電腦系統介面(Internet Small Computer System Interface,iSCSI)啟始端程序;及
複數儲存主機,分別運行一iSCSI目標端程序,該複數儲存主機分別具有一硬碟,並且分別通過以iSCSI通訊協定與該控制主機連接;
其中,該複數儲存主機係分別開放該硬碟給該控制主機連接,藉以該控制主機執行一硬碟陣列運算程序,將該控制主機及該複數主機中的該些硬碟建構成一硬碟陣列叢集。 - 如申請專利範圍第1項所述的雲端網路硬碟陣列供應系統,其中更包括用以運行管理服務的一管理伺服器,連接該網路交換機,並通過該網路交換機與該複數主機連接,該管理伺服器接收一客戶需求,並依據該客戶需求於該複數主機中選取並指派對應的該控制主機及該複數儲存主機,藉以由該被指派的控制主機與該複數儲存主機中的該些硬碟建構成符合該客戶需求的該硬碟陣列叢集。
- 如申請專利範圍第2項所述的雲端網路硬碟陣列供應系統,其中被指派的該控制主機具有一佈局資料,該控制主機依據該佈局資料將資料充份分散至被指派的該複數儲存主機,藉以該複數儲存主機的其中之一離線時,該硬碟陣列叢集可藉由其他儲存主機來保持運作。
- 如申請專利範圍第2項所述的雲端網路硬碟陣列供應系統,其中該客戶需求包括所需之容量大小、存取速度及安全等級的至少其中之一。
- 如申請專利範圍第2項所述的雲端網路硬碟陣列供應系統,其中該管理伺服器記錄有一資源池資訊,該資源池資訊記錄可被選擇的該複數主機的IP位址,該管理伺服器依據該些IP位址判斷該複數主機的所在位置,藉以於該複數主機中選取並指派對應的該控制主機及該複數儲存主機。
- 如申請專利範圍第2項所述的雲端網路硬碟陣列供應系統,其中該管理伺服器更指派該複數主機的至少其中之一為一備用主機,當該控制主機損壞時,由該備用主機運行該硬碟陣列運算程序,以代替損壞的該控制主機,並與該複數儲存主機中的該些硬碟重新建構該硬碟陣列叢集,並且當該複數儲存主機的其中之一損壞時,由該控制主機連接該備用主機中的硬碟,以代替損壞的該儲存主機中的硬碟。
- 如申請專利範圍第6項所述的雲端網路硬碟陣列供應系統,其中該管理伺服器記錄有一主機詮釋資料(metadata),該主機詮釋資料記錄該控制主機、該複數儲存主機及該備用主機的一角色配置資訊。
- 如申請專利範圍第7項所述的雲端網路硬碟陣列供應系統,其中更具有一台以上的該管理伺服器,該複數管理伺服器共享該主機詮釋資料,藉以於該複數管理伺服器的其中之一離線時,另一該管理伺服器依據該主機詮釋資料,為已離線的該管理伺服器管理該複數主機之角色配置程序。
- 如申請專利範圍第2項所述的雲端網路硬碟陣列供應系統,其中該複數主機中更包括一次控制主機,該控制主機係將該硬碟陣列叢集中的該些硬碟整合成一硬碟陣列卷,並且該控制主機依據該管理伺服器之分配,將該硬碟陣列卷分割成複數個分割區,並將各該分割區分配給對應的該控制主機與該次控制主機,其中該控制主機及該次控制主機分別連接並控制一或多個該分割區,使得一用戶端主機可從該控制主機與該次控制主機同時存取該硬碟陣列叢集。
- 一種雲端網路硬碟陣列供應系統的建構方法,該雲端網路硬碟陣列供應系統包括一管理伺服器及複數主機,該建構方法包括:
a)該管理伺服器指派該複數主機的其中之一為一控制主機,並令該控制主機運行一iSCSI啟始端程序;
b)該管理伺服器指派該複數主機中的多台主機為一儲存主機,並令該些儲存主機分別運行一iSCSI目標端程序,其中該些儲存主機分別通過iSCSI通訊協定與該控制主機連接;
c)該些儲存主機分別開放內部的一硬碟的控制權;
d)該控制主機連接該些硬碟,並且運行一硬碟陣列運算程序,以將該控制主機及該些硬碟建構成一硬碟陣列叢集。 - 如申請專利範圍第10項所述的建構方法,其中該步驟d中,係由該管理伺服器提供該硬碟陣列運算程序及一佈局資料給該控制主機,該控制主機係依據該佈局資料取得可連接的該些硬碟,並且於運行該硬碟陣列運算程序後,與該些硬碟建構成該硬碟陣列叢集。
- 如申請專利範圍第11項所述的建構方法,其中該控制主機依據該佈局資料,將資料充份分散至該複數儲存主機,藉以在該複數儲存主機的其中之一離線時,該硬碟陣列叢集可藉由其他儲存主機來保持運作。
- 如申請專利範圍第10項所述的建構方法,其中更包括下列步驟:
e1)該管理伺服器接收該複數主機的IP位址,並記錄於內部的一資源池資訊中;及
e2)將該複數主機註冊並加入與該資源池資訊對應的一資源池中;
其中,該步驟a與該步驟b中,該管理伺服器係於該資源池中的該複數主機中,選取並指派對應的該控制主機與該複數儲存主機。 - 如申請專利範圍第13項所述的建構方法,其中該步驟a之前更包括一步驟a01:該管理伺服器接收一客戶需求;該步驟a與該步驟b中,該管理伺服器係依據該客戶需求存取該資源池資訊,以選取並指派對應的該控制主機與該複數儲存主機,藉以建構符合該客戶需求的該硬碟陣列叢集,其中該客戶需求包括所需之容量大小、存取速度及安全等級的至少其中之一。
- 如申請專利範圍第10項所述的建構方法,其中更包括下列步驟:
f)該複數主機定時回報一主機狀態給該管理伺服器;
g)於該些儲存主機的其中之一損壞時,該管理伺服器判斷是否有一備用主機;
h)若有該備用主機,該管理伺服器變更該佈局資料,並提供變更後的該佈局資料給該控制主機;及
i)該控制主機依據變更後的該佈局資料連接該備用主機內的該硬碟,以代替該損壞的儲存主機中的硬碟。 - 如申請專利範圍第10項所述的建構方法,其中更包括下列步驟:
j)該複數主機定時回報一主機狀態給該管理伺服器;
k)於該控制主機損壞時,該管理伺服器判斷是否有一備用主機;
l)若有該備用主機,該管理伺服器令該備用主機連接該複數儲存主機的該些硬碟,並且提供該硬碟陣列運算程序給該備用主機;
m)該備用主機運行該硬碟陣列運算程序,藉以與該複數儲存主機的該些硬碟重新建構該硬碟陣列叢集。 - 如申請專利範圍第10項所述的建構方法,其中雲端網路硬碟陣列供應系統包括一次控制主機,該步驟d中,該控制主機係將該些硬碟整合成一硬碟陣列卷,並且該步驟d後更包括下列步驟:
n)該控制主機依據該管理伺服器之分配,將該硬碟陣列卷分割成複數個分割區,並將各該分割區分配給對應的該控制主機及該次控制主機;
o)該控制主機連接該複數分割區中的至少一第一分割區,並分別於該些第一分割區上運行該硬碟陣列運算程序;
p)該次控制主機連接該複數分割區中的至少一第二分割區,並分別於該些第二分割區上運行該硬碟陣列運算程序,其中該些第二分割區未被該控制主機所連接;及
q)該控制主機分別與該些第一分割區建構成至少一個次硬碟陣列叢集,該次控制主機分別與該些第二分割區建構成至少一個另一次硬碟陣列叢集。 - 一種雲端網路硬碟陣列供應系統,包括一管理伺服器及複數主機,該管理伺服器中記錄有一資源池資訊,該資源池資訊記錄該複數主機的IP位址,當該管理伺服器接收一客戶需求後,依據該客戶需求讀取該資源池資訊,藉以通過該IP位址判斷該複數主機的所在位置,並於該複數主機中選取並指派對應的一控制主機及複數儲存主機,其中該控制主機運行一iSCSI啟始端程端,該複數儲存主機分別運行一iSCSI目標端程序,以通過iSCSI通訊協定與該控制主機連接,該複數儲存主機分別開放內部的一硬碟的控制權以令該控制主機連接,並且該控制主機運行一硬碟陣列運算程序,以將該控制主機及該複數主機中的該些硬碟建構成一符合該客戶需求的硬碟陣列叢集。
- 如申請專利範圍第18項所述的雲端網路硬碟陣列供應系統,其中該客戶需求包括所需之容量大小、存取速度及安全等級的至少其中之一;當該客戶需求要求存取速度時,該管理伺服器通過該些IP位址,選取最接近客戶端主機位置的該複數主機,並分別指派為該控制主機及該複數儲存主機;當該客戶需求要求安全等級時,該管理伺服器通過該IP位址,選取位於不同機櫃中的該複數主機,並分別指派為該剛主機及該複數儲存主機,使得單一機櫃的電源或網路中斷時,該網路磁碟陣列叢集的服務不至於中斷。
- 如申請專利範圍第19項所述的雲端網路硬碟陣列供應系統,其中該管理伺服器更選取並指派該複數主機的其中之一為一次控制主機,其中該次控制主機運行一iSCSI啟始端程端,該控制主機建構該硬碟陣列叢集後,係將該硬碟陣列叢集中的該些硬碟整合成一硬碟陣列卷,並且該控制主機依據該管理伺服器之分配,將該硬碟陣列卷分割成複數個分割區,並將各該分割區分配給對應的該控制主機及該次控制主機,其中該控制主機及該次控制主機分別連接一或多個該分割區,使得一用戶端主機可從該控制主機與該次控制主機同時存取該硬碟陣列叢集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102104843A TW201432473A (zh) | 2013-02-07 | 2013-02-07 | 雲端網路硬碟陣列供應系統及其建構方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102104843A TW201432473A (zh) | 2013-02-07 | 2013-02-07 | 雲端網路硬碟陣列供應系統及其建構方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201432473A true TW201432473A (zh) | 2014-08-16 |
Family
ID=51797406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102104843A TW201432473A (zh) | 2013-02-07 | 2013-02-07 | 雲端網路硬碟陣列供應系統及其建構方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TW201432473A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3086203A1 (en) | 2015-04-20 | 2016-10-26 | Walton Advanced Engineering Inc. | Storage device stacking system |
-
2013
- 2013-02-07 TW TW102104843A patent/TW201432473A/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3086203A1 (en) | 2015-04-20 | 2016-10-26 | Walton Advanced Engineering Inc. | Storage device stacking system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11137940B2 (en) | Storage system and control method thereof | |
US20180011732A1 (en) | Architecture for implementing a virtualization environment and appliance | |
US9229749B2 (en) | Compute and storage provisioning in a cloud environment | |
US11474704B2 (en) | Target path selection for storage controllers | |
US8996783B2 (en) | Managing nodes in a storage system | |
JP5523468B2 (ja) | 直接接続ストレージ・システムのためのアクティブ−アクティブ・フェイルオーバー | |
US20090049240A1 (en) | Apparatus and method for storage management system | |
US20150347047A1 (en) | Multilayered data storage methods and apparatus | |
US8972656B1 (en) | Managing accesses to active-active mapped logical volumes | |
US8972657B1 (en) | Managing active—active mapped logical volumes | |
WO2017133483A1 (zh) | 存储系统 | |
JP2005222539A (ja) | 複数のコントローラ間に仮想ストレージセグメントを割り当てる能力を有するストレージシステム | |
US9110591B2 (en) | Memory resource provisioning using SAS zoning | |
US10884622B2 (en) | Storage area network having fabric-attached storage drives, SAN agent-executing client devices, and SAN manager that manages logical volume without handling data transfer between client computing device and storage drive that provides drive volume of the logical volume | |
US20120005423A1 (en) | Viewing Compression and Migration Status | |
EP2422272B1 (en) | Active-active support of virtual storage management in a storage area network ("san") | |
WO2017167106A1 (zh) | 存储系统 | |
JP2022517890A (ja) | コンポーザブルインフラストラクチャにおける記憶装置の故障耐性を維持するための方法とシステム | |
US9582218B2 (en) | Serial attached storage drive virtualization | |
CN112379825B (zh) | 基于数据特征分池的分布式数据存储方法及装置 | |
US9069471B2 (en) | Passing hint of page allocation of thin provisioning with multiple virtual volumes fit to parallel data access | |
US20130031570A1 (en) | Sas virtual tape drive | |
CN103827805B (zh) | 数据存储系统中的存储驱动器虚拟化 | |
US8898514B2 (en) | SAS storage device drive system with failure information table | |
TW201432473A (zh) | 雲端網路硬碟陣列供應系統及其建構方法 |