TWI522829B - 具有輕量級容器節點的儲存系統 - Google Patents

具有輕量級容器節點的儲存系統 Download PDF

Info

Publication number
TWI522829B
TWI522829B TW104118755A TW104118755A TWI522829B TW I522829 B TWI522829 B TW I522829B TW 104118755 A TW104118755 A TW 104118755A TW 104118755 A TW104118755 A TW 104118755A TW I522829 B TWI522829 B TW I522829B
Authority
TW
Taiwan
Prior art keywords
service
node
storage
container
host
Prior art date
Application number
TW104118755A
Other languages
English (en)
Other versions
TW201643755A (zh
Inventor
陳文賢
黃明仁
Original Assignee
先智雲端數據股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 先智雲端數據股份有限公司 filed Critical 先智雲端數據股份有限公司
Priority to TW104118755A priority Critical patent/TWI522829B/zh
Application granted granted Critical
Publication of TWI522829B publication Critical patent/TWI522829B/zh
Publication of TW201643755A publication Critical patent/TW201643755A/zh

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

具有輕量級容器節點的儲存系統
本發明關於一種儲存系統,特別是關於一種具有輕量級容器架構的儲存系統。該系統的容量具備擴展性、本身具有智能特性、且可察覺到在儲存系統所執行的應用程式。
日常生活中有許多的儲存架構。舉例來說,最廣為使用的是儲存區域網路(Storage Area Network,SAN)與網路附加儲存(Network Attached Storage,NAS)。儲存區域網路是一種專用網路,提供統合的區塊級(block level)資料儲存設備的存取,每個伺服器與儲存設備在此專用網路中的連接媒介是以光纖為主。另一方面,網路附加儲存是一種文件級(file level)的電腦資料儲存伺服器,連接到電腦網路以提供異質客戶群組資料存取。在網路附加儲存中,儲存設備通常以網路電纜相連接。因而,由於連接媒介的頻寬較窄,可以傳送的資料量較儲存區域網路更受限,網路附加儲存通常被用作文件伺服器。相較於儲存區域網路,網路附加儲存有低成本與易操作等優點。然而,儲存區域網路的性能較好, 因而更適用於具有高負載的應用,諸如資料庫或郵件伺服器服務。此外,當更多的存取需求產生時,網路附加儲存會變得不穩定。因此,多數企業仍偏好使用儲存區域網路於商務運作。
此外,對儲存架構而言,一種越來越流行的技術是超融合式儲存,它集儲存、計算,網絡和虛擬化在一個硬體單元中。雖然這些儲存架構已成熟而應用於特定領域,但還有改善的空間。舉例來說,第1圖所示的儲存區域網路有計算節點(伺服器)1、2、與3,及儲存設備4、5、與6,整個系統可被用來提供客戶端視頻。儲存設備4用作為一用戶資料庫,包含使用者用於註冊的個人資訊、ID,及密碼。儲存設備5用作為一個後設資料資料庫,該後設資料指的是一個被選擇的視頻實際儲存的地方。儲存設備6用來存取視頻。顯而易見的是在視頻服務不同的階段中,該些計算節點1、2、或3需要為客戶端發送需求給不同儲存設備。因為計算節點與儲存設備相距遙遠,在它們之間資料傳送的往返導致時間的浪費,這意味著系統不可避免的成本損失。
很明顯,因為所有需要的軟體都安裝在同一個單元中,超融合式的儲存系統可以解決上述的問題。該超融合式儲存系統將計算節點盡可能接近儲存設備,並提供冗餘的儲存設備,知道未來需要多少資源(CPU、儲存設備,及網路)的資訊對其來說是極其重要的。然而,多數的超融合式儲存 系統無法獲得這樣的資訊。此外,無論是儲存區域網路或超融合式儲存系統,儲存設備通常的架構是與應用面無關的,這意味著儲存設備很少對各種應用進行優化,儲存的資料對運作與部署也無法獲致協調。
如果細看每個儲存設備運作,可以發現它們很少架構來支持應用面的整個生命週期。以第1圖來說,三種類型的資料可能在不同的階段與不同的頻率下使用。在早期階段,用戶資料庫(例如MySQL)因為用戶帳戶要創建而最常進行存取。之後,視頻後設資料資料庫(例如MongoDB資料庫)因為用戶瀏覽視頻而更加被存取。在後一階段,視頻資料儲存(例如Ceph儲存器)因為用戶觀看視頻而最常被存取。在不同的階段,分配不同的資源量,諸如作為快取使用的RAM或固態硬碟,對具有成本效益的系統是必須的。分配過多的資源意味浪費,而分配不足的資源可能導致延遲時間比服務層級協議中要求的還要長。
因此,需要一種創新的儲存系統來解決上述的問題。該儲存系統應智能化對應各應用的請求,且能達成快速配置。它也能維持高的性能和成本效益。最重要的,儲存系統的可擴展性是可被高度期望的。
本段文字提取和編譯本發明的某些特點。其它特點將被揭露於後續段落中。其目的在涵蓋附加的申請專利範圍之精神和範圍中,各式的修改和類似的排列。
為了解決上述的問題,本發明揭露一種儲存系統。該儲存系統包括:至少一叢集,該叢集具有複數個彼此相連接的節點,每一節點具有:一節點主機,該節點主機由一儲存作業系統所運作,並安裝複數個服務容器,該些服務容器用來提供客戶端特定服務及/或節點運作;及至少一節點儲存設備,該節點儲存設備由該儲存作業系統所運作,用以提供服務容器資料的存取;及一訊息模組,該訊息模組連接到每一節點主機,用以橋接各節點主機及/或不同叢集中的節點主機。粗粒度表徴性狀態傳輸(REpresentational State Transfer,REST)應用程式介面(Application Programming Interface,API)用於任二服務容器間的通訊。
依照本發明,該訊息模組為獨立伺服器、建於一主節點主機中以管理所有節點主機橋接的軟體,或安裝於每一節點主機中的一應用程式。二服務容器可彼此以一本地協議進行通訊,其中該服務容器提供用於運作該節點儲存設備的儲存服務、用於運作資料庫的資料服務,或用於提供該特定服務的應用服務。
該作業系統可進一步包含:一方針資料庫,用以儲存界定每一服務容器部署到一節點主機或由一節點主機中移 除的情況之規則;一分散式資料處理引擎,用以協調該特定服務的每個動作與由該些節點主機的服務容器提出之節點的運作,並處理該特定服務與該運作;一方針引擎,用以計算在分散式資料處理引擎中的資料,及依照在該方針資料庫中的規則部署該些服務容器;一公用程式庫,用以提供供運作該節點儲存設備的軟體邏輯,及供部署該服務容器的服務容器影像檔;及一運作模組,用以配置客製化輸入輸出調度器及/或儲存服務快取機制,並運作該節點儲存設備。
最好,該儲存服務為一監視服務,用以監視在節點中每一服務容器的性能指標。該儲存服務為一流量模型服務,用以創建在節點中至少一性能指標的一流量模型,並產生該性能指標的預測。該性能指標為該儲存系統的CPU負載、每秒輸入輸出操作次數(Input/output Per Second、IOPS)、流通量、或延遲時間、快寫命中率、或應用該儲存系統之網路的流通量。該儲存服務為一異常偵測服務,用以偵測由監視服務所得到之該性能指標的不尋常模式。
前述的該規則為:如果一節點主機具有一儲存服務,導致該節點主機的CPU負載高於一門檻值,更多該儲存服務的服務容器部署到其它節點主機中;如果一叢集具有的一儲存服務,導致該叢集平均的CPU負載較一門檻值來的低,移除該儲存服務多餘的服務容器;如果一節點主機具有一儲存服務,導致該工作主機的儲存負載或延遲時間高於一門檻值,更多 該儲存服務的服務容器部署到其它節點主機中;如果一節點主機具有一儲存服務,導致該工作主機的網路負載或網路流通量高於一門檻值,更多該儲存服務的服務容器部署到其它節點中;如果一節點主機具有一預測性能負載高於一門檻值,多餘的服務容器自該節點移除;如果一節點主機偵測到一異常,多餘的服務容器自該節點移除;如果一偵測異常超過一門檻值,移除該節點中所有的服務容器;該儲存服務的服務容器部署越接近儲存服務容器需要存取的資料之節點儲存設備越好;如果一節點主機具有一資料服務,導致該節點主機的CPU負載高於一門檻值,更多該資料服務的服務容器部署到其它節點主機中;如果一叢集具有的一資料服務,導致該叢集平均的CPU負載較一門檻值來的低,移除該資料服務多餘的服務容器;如果一節點主機具有一資料服務,導致該工作主機的儲存負載或延遲時間高於一門檻值,更多該資料服務的服務容器部署到其它節點主機中;如果一節點主機具有一資料服務,導致該工作主機的網路負載或網路流通量高於一門檻值,更多該資料服務的服務容器部署到其它節點中;如果一節點主機具有一應用服務,導致該節點主機的CPU負載高於一門檻值,更多該應用服務的服務容器部署到其它節點主機中;如果一叢集具有的一應用服務,導致該叢集平均的CPU負載較一門檻值來的低,移除該應用服務多餘的服務容器;如果一節點主機具有一應用服務,導致該工作主機的儲存負 載或延遲時間高於一門檻值,更多該應用服務的服務容器部署到其它節點主機中;或如果一節點主機具有一應用服務,導致該工作主機的網路負載或網路流通量高於一門檻值,更多該應用服務的服務容器部署到其它節點中。
1‧‧‧計算節點
2‧‧‧計算節點
3‧‧‧計算節點
4‧‧‧儲存設備
5‧‧‧儲存設備
6‧‧‧儲存設備
10‧‧‧第一節點
100‧‧‧第一節點主機
101‧‧‧儲存容器
102‧‧‧資料容器
103‧‧‧應用容器
110‧‧‧第一儲存作業系統
120‧‧‧硬碟
130‧‧‧固態硬碟
20‧‧‧第二節點
200‧‧‧第二節點主機
201‧‧‧儲存容器
202‧‧‧資料容器
203‧‧‧應用容器
210‧‧‧第二儲存作業系統
30‧‧‧第三節點
300‧‧‧第三節點主機
301a‧‧‧第一儲存容器
301b‧‧‧第二儲存容器
301c‧‧‧第三儲存容器
301d‧‧‧第七儲存容器
302‧‧‧資料容器
303‧‧‧應用容器
310‧‧‧第三儲存作業系統
40‧‧‧第四節點
400‧‧‧第四節點主機
401a‧‧‧第四儲存容器
401b‧‧‧第五儲存容器
401c‧‧‧第六儲存容器
401d‧‧‧第八儲存容器
402‧‧‧資料容器
403‧‧‧應用容器
410‧‧‧第四儲存作業系統
第1圖顯示一種習知的儲存區域網路。
第2圖顯示依照本發明的一種儲存系統的實施例。
第3圖是CPU使用的紀錄與預測。
第4圖顯示CPU使用紀錄中的一種異常情況。
第5圖為一儲存作業系統的架構。
第6圖顯示依照本發明的另一種儲存系統的實施例。
第7圖為方針與規則的例子。
第8圖顯示數個詳細的規則
本發明將藉由參照下列的實施方式而更具體地描述。
請參閱第2圖,該圖揭露依照本發明一種儲存系統的實施例。該儲存系統包括一訊息模組500與一具有數個節點的叢集,該些節點分別是一第一節點10、一第二節點20、一第三節點30、與一第四節點40。要注意的是本發明並未限定節點的數量,前述4個節點僅用來說明本發明。事實上,任何數 量的節點都適用。有4個節點在叢集中且它們彼此連接。連接的媒介可以是光纖或一般網路乙太電纜。
每一節點具有一節點主機與至少一個節點儲存設備。對不同功能來說,節點儲存設備的數量與型式可以不同。每一節點主機由一儲存作業系統所運作,並安裝數個服務容器。因而,節點主機能由服務容器,提供特定服務給客戶端,它也能提供特定服務於節點的運作。當然,該特定服務與節點的運作可以來自相同的節點主機。至少一節點儲存設備也可為儲存作業系統所運作,它(或它們)能提供服務容器資料的存取。安裝於任何節點主機的服務容器可提供一種儲存服務,用於運作節點儲存設備;它也提供一種資料服務,用於運作資料庫。或者,該服務容器提供一種應用服務,該應用服務能提供前述的特定服務。
要注意的是服務容器應該是屬於輕量級容器。不同於重量級容器,其由程式執行下的作業系統所管理,輕量級容器是運行於作業系統中的一種隔離的執行環境(runtime environment)中。舉例來說,前述輕量級容器可以是JAVA執行環境,而該重量級容器可以是一個虛擬機器(virtual machine)。它也可以是一個程序容器,藉由cgroups而創建,而cgroups是一個Linux內核特性。為了以下說明目的,如果一個服務容器用於提供一種儲存服務而該儲存服務用於節點運作,該服務容器定義為儲存容器。相同地,如果一個服務容 器用於提供一種資料服務,該服務容器定義為資料容器。如果一個服務容器用於提供一種應用服務,該服務容器定義為應用容器。
在本實施例中,儲存系統用來提供一種視頻串流服務。第一節點10包含1個第一節點主機100與3個硬碟120。該第一節點主機100與3個硬碟由一第一儲存作業系統110所驅動。第一節點主機100安裝有1個儲存容器101、2個資料容器102,及1個應用容器103。儲存容器101所提供的儲存服務是一種監視服務。該監視服務能監視第一節點10中,每一服務容器的性能指標。描述於此及之後的性能指標指的是儲存系統第一節點主機100的CPU負載、每秒輸入輸出操作次數(Input/output Per Second、IOPS)、流通量、或延遲時間、快寫命中率、或應用該儲存系統之網路的流通量。舉例來說,儲存容器101能提供服務給第一節點主機100,以監視及記錄過往CPU的使用(%)。請見第3圖,該記錄是由實折線所示。這些資料容器102都是MySQL資料庫,它們被用於儲存每一用戶的用戶資料,諸如用戶姓名、密碼、住址、電話號碼、電子郵件地址、性別等等。因為有太多的用戶登錄請求,工作負載對一個資料容器102來說負擔很重,因而配置第二資料容器102以維持第一節點主機100的平穩運作。應用容器103提供一種用於用戶登錄的應用服務,它處理來自客戶端請求的互動,及當登錄成功或失敗時反饋信息。第一儲存作業系統110 是一個基於ZFS的儲存作業系統,它可以為虛擬化和備份提供後端儲存。
第二節點20包含1個第二節點主機200與5個固態硬碟130。第二節點主機200與該些固態硬碟130由一第二儲存作業系統210所驅動。第二節點主機200安裝了1個儲存容器201、2個資料容器202,及1個應用容器203。由儲存容器201所提供的儲存服務也是一個監視服務。該監視服務作用如同儲存容器101的監視服務,此處不再贅述。該些資料容器102都是MongoDB資料庫,它們用於儲存視頻的後設資料,而該視頻的後設資料包含視頻儲存位置的資訊。當登錄用戶由瀏覽器介面選擇了一個視頻後,該請求發送到第二節點20。當該視頻位置由資料容器202之一找到時,應用容器203將重新導向該客戶端,到視頻儲存的節點上。相似地,因為要存取後設資料的請求太多了,且工作負載對一個資料容器202來說太重,因而配置了第二資料容器202。應用容器203提供一種應用服務,其作為中繼的功能。第二儲存作業系統210也是一個基於Linux的儲存作業系統。比較第一節點10與第二節點20,可以知道節點儲存設備的數量與型式不必要相同。同時,每一節點的儲存作業系統也能隨著不同的任務而變換。
第三節點30具有1個第三節點主機300與9個硬碟120,硬碟120可以是一個磁碟陣列。第三節點主機300與硬碟120由一第三儲存作業系統310所驅動。第三節點主機300安裝了1個 第一儲存容器301a、1個第二儲存容器301b、1個第三儲存容器301c、3個資料容器302,與1個應用容器303。很顯然,第三節點主機300具有比第一節點主機100及第二節點主機200更多的運作功能。由第一儲存容器301a提供的儲存服務為一種異常偵測服務,它能偵測由監視服務取得之性能指標的不尋常模式。請見第4圖。偵測到CPU負載的不尋常模式由虛折線所示。異常通常意味著硬體、軟體故障,甚或惡意使用。儲存作業系統將在可能狀況發生前採取行動。由第二儲存容器301b提供的儲存服務是流量模型服務,它能創建第三節點30中至少一性能指標的流量模型,並進而產生該性能指標的預測。請復見第3圖,虛折線說明在未來CPU負載的預測情況,任何提供這種服務的合適的方法或演算法可以應用。由第三儲存容器301c所提供的儲存服務是一種監視服務,該監視服務作用如同儲存容器101的監視服務,此處不再贅述。
資料容器302都是Ceph儲存器,它們被用於儲存一部分的視頻檔案及提供該些檔案給視頻串流服務使用。當來自應用容器203的請求要求存取其中的一視頻檔案,資料容器302之一開始一段接一段地傳送該檔案。因為有太多的請求要求不同的視頻,一個資料容器302不敷使用,所以配置3個資料容器302。應用容器303提供藉有限頻寬傳輸分割檔案到每一客戶端的應用服務。第三儲存作業系統310也是一種基於Linux的儲存作業系統。
第四節點40具有1個第四節點主機400、2個固態硬碟130,與7個硬碟120,該7個硬碟120可以是一個磁碟陣列。固態硬碟130用來儲存某些經常被存取的檔案,以供快速取得檔案之用。第四節點主機400、固態硬碟130,與硬碟120由一第四儲存作業系統410所驅動,該第四節點主機400安裝了1個第四儲存容器401a、1個第五儲存容器401b、1個第六儲存容器401c、3個資料容器402,與1個應用容器403。由第四儲存容器401a提供的儲存服務為異常偵測服務,與第一儲存容器301a相同,異常偵測服務的功能不再此重複。由第五儲存容器401b提供的儲存服務與第二儲存容器301b提供者相同。由第六儲存容器401c提供的儲存服務是快照服務,該快照服務進行節點儲存設備(固態硬碟130與硬碟120)的快照,以備某個邏輯單元號碼(Logical Unit Number,LUN)的遺失資料恢復請求之用。該些資料容器402都是Ceph儲存器。相似地,它們被用於儲存另一部分的視頻檔案及提供該些檔案給視頻串流服務使用,它們的運作方式同資料容器302。應用容器403提供傳輸分割檔案到每一客戶端的應用服務。第四儲存作業系統410也是一個基於Linux的儲存作業系統。
雖然該些節點中的儲存作業系統可以相同或不同,每一者的架構應具備以下的元件。請參閱第5圖。該作業系統的架構包含:一方針資料庫、一分散式資料處理引擎、一方針引擎、一公用程式庫,與一運作模組。方針資料庫儲存界 定每一服務容器部署到節點主機或自節點主機移除情況的規則。依照本發明,如果在一節點主機中的服務容器的工作負載能由其餘相同型式的服務容器所執行,任何的服務容器都能依照需求部署,任何的服務容器可以被移除。對不同的服務容器,應用不同的規則。該些規則說明如下。
如果一節點主機具有一儲存服務,導致該節點主機的CPU負載高於一門檻值,更多該儲存服務的服務容器部署到其它節點主機中;如果一叢集具有的一儲存服務,導致該叢集平均的CPU負載較一門檻值來的低,移除該儲存服務多餘的服務容器;如果一節點主機具有一儲存服務,導致該工作主機的儲存負載或延遲時間高於一門檻值,更多該儲存服務的服務容器部署到其它節點主機中;如果一節點主機具有一儲存服務,導致該工作主機的網路負載或網路流通量高於一門檻值,更多該儲存服務的服務容器部署到其它節點中;如果一節點主機具有一預測性能負載高於一門檻值,多餘的服務容器自該節點移除;如果一節點主機偵測到一異常,多餘的服務容器自該節點移除;如果一偵測異常超過一門檻值,移除該節點中所有的服務容器;該儲存服務的服務容器部署越接近儲存服務容器需要存取的資料之節點儲存設備越好;如果一節點主機具有一資料服務,導致該節點主機的CPU負載高於一門檻值,更多該資料服務的服務容器部署到其它節點主機中;如果一叢集具有的一資料服務,導致該叢集平均的CPU 負載較一門檻值來的低,移除該資料服務多餘的服務容器;如果一節點主機具有一資料服務,導致該工作主機的儲存負載或延遲時間高於一門檻值,更多該資料服務的服務容器部署到其它節點主機中;如果一節點主機具有一資料服務,導致該工作主機的網路負載或網路流通量高於一門檻值,更多該資料服務的服務容器部署到其它節點中;如果一節點主機具有一應用服務,導致該節點主機的CPU負載高於一門檻值,更多該應用服務的服務容器部署到其它節點主機中;如果一叢集具有的一應用服務,導致該叢集平均的CPU負載較一門檻值來的低,移除該應用服務多餘的服務容器;如果一節點主機具有一應用服務,導致該工作主機的儲存負載或延遲時間高於一門檻值,更多該應用服務的服務容器部署到其它節點主機中;或如果一節點主機具有一應用服務,導致該工作主機的網路負載或網路流通量高於一門檻值,更多該應用服務的服務容器部署到其它節點中。
分散式資料處理引擎藉節點主機的服務容器協調該特定服務的每個動作以及節點的運作,並處理該特定服務與運作。對於協調特定服務的動作而言,請復見第2圖。如果一個視頻檔案太大而儲存在一資料容器302與一資料容器402中,分散式資料處理引擎在視頻串流過程中,協助檔案的銜接。對於協調運作動作來說,為了對分散式資料處理引擎有更進一步的了解,顯示於第6圖中的另一個實施例於此用來說明。 使用第2圖中相同的元素,而第一儲存容器301a與第四儲存容器401a分別為一第七儲存容器301d與一第八儲存容器401d所取代。第七儲存容器301d與第八儲存容器401d提供重複資料刪除服務。當儲存系統開始重複資料刪除時,相同型式的服務容器,第七儲存容器301d與第八儲存容器401d,會一起進行處理,協調工作由分散式資料處理引擎負責。第七儲存容器301d與第八儲存容器401d的重複資料刪除服務會自最靠近的儲存設備(在相同節點中)取得重複的資料,並將之送往原節點儲存設備或其它指定的儲存設備。
方針引擎依照在該方針資料庫中的規則,計算在分散式資料處理引擎中的資料,以部署服務容器。方針是對服務容器的部署需求,它通常包含許多規則。當應用一方針時,儲存系統將開啟或關閉服務容器。為說明起見,請參閱第7圖。儲存容器遵循儲存方針,資料容器遵循資料方針,應用容器遵循應用方針。對每一服務容器而言,存在許多的方針,每一方針具有包含數個規則的規則集。該些規則可能是不同的,例如應用方針的所有規則。該些規則可能是部分相同的,例如規則集A與規則集B中的規則1與規則3。該些規則可能是集合在某一規則集中且又散布在其它規則集中,譬如儲存方針中的規則。為了有較好的理解,第8圖出示了一個例子。規則集A中的規則1要求CPU負載在未來60分鐘內至少剩餘50%,規則集A中的規則2要求IOPS在未來60分鐘內至少剩餘50%,規 則集A中的規則3要求網路在未來60分鐘內至少剩餘40%。規則1到規則3應同時滿足。如果規則集A維持,增加應用容器到節點主機,直到所有這些規則都無法滿足。相似地,規則集B中的規則4要求CPU負載在未來60分鐘內至少剩餘15%,規則集B中的規則5要求IOPS在未來60分鐘內至少剩餘15%,規則集B中的規則6要求網路在未來60分鐘內至少剩餘25%。規則4到規則6應同時滿足。如果規則集B維持,移除節點主機的應用容器,直到所有這些規則都無法滿足。如果規則集A與規則集B同時不滿足,那麼現有應用容器就不變。對各別服務容器而言,所有的規則列舉如上,不再重複說明。
公用程式庫能提供軟體邏輯,用以運作節點儲存設備,它也提供服務容器影像檔來部署服務容器。如果一規則定義一服務容器的需求,將藉由需要服務容器的節點主機中的儲存作業系統來起始服務容器的影像檔,以部署該服務容器。運作模組能配置客製化輸入輸出調度器及/或儲存服務快取機制,它也能操作附接在節點主機上的節點儲存設備。
訊息模組500是一台獨立伺服器,它與每一節點主機相連。訊息模組500的功能是橋接叢集中的節點主機。在本實施例中,僅使用一個叢集。在其它的實施例裏,可以有二個或更多個具有數個的節點叢集。因而,訊息模組500的功能可以橋接節點主機及/或不同叢集中的節點主機。事實上,訊息模組不限於伺服器,它可以是一套建於主節點主機中的軟 體,用來管理所有節點主機的橋接;或者是一套安裝於每一節點主機中的應用程式。
不同的儲存作業系統可能使用不同的通訊協議,即便在一個節點主機中,不同的協議可能應用在不同的服務上。在服務溝通時若有過多的通訊,會降低了儲存系統的效率。本發明使用一種針對儲存系統的改良通訊方式。粗粒度REST(REpresentational State Transfer)應用程式介面(Application Programming Interface,API)用於任二服務容器間的通訊。該粗粒度REST應用程式介面是HTTP請求方法,諸如GET,PUT,POST,DELETE等等。來自URL的資源將可操作一個服務容器,而非使用特定協議來操作。因而,這些粗粒度REST應用程式介面為該項服務排除了閒雜通訊。然而,如果二個節點內的二個儲存作業系統是相同的,且已具有一套針對該些服務的本地協議,即對應視頻後設資料服務與視頻串流服務的第二儲存作業系統210與第三儲存作業系統310,二個服務容器也可以經由該本地協議而彼此通訊。
從上述的描述中很明顯知道儲存系統是有可擴展性的,它可以是向上擴展及向外擴展。如果一個服務容器的工作負載很沉重,另一個服務容器能加到相同的主機節點或叢集中其它主機節點,以達成向上擴展的目的。如果多個主機或叢集需要用來本地支援(例如對不同公司位置或資料中心內的主機而言),更多的主機由訊息模組相連而達成向外擴展。 此外,起始的服務容器位置可能不需要固定在某一節點主機中,儲存容器的輸入/輸出設定檔(I/O Profile)服務可部署於每一節點中。如果該輸入/輸出設定檔服務偵測到第二節點20最近遭遇到異常,而第三節點30已正常運作一段時間,輸入/輸出設定檔服務將指示第三儲存作業系統310,移除第三節點30的異常偵測儲存容器,並通知第二儲存作業系統運作210部署一異常偵測儲存容器。然而,要強調的是每一儲存服務應起始在靠近它的資料(在相同節點主機中)處。也就是說相關的應用、資料、與儲存容器應在相同的節點主機中。舉例來說,用於視頻串流的應用容器403與Ceph儲存器的資料容器402位在相同的節點主機40上。
雖然本發明已以實施方式揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10‧‧‧第一節點
100‧‧‧第一節點主機
101‧‧‧儲存容器
102‧‧‧資料容器
103‧‧‧應用容器
110‧‧‧第一儲存作業系統
120‧‧‧硬碟
130‧‧‧固態硬碟
20‧‧‧第二節點
200‧‧‧第二節點主機
201‧‧‧儲存容器
202‧‧‧資料容器
203‧‧‧應用容器
210‧‧‧第二儲存作業系統
30‧‧‧第三節點
300‧‧‧第三節點主機
301a‧‧‧第一儲存容器
301b‧‧‧第二儲存容器
301c‧‧‧第三儲存容器
302‧‧‧資料容器
303‧‧‧應用容器
310‧‧‧第三儲存作業系統
40‧‧‧第四節點
400‧‧‧第四節點主機
401a‧‧‧第四儲存容器
401b‧‧‧第五儲存容器
401c‧‧‧第六儲存容器
402‧‧‧資料容器
403‧‧‧應用容器
410‧‧‧第四儲存作業系統

Claims (13)

  1. 一種具有輕量級容器節點的儲存系統,包含:至少一叢集,該叢集具有複數個彼此相連接的節點,每一節點具有:一節點主機,該節點主機由一儲存作業系統所運作,並安裝複數個服務容器,該些服務容器用來提供客戶端特定服務及/或節點運作;及至少一節點儲存設備,該節點儲存設備由該儲存作業系統所運作,用以提供服務容器資料的存取;及一訊息模組,該訊息模組連接到每一節點主機,用以橋接各節點主機及/或不同叢集中的節點主機,其中粗粒度表徴性狀態傳輸(REpresentational State Transfer,REST)應用程式介面(Application Programming Interface,API)用於任二服務容器間的通訊。
  2. 如申請專利範圍第1項所述的儲存系統,其中該訊息模組為獨立伺服器、建於一主節點主機中以管理所有節點主機橋接的軟體,或安裝於每一節點主機中的一應用程式。
  3. 如申請專利範圍第1項所述的儲存系統,其中二服務容器彼此以一本地協議進行通訊。
  4. 如申請專利範圍第1項所述的儲存系統,其中該服務容器提供用於運作該節點儲存設備的儲存服務、用於運作資料庫的資料服務,或用於提供該特定服務的應用服務。
  5. 如申請專利範圍第4項所述的儲存系統,其中該作業系統包含:一方針資料庫,用以儲存界定每一服務容器部署到一節點主機或由一節點主機中移除的情況之規則;一分散式資料處理引擎,用以協調該特定服務的每個動作與由該些節點主機的服務容器提出之節點的運作,並處理該特定服務與該運作;及一方針引擎,用以計算在分散式資料處理引擎中的資料,及依照在該方針資料庫中的規則部署該些服務容器。
  6. 如申請專利範圍第5項所述的儲存系統,其中該作業系統進一步包含:一公用程式庫,用以提供供運作該節點儲存設備的軟體邏輯,及供部署該服務容器的服務容器影像檔;及一運作模組,用以配置客製化輸入輸出調度器及/或儲存服務快取機制,並運作該節點儲存設備。
  7. 如申請專利範圍第4項所述的儲存系統,其中該儲存服務為一監視服務,用以監視在節點中每一服務容器的性能指標。
  8. 如申請專利範圍第4項所述的儲存系統,其中該儲存服務為一流量模型服務,用以創建在節點中至少一性能指標的一流量模型,並產生該性能指標的預測。
  9. 如申請專利範圍第7項或第8項所述的儲存系統,其中該性 能指標為該儲存系統的CPU負載、每秒輸入輸出操作次數(Input/output Per Second,IOPS)、流通量、或延遲時間、快寫命中率、或應用該儲存系統之網路的流通量。
  10. 如申請專利範圍第7項所述的儲存系統,其中該儲存服務為一異常偵測服務,用以偵測由監視服務所得到之該性能指標的不尋常模式。
  11. 如申請專利範圍第5項所述的儲存系統,其中該規則為:如果一節點主機具有一儲存服務,導致該節點主機的CPU負載高於一門檻值,更多該儲存服務的服務容器部署到其它節點主機中;如果一叢集具有的一儲存服務,導致該叢集平均的CPU負載較該門檻值來的低,移除該儲存服務多餘的服務容器;如果一節點主機具有一儲存服務,導致該節點主機的儲存負載或延遲時間高於該門檻值,更多該儲存服務的服務容器部署到其它節點主機中;如果一節點主機具有一儲存服務,導致該節點主機的網路負載或網路流通量高於該門檻值,更多該儲存服務的服務容器部署到其它節點中;如果一節點主機具有一預測性能負載高於該門檻值,多餘的服務容器自該節點移除;如果一節點主機偵測到一異常,多餘的服務容器自該節點移除;如果一偵測異常超過該門檻值,移除該節點中所有的服務容器;或該儲存服務的服務容器部署越接近儲存服務容器需要存取的資料之節點儲存設備越好。
  12. 如申請專利範圍第5項所述的儲存系統,其中該規則為:如果一節點主機具有一資料服務,導致該節點主機的CPU負載高於一門檻值,更多該資料服務的服務容器部署到其它節點主機中;如果一叢集具有的一資料服務,導致該叢集平均的CPU負載較該門檻值來的低,移除該資料服務多餘的服務容器;如果一節點主機具有一資料服務,導致該節點主機的儲存負載或延遲時間高於該門檻值,更多該資料服務的服務容器部署到其它節點主機中;或如果一節點主機具有一資料服務,導致該節點主機的網路負載或網路流通量高於該門檻值,更多該資料服務的服務容器部署到其它節點中。
  13. 如申請專利範圍第5項所述的儲存系統,其中該規則為:如果一節點主機具有一應用服務,導致該節點主機的CPU負載高於一門檻值,更多該應用服務的服務容器部署到其它節點主機中;如果一叢集具有的一應用服務,導致該叢集平均的CPU負載較該門檻值來的低,移除該應用服務多餘的服務容器;如果一節點主機具有一應用服務,導致該節點主機的儲存負載或延遲時間高於該門檻值,更多該應用服務的服務容器部署到其它節點主機中;或如果一節點主機具有一應用服務,導致該節點主機的網路負載或網路流通量高於該門檻值,更多該應用服務的服務容器部署到其它節點中。
TW104118755A 2015-06-10 2015-06-10 具有輕量級容器節點的儲存系統 TWI522829B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW104118755A TWI522829B (zh) 2015-06-10 2015-06-10 具有輕量級容器節點的儲存系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW104118755A TWI522829B (zh) 2015-06-10 2015-06-10 具有輕量級容器節點的儲存系統

Publications (2)

Publication Number Publication Date
TWI522829B true TWI522829B (zh) 2016-02-21
TW201643755A TW201643755A (zh) 2016-12-16

Family

ID=55810442

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104118755A TWI522829B (zh) 2015-06-10 2015-06-10 具有輕量級容器節點的儲存系統

Country Status (1)

Country Link
TW (1) TWI522829B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI752939B (zh) * 2016-03-14 2022-01-21 香港商阿里巴巴集團服務有限公司 用戶請求的處理方法和裝置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI668634B (zh) * 2018-08-03 2019-08-11 廣達電腦股份有限公司 基於軟體容器提供雲端服務之系統及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI752939B (zh) * 2016-03-14 2022-01-21 香港商阿里巴巴集團服務有限公司 用戶請求的處理方法和裝置

Also Published As

Publication number Publication date
TW201643755A (zh) 2016-12-16

Similar Documents

Publication Publication Date Title
US9817584B2 (en) Storage system having node with light weight container
US11983198B2 (en) Multi-cluster warehouse
US20230344729A1 (en) Dynamic scaling of storage volumes for storage client file systems
US11275622B2 (en) Utilizing accelerators to accelerate data analytic workloads in disaggregated systems
US11290360B2 (en) Analyzing resource placement fragmentation for capacity planning
EP2966562A1 (en) Method to optimize inline i/o processing in tiered distributed storage systems
US11256595B2 (en) Predictive storage management system
WO2012066604A1 (en) Server system and method for managing the same
US11727004B2 (en) Context dependent execution time prediction for redirecting queries
US8381217B1 (en) System and method for preventing resource over-commitment due to remote management in a clustered network storage system
US10855556B2 (en) Methods for facilitating adaptive quality of service in storage networks and devices thereof
JP2015517147A (ja) 空間節約(spacesavings:空き容量節約)を達成するように処理をスケジューリングするためのシステム、方法及びコンピュータープログラム製品
US10505862B1 (en) Optimizing for infrastructure diversity constraints in resource placement
US11010203B2 (en) Fusing and unfusing operators during a job overlay
US11442927B1 (en) Storage performance-based distribution of deduplicated data to nodes within a clustered storage environment
US20240248914A1 (en) Methods for hierarchical propagation in tree structures and devices thereof
TWI522829B (zh) 具有輕量級容器節點的儲存系統
US11656944B1 (en) Code function checkpoint and restore
US20240323143A1 (en) Intelligent auto-scaling of components providing data protection services within a clustered environment
US11892915B2 (en) Method and system for performing data protection services using a grouped subsystem level feedback mechanism
US20220391135A1 (en) File system operations for a storage supporting a plurality of submission queues
US20240241770A1 (en) Workload summarization for congestion avoidance in computer servers
US20220334945A1 (en) Predicting storage array capacity
Das et al. NoSQL and Cloud Paradigm: Characteristics and Classification, Data Storage Technology, and Algorithms