TWI514250B - 用來管理一儲存系統之方法與裝置以及計算機程式產品 - Google Patents
用來管理一儲存系統之方法與裝置以及計算機程式產品 Download PDFInfo
- Publication number
- TWI514250B TWI514250B TW102141903A TW102141903A TWI514250B TW I514250 B TWI514250 B TW I514250B TW 102141903 A TW102141903 A TW 102141903A TW 102141903 A TW102141903 A TW 102141903A TW I514250 B TWI514250 B TW I514250B
- Authority
- TW
- Taiwan
- Prior art keywords
- node
- module
- mediator
- primary
- iscsi
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- General Factory Administration (AREA)
Description
本發明係有關於儲存區域網路(Storage Area Network,SAN)之控制,尤指一種用來管理一儲存系統之方法與裝置以及計算機程式產品。
傳統的高可用性(High Availability)儲存系統的控制在某些狀況下可能發生問題。例如:當一主節點(Primary Node)離線後,一次節點(Secondary Node)會在短時間內接手服務。然而,在該次節點開始運作的那一刻,因為該傳統的高可用性儲存系統尚未針對網際網路小型電腦系統介面目的端(Internet Small Computer System Interface Target,iSCSI Target)的狀態同步,就導致階段(Session)被中斷。此外,基於該傳統的高可用性儲存系統的控制,所有的資訊流量都會經過該主節點,使得該主節點成為效能瓶頸。因此,需要一種新穎的方法以提昇儲存系統之效能。
因此,本發明之目的之一在於提供一種用來管理一儲存系統之方法與裝置以及計算機程式產品,以解決上述問題。
本發明之另一目的在於提供一種用來管理一儲存系統之方法與裝置以及計算機程式產品,以提昇該儲存系統之效能。
本發明之另一目的在於提供一種用來管理一儲存系統之方法與裝置以及計算機程式產品,以確保資料之高可用性(High Availability)。
本發明之至少一較佳實施例中提供一種用來管理一儲存系統之方法,其中該儲存系統包含複數個網路儲存裝置,而該方法包含有下列步
驟:利用一中介者(Broker)模組接收來自一用戶端裝置(Client Device)之一指令;以及利用該中介者模組廣播(Publish)該指令予該儲存系統中之一主節點(Primary Node)與一次節點(Secondary Node)以控制該主節點與該次節點進行對應於該指令之一相同運作,並且利用該中介者模組接收來自該主節點之確認(Acknowledgement)與來自該次節點之確認,其中該主節點代表該複數個網路儲存裝置當中用來作為主回應者(Primary Responder)之至少一網路儲存裝置,而該次節點代表該複數個網路儲存裝置當中用來作為次回應者(Secondary Responder)之至少一網路儲存裝置。
本發明於提供上述方法之同時,亦對應地提供一種用來管理一儲存系統之裝置,其中該儲存系統包含複數個網路儲存裝置,而該裝置包含有:一網路模組;以及一處理電路,耦接至該網路模組。該網路模組係用來提供一網路服務予該裝置,以維持該儲存系統之運作,並且該處理電路係用來控制該儲存系統之運作。尤其是,該處理電路包含:一中介者模組,用來透過該網路模組接收來自一用戶端裝置之一指令。另外,該中介者模組廣播該指令予該儲存系統中之一主節點與一次節點以控制該主節點與該次節點進行對應於該指令之一相同運作,並且接收來自該主節點之確認與來自該次節點之確認。此外,該主節點代表該複數個網路儲存裝置當中用來作為主回應者之至少一網路儲存裝置,而該次節點代表該複數個網路儲存裝置當中用來作為次回應者之至少一網路儲存裝置。
本發明於提供上述方法之同時,亦對應地提供一種計算機程式產品,其中該計算機程式產品包含程式碼以指示至少一處理器進行上述方法。
本發明的好處之一是,相較於相關技術,本發明之方法、裝置、與計算機程式產品可提昇該儲存系統之可靠度。另外,本發明之方法、裝置、與計算機程式產品可避免階段(Session)被中斷的問題。此外,本發明之方法、裝置、與計算機程式產品可確保資料之高可用性。
100‧‧‧用來管理一儲存系統之裝置
100S(1),100S(2),100S(3),100S(4)‧‧‧儲存區域網路
110‧‧‧處理電路
110B‧‧‧程式碼
120‧‧‧網路模組
200‧‧‧用來管理一儲存系統之方法
210,220‧‧‧步驟
ACK‧‧‧針對指令之確認
BRK‧‧‧中介者模組
BRK(0),BRK(1)‧‧‧中介者子模組
DSR‧‧‧直接伺服器回傳
EXT_IP(0),EXT_IP(1)‧‧‧網際網路協定位址
iSCSI_cmd,iSCSI_init‧‧‧指令
iSCSI_INT‧‧‧發起端
iSCSI_TGT(0),iSCSI_TGT(1)‧‧‧目的端
ONL,OFFL,SB,WT‧‧‧目的端之狀態
PUB,REP,REQ,SUB‧‧‧控制方案中之角色
S‧‧‧電源之狀態
SW(0),SW(1),SW(10),SW(11)‧‧‧交換器
Sync‧‧‧同步資訊
第1圖為依據本發明一第一實施例之一種用來管理一儲存系統之裝置的示意圖。
第2圖為依據本發明一實施例之一種用來管理一儲存系統之方法的流程圖。
第3圖繪示第2圖所示之方法於一實施例中所涉及之一控制方案的初始化運作。
第4圖繪示第3圖所示實施例中之該控制方案針對主節點(Primary Node)模式之運作。
第5圖繪示第3圖所示實施例中之該控制方案針對次節點(Secondary Node)模式之運作。
第6圖繪示第2圖所示之方法於另一實施例中所涉及之一控制方案。
第7圖繪示第2圖所示之方法於另一實施例中所涉及之一控制方案。
第8圖繪示第2圖所示之方法於另一實施例中所涉及之一控制方案。
第9圖繪示第2圖所示之方法於另一實施例中所涉及之一控制方案。
第10圖繪示第2圖所示之方法於另一實施例中所涉及之一控制方案。
第1圖為依據本發明一第一實施例之一種用來管理一儲存系統之裝置100的示意圖,其中該儲存系統包含複數個網路儲存裝置。例如:該儲存系統可包含至少一伺服器(諸如一個或多個伺服器),而每一伺服器可包含多個實體儲存裝置諸如複數個硬式磁碟機。這只是為了說明的目的而已,並非對本發明之限制。實作上,裝置100可包含該儲存系統之至少一部分(例如一部分或全部),且該儲存系統的例子可包含(但不限於)一儲存區域網路(Storage Area Network,SAN)。這只是為了說明的目的而已,並非對本發明之限制。
如第1圖所示,裝置100包含一處理電路110與一網路模組120,而處理電路110與網路模組120係彼此耦接。依據本實施例,網路模組120係用來提供一網路服務予裝置100,以維持該儲存系統之運作。例如:網路模組120可包含一個或多個網路介面電路。另外,處理電路110可包含至少一處理器以執行程式碼110B,並且執行程式碼110B之處理電路110係用來控制該儲存系統之運作。尤其是,處理電路110包含一中介者(Broker)模組(未顯示於第1圖),用來控制該儲存系統。例如:該中介者模組可為程式碼110B中之至少一程式模組,諸如至少一軟體模組,其中程式碼110B可代表執行於上述至少一伺服器的程式。這只是為了說明的目的而已,並非對本發明之限制。依據本實施例之某些變化例,程式碼110B可內嵌於處理電路110,並且該中介者模組可為一硬體電路,諸如處理電路110之至少一部分(例如一部分或全部),其中該中介者模組可為位於上述至少一伺服器之外的一電子裝置。
第2圖為依據本發明一實施例之一種用來管理一儲存系統之方法200的流程圖。該方法可應用於第1圖所示之裝置100,尤其是上述之處理電路110,諸如透過上述至少一處理器執行上述程式碼110B之處理電路110。例如:藉由利用一計算機程式產品,諸如儲存有程式碼110B(尤其是其安裝版本)之光碟片,該儲存系統之管理人員可將程式碼110B安裝於裝置100,其中該計算機程式產品包含程式碼110B(尤其是其安裝版本)以指示上述至少一處理器進行第2圖所示之方法200。這只是為了說明的目的而已,並非對本發明之限制。該方法說明如下:於步驟210中,裝置100利用該中介者模組接收來自一網路系統中之一用戶端裝置(Client Device)之指令,其中該用戶端裝置可透過該網路系統存取(Access)該儲存系統中之資料。例如:該儲存系統可為一網際網路小型電腦系統介面(Internet Small Computer System Interface,以下簡稱為「iSCSI」)儲存系統,且該指令可為一iSCSI指令。
於步驟220中,裝置100利用該中介者模組廣播(Publish)該指令予該儲存系統中之一主節點(Primary Node)與一次節點(Secondary Node)以控制該主節點與該次節點進行對應於該指令之一相同運作,並且利用該中介者模組接收來自該主節點之確認(Acknowledgement)與來自該次節點之確認,其中該主節點代表該複數個網路儲存裝置當中用來作為主回應者(Primary Responder)之至少一網路儲存裝置,而該次節點代表該複數個網路儲存裝置當中用來作為次回應者(Secondary Responder)之至少一網路儲存裝置。例如:該用戶端裝置可為一iSCSI階段(iSCSI Session)之一發起端(Initiator),而該主節點與該次節點可為該iSCSI階段之目的端(Target)。
請注意,第2圖繪示步驟210與步驟220之運作。這只是為了說明的目的而已,並非對本發明之限制。例如:裝置100另可利用該中介者模組進行其它運作。實作上,針對該iSCSI階段,該發起端所看到的網際網路協定位址(Internet Protocol Address,以下簡稱為「IP位址」)是該中介者模組的對外IP位址,故建立該iSCSI階段之運作可以視為該發起端和該中介者模組建立該iSCSI階段(亦即,裝置100可利用該中介者模組來建立該iSCSI階段),其中該中介者模組在收到用來建立該iSCSI階段之一特定指令時,可將該特定指令廣播給多個目的端(諸如目的端iSCSI_TGT(0)與iSCSI_TGT(1);未顯示於第2圖)以建立該iSCSI階段。這只是為了說明的目的而已,並非對本發明之限制。
依據本實施例,裝置100可利用該中介者模組將代表該指令之資訊暫時地儲存於裝置100中之一緩衝區(其可利用裝置100中之一記憶體、硬碟或任意的非揮發性儲存媒體來實施),以指出對應於該指令之一目前階段之運作尚未完成。另外,裝置100可利用該中介者模組控制該主節點與該次節點中之一特定節點以一直接伺服器回傳(Direct Server Return)直接回應該用戶端裝置,其中該特定節點的選擇對應於該主節點與該次節點的狀態,並且該主節點與該次節點中之另一節點不回應該用戶端裝置。這只是為
了說明的目的而已,並非對本發明之限制。依據本實施例之某些變化例,該儲存系統中用來實施上述多個目的端的一組伺服器可以互相溝通,而該組伺服器可透過投票的方式於該組伺服器當中推舉(或選擇)出要作為該主節點的某個伺服器,然後這個伺服器(或另一個伺服器)可將推舉結果通知該中介者模組。於是,被推舉為該主節點的這個伺服器可自行以該直接伺服器回傳來回應該用戶端裝置。
於本實施例中,裝置100可利用該中介者模組檢查該用戶端裝置是否傳送對應於該直接伺服器回傳之確認。在該中介者模組接收到對應於該直接伺服器回傳之該確認之後,裝置100可利用該中介者模組清除該緩衝區中代表該指令之該資訊,這表示該指令的相關運作已被處理完畢。尤其是,在該緩衝區僅僅用來暫時地儲存上述代表該指令之該資訊的狀況下,清除代表該指令之該資訊等同於清空該緩衝區。這只是為了說明的目的而已,並非對本發明之限制。
例如:在該主節點處於一在線(Online)狀態ONL的狀況下,裝置100可利用該中介者模組選擇該主節點作為該特定節點,來控制該主節點以該直接伺服器回傳直接回應該用戶端裝置。又例如:在該主節點處於一離線(Offline)狀態OFFL的狀況下,裝置100可利用該中介者模組選擇該次節點作為該特定節點,來控制該次節點以該直接伺服器回傳直接回應該用戶端裝置。尤其是,裝置100可利用該中介者模組依據該緩衝區當中代表該指令之該資訊,來控制該次節點以該直接伺服器回傳直接回應該用戶端裝置。這只是為了說明的目的而已,並非對本發明之限制。依據本實施例之某些變化例,該主節點與該次節點的角色可以重新定義,尤其是可以交換。例如:在該主節點處於一異常狀態(例如:離線狀態OFFL或無法接收指令的狀態)的狀況下,裝置100可利用該中介者模組將該次節點與該主節點各自所代表之網路儲存裝置分別定義為最新的主節點與最新的次節點,以利用該最新的主節點以上述之直接伺服器回傳直接回應該用戶端裝置。
在後續各個實施例中,中介者模組BRK可作為上述之中介者模組之一例,而發起端iSCSI_INT可作為上述之發起端之一例,且目的端iSCSI_TGT(0)與iSCSI_TGT(1)可作為上述之目的端的例子。為了便於理解,某些實施例中繪示一些控制方案中之各種角色,諸如廣播(Publish)PUB、回應(Response)REP、要求(Request)REQ、與訂閱(Subscribe)SUB,並且繪示一些目的端狀態,諸如等待狀態WT、在線狀態ONL、離線狀態OFFL、與待命(Standby)狀態SB,其中符號「S」代表電源之狀態,尤其是電源正常之狀態。
第3圖繪示第2圖所示之方法200於一實施例中所涉及之一控制方案的初始化運作,其中初始化指令iSCSI_init可作為上述之指令之一例,且確認ACK可作為上述之確認的例子。於接收到初始化指令iSCSI_init之後,中介者模組BRK廣播初始化指令iSCSI_init予目的端iSCSI_TGT(0)與iSCSI_TGT(1),並且接收來自目的端iSCSI_TGT(0)之確認ACK與來自目的端iSCSI_TGT(1)之確認ACK。於本實施例中,在中介者模組BRK之控制下,目的端iSCSI_TGT(0)可利用直接伺服器回傳DSR來直接回應發起端iSCSI_INT。本實施例與前述實施例/變化例相仿之處不再重複贅述。
第4圖繪示第3圖所示實施例中之該控制方案針對主節點模式之運作,其中指令iSCSI_cmd可作為上述之指令之一例,且直接伺服器回傳DSR可作為上述之直接伺服器回傳之一例。於接收到指令iSCSI_cmd(例如該寫入指令或該讀取指令)之後,中介者模組BRK廣播指令iSCSI_cmd予目的端iSCSI_TGT(0)與iSCSI_TGT(1),並且接收來自目的端iSCSI_TGT(0)之確認ACK與來自目的端iSCSI_TGT(1)之確認ACK。在目的端iSCSI_TGT(0)處於在線狀態ONL的狀況下,中介者模組BRK選擇目的端iSCSI_TGT(0)作為該特定節點,來控制目的端iSCSI_TGT(0)以直接伺服器回傳DSR直接回應發起端iSCSI_INT。本實施例與前述實施例/變化例相仿之處不再重複贅述。
第5圖繪示第3圖所示實施例中之該控制方案針對次節點模
式之運作。於接收到指令iSCSI_cmd(例如該寫入指令或該讀取指令)之後,中介者模組BRK廣播指令iSCSI_cmd予目的端iSCSI_TGT(0)與iSCSI_TGT(1),並且接收來自目的端iSCSI_TGT(1)之確認ACK,其中目的端iSCSI_TGT(0)處於離線狀態OFFL(例如目的端iSCSI_TGT(0)之電源異常),故無法接收指令iSCSI_cmd且沒有傳送確認ACK至中介者模組BRK。尤其是,在目的端iSCSI_TGT(0)處於離線狀態OFFL的狀況下,中介者模組BRK選擇目的端iSCSI_TGT(1)作為該特定節點,來控制目的端iSCSI_TGT(1)以直接伺服器回傳DSR直接回應發起端iSCSI_INT。實作上,在等待來自目的端iSCSI_TGT(0)的確認ACK之過程中,中介者模組BRK可檢查一等待時間區間(其起始時間點可為廣播指令iSCSI_cmd之時間點)的長度是否達到一預定時間門檻值,來判斷目的端iSCSI_TGT(0)是否處於離線狀態OFFL。在沒收到來自目的端iSCSI_TGT(0)的確認ACK之狀況下,當該等待時間區間達到該預定時間門檻值時,中介者模組BRK可判定目的端iSCSI_TGT(0)處於離線狀態OFFL。本實施例與前述實施例/變化例相仿之處不再重複贅述。
第6圖繪示第2圖所示之方法200於另一實施例中所涉及之一控制方案。為了確保整個系統架構沒有單點故障(Single Point Of Failure,SPOF)的弱點,中介者模組BRK可包含中介者子模組(Broker Sub-module)BRK(0)與BRK(1),其中本實施例之中介者模組BRK的工作主要在轉送iSCSI指令並維持緩衝狀態,且中介者子模組BRK(0)與BRK(1)中之每一者可設置有上述之該緩衝區。於中介者子模組BRK(0)與BRK(1)中之任一者收到該指令之後,這個收到該指令之中介者子模組會以同步資訊Sync和另一個中介者子模組溝通,以同步緩衝與系統狀態,藉此達成高可用性(High Availability)。請注意,只要不妨礙本發明之實施,中介者子模組BRK(0)與BRK(1)可以位於不同的實體架構內,諸如兩個電子裝置,其每一者可藉由利用第1圖所示實施例之該些變化例中之該電子裝置來實施。這只是為了說明的目的而已,並非對本發明之限制。本實施例與前述實施例/變化例相仿之處不再重複贅
述。
第7圖繪示第2圖所示之方法200於另一實施例中所涉及之一控制方案,其中儲存區域網路100S(1)可作為第1圖所示實施例中之儲存區域網路之一例,而本實施例之中介者模組BRK可包含上述之兩個電子裝置。如第7圖之上半部所示,儲存區域網路100S(1)可包含耦接於發起端iSCSI_INT與中介者模組BRK之間的一個交換器SW(0),且中介者子模組BRK(0)與BRK(1)共用同一個對外之IP位址EXT_IP(0)。尤其是,一開始,該儲存系統的網路管理人員可指定中介者子模組BRK(0)與BRK(1)中之一者為主中介者子模組(Primary Broker Sub-module),其中中介者子模組BRK(0)與BRK(1)中之另一者係為次中介者子模組(Secondary Broker Sub-module),且次中介者子模組可作為主中介者子模組之備援裝置。於是,該IP位址EXT_IP(0)會被設定在該主中介者子模組上;該主中介者子模組就可以使用這個IP位址EXT_IP(0)去跟該用戶端裝置連繫,並且把該緩衝區之同步資訊Sync傳送給該次中介者子模組。該次中介者子模組則可隨時偵測該主中介者子模組是否離線,並且,當該次中介者子模組偵測到該主中介者子模組離線時,便將該IP位址EXT_IP(0)設定在自己的網路卡上。例如:該次中介者子模組可利用封包網際網路探查(Packet Internet Groper,PING)指令來偵測該主中介者子模組是否離線。又例如:該次中介者子模組可利用傳輸控制協定/網際網路協定(Transmission Control Protocol/Internet Protocol,TCP/IP)連線的方式來偵測該主中介者子模組是否離線。於該次中介者子模組將該IP位址EXT_IP(0)設定在自己的網路卡上之後,該次中介者子模組可發出一個位址解析協定(Address Resolution Protocol,ARP)指令給交換器SW(0),以更新交換器SW(0)中的位址解析協定表(ARP Table),因此發起端iSCSI_INT原先欲傳送至主中介者子模組之資訊則可改為傳送至次中介者子模組。如此,對中介者子模組BRK(0)與BRK(1)而言,該主中介者子模組與該次中介者子模組的角色可以交換。例如:一開始,中介者子模組BRK(0)與BRK(1)
可分別為該主中介者子模組與該次中介者子模組;然後,當中介者子模組BRK(0)離線時,中介者子模組BRK(1)變為最新的主中介者子模組,且中介者子模組BRK(0)變為最新的次中介者子模組。這只是為了說明的目的而已,並非對本發明之限制。
請注意,當目的端iSCSI_TGT(0)與iSCSI_TGT(1)中之任一者利用直接伺服器回傳DSR來回應的時候,直接伺服器回傳DSR的封包中的IP位址可預先改為中介者模組BRK的IP位址(於本實施例中係為上述之IP位址EXT_IP(0)),猶如直接伺服器回傳DSR是從中介者模組BRK送出的。實作上,該儲存系統的網路管理人員可預先對目的端iSCSI_TGT(0)與iSCSI_TGT(1)進行設定,使得目的端iSCSI_TGT(0)與iSCSI_TGT(1)中之任一者在發送直接伺服器回傳DSR時,直接伺服器回傳DSR的封包中的IP位址恆為中介者模組BRK的IP位址。因此,於本實施例中,該儲存系統的網路管理人員可不用另外安裝軟體於目的端iSCSI_TGT(0)與iSCSI_TGT(1)當中。
另外,如第7圖之下半部所示,儲存區域網路100S(1)可包含耦接於中介者模組BRK以及目的端{iSCSI_TGT(0),iSCSI_TGT(1)}之間的兩個交換器SW(10)與SW(11)。此外,應知道的是,本實施例之目的端iSCSI_TGT(0)與iSCSI_TGT(1)於發送直接伺服器回傳DSR來直接回應發起端iSCSI_INT時,該伺服器回傳DSR是傳送至交換器SW(0)之後,再透過交換器SW(0)回應至發起端iSCSI_INT,該直接伺服器回傳DSR之回應無需透過SW(10)、SW(11)與中介者模組BRK來傳送,以節省回應該直接伺服器回傳DSR至發起端iSCSI_INT之時間與避免中介者模組BRK之處理資料量過大。本實施例與前述實施例/變化例相仿之處不再重複贅述。
如前面所述,該儲存系統的網路管理人員可預先對目的端iSCSI_TGT(0)與iSCSI_TGT(1)進行設定。這只是為了說明的目的而已,並非對本發明之限制。依據本實施例之一變化例,於一開始中介者模組BRK廣播該指令給目的端iSCSI_TGT(0)與iSCSI_TGT(1)以建立上述之iSCSI階段的時
候,目的端iSCSI_TGT(0)與iSCSI_TGT(1)即可得知中介者模組BRK之IP位址EXT_IP(0),使得目的端iSCSI_TGT(0)與iSCSI_TGT(1)中之任一者於利用直接伺服器回傳DSR時,可將直接伺服器回傳DSR的封包中之對外IP位址修改為中介者模組BRK之IP位址EXT_IP(0)。
第8圖繪示第2圖所示之方法200於另一實施例中所涉及之一控制方案,其中儲存區域網路100S(2)可作為第1圖所示實施例中之儲存區域網路之一例,而本實施例之中介者模組BRK可包含上述之兩個電子裝置。如第8圖之上半部所示,儲存區域網路100S(2)可包含耦接於發起端iSCSI_INT與中介者模組BRK之間的兩個交換器SW(0)與SW(1),且中介者子模組BRK(0)與BRK(1)分別使用兩個對外之IP位址EXT_IP(0)與EXT_IP(1)。
請注意,當目的端iSCSI_TGT(0)與iSCSI_TGT(1)中之任一者利用直接伺服器回傳DSR來回應的時候,直接伺服器回傳DSR的封包中的IP位址可預先改為中介者模組BRK的IP位址(例如:上述之IP位址EXT_IP(0);又例如:上述之IP位址EXT_IP(1)),猶如直接伺服器回傳DSR是從中介者模組BRK送出的。於本實施例中,中介者模組BRK指定目的端iSCSI_TGT(0)與iSCSI_TGT(1)中之某一個目的端為該主節點的時候,會控制這個目的端在利用直接伺服器回傳DSR來回應之前先修改伺服器回傳DSR的封包中的IP位址,使伺服器回傳DSR的封包中的IP位址等同於中介者模組BRK之目前的IP位址。例如:在中介者子模組BRK(0)取得主控權的狀況下,中介者模組BRK的IP位址可為該IP位址EXT_IP(0),且伺服器回傳DSR的封包中的IP位址可預先改成該IP位址EXT_IP(0);又例如:在中介者子模組BRK(1)取得主控權的狀況下,中介者模組BRK的IP位址可為該IP位址EXT_IP(1),且伺服器回傳DSR的封包中的IP位址可預先改成該IP位址EXT_IP(1)。實作上,由於上述兩個中介者子模組BRK(0)與BRK(1)分別使用兩個對外之IP位址EXT_IP(0)與EXT_IP(1),因此中介者子模組BRK(0)與
BRK(1)可分別為發起端iSCSI_INT以及目的端iSCSI_TGT(0)與iSCSI_TGT(1)建立iSCSI階段,所以,針對目的端iSCSI_TGT(0)與iSCSI_TGT(1)中之每一者,其實都建立了兩個iSCSI階段。如此,上述兩個中介者子模組BRK(0)與BRK(1)平時都可一起使用,以增大資料流量之上限,其中這兩個中介者子模組BRK(0)與BRK(1)在廣播各自接收到的處理指令給目的端{iSCSI_TGT(0),iSCSI_TGT(1)}的時候,可互相同步各自的緩衝區中尚未處理的指令之資訊給對方。因此,當目的端iSCSI_TGT(0)與iSCSI_TGT(1)中之某一個目的端利用直接伺服器回傳DSR來回應的時候,這個目的端可將其直接伺服器回傳DSR的封包中的IP位址預先改為對應的中介者子模組的IP位址,尤其是這兩個中介者子模組BRK(0)與BRK(1)當中廣播相對應指令(亦即,造成這個直接伺服器回傳DSR之指令)之中介者子模組的IP位址。例如:在造成這個直接伺服器回傳DSR之指令是由中介者子模組BRK(0)所廣播的狀況下,這個目的端可將這個直接伺服器回傳DSR的封包中的IP位址預先改為中介者子模組BRK(0)的IP位址。又例如:在造成這個直接伺服器回傳DSR之指令是由中介者子模組BRK(1)所廣播的狀況下,這個目的端可將這個直接伺服器回傳DSR的封包中的IP位址預先改為中介者子模組BRK(1)的IP位址。本實施例與前述實施例/變化例相仿之處不再重複贅述。
第9圖繪示第2圖所示之方法200於另一實施例中所涉及之一控制方案,其中儲存區域網路100S(3)可作為第1圖所示實施例中之儲存區域網路之一例,而本實施例之中介者模組BRK可為上述之至少一程式模組,諸如分別執行於目的端iSCSI_TGT(0)與iSCSI_TGT(1)的程式。如第9圖所示,儲存區域網路100S(3)可包含上述之交換器SW(0)。另外,由於本實施例之中介者子模組BRK(0)與BRK(1)係實施成分別執行於目的端iSCSI_TGT(0)與iSCSI_TGT(1)的程式,故設置上述兩個交換器SW(10)與SW(11)是不必要的。本實施例與前述實施例/變化例相仿之處不再重複贅述。
第10圖繪示第2圖所示之方法200於另一實施例中所涉及之
一控制方案,其中儲存區域網路100S(4)可作為第1圖所示實施例中之儲存區域網路之一例,而本實施例之中介者模組BRK可為上述之至少一程式模組,諸如分別執行於目的端iSCSI_TGT(0)與iSCSI_TGT(1)的程式。如第10圖所示,儲存區域網路100S(4)可包含上述之交換器SW(0)與SW(1)。另外,由於本實施例之中介者子模組BRK(0)與BRK(1)係實施成分別執行於目的端iSCSI_TGT(0)與iSCSI_TGT(1)的程式,故設置上述兩個交換器SW(10)與SW(11)是不必要的。本實施例與前述實施例/變化例相仿之處不再重複贅述。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
200‧‧‧用來管理一儲存系統之方法
210,220‧‧‧步驟
Claims (15)
- 一種用來管理一儲存系統之方法,該儲存系統包含複數個網路儲存裝置,該方法包含有下列步驟:利用一中介者(Broker)模組接收來自一用戶端裝置(Client Device)之一指令;以及利用該中介者模組廣播(Publish)該指令予該儲存系統中之一主節點(Primary Node)與一次節點(Secondary Node)以控制該主節點與該次節點進行對應於該指令之一相同運作,並且利用該中介者模組接收來自該主節點之確認(Acknowledgement)與來自該次節點之確認,其中該主節點代表該複數個網路儲存裝置當中用來作為主回應者(Primary Responder)之至少一網路儲存裝置,而該次節點代表該複數個網路儲存裝置當中用來作為次回應者(Secondary Responder)之至少一網路儲存裝置。
- 如申請專利範圍第1項所述之方法,其中該儲存系統係為一網際網路小型電腦系統介面(Internet Small Computer System Interface,iSCSI)儲存系統;以及該指令係為一網際網路小型電腦系統介面指令。
- 如申請專利範圍第2項所述之方法,其中該用戶端裝置係為一網際網路小型電腦系統介面階段(iSCSI Session)之一發起端(Initiator),而該主節點與該次節點係為該網際網路小型電腦系統介面階段之目的端(Target)。
- 如申請專利範圍第1項所述之方法,其另包含:利用該中介者模組將代表該指令之資訊暫時地儲存於一緩衝區,以指出對應於該指令之一目前階段之運作尚未完成; 利用該中介者模組控制該主節點與該次節點中之一特定節點以一直接伺服器回傳(Direct Server Return)直接回應該用戶端裝置,其中該特定節點的選擇對應於該主節點與該次節點的狀態,以及該主節點與該次節點中之另一節點不回應該用戶端裝置;利用該中介者模組檢查該用戶端裝置是否傳送對應於該直接伺服器回傳之確認;以及在該中介者模組接收到對應於該直接伺服器回傳之該確認之後,利用該中介者模組清除該緩衝區中代表該指令之該資訊。
- 如申請專利範圍第4項所述之方法,其另包含:在該主節點處於一在線(Online)狀態的狀況下,利用該中介者模組選擇該主節點作為該特定節點,來控制該主節點以該直接伺服器回傳直接回應該用戶端裝置;以及在該主節點處於一離線(Offline)狀態的狀況下,利用該中介者模組選擇該次節點作為該特定節點,來控制該次節點以該直接伺服器回傳直接回應該用戶端裝置。
- 如申請專利範圍第5項所述之方法,其另包含:在該主節點處於該離線狀態的狀況下,利用該中介者模組依據該緩衝區當中代表該指令之該資訊,來控制該次節點以該直接伺服器回傳直接回應該用戶端裝置。
- 如申請專利範圍第1項所述之方法,其另包含:在該主節點處於一異常狀態的狀況下,利用該中介者模組將該次節點與該主節點各自所代表之網路儲存裝置分別定義為最新的主節點與最新的次節點,以利用該最新的主節點以一直接伺服器回傳 (Direct Server Return)直接回應該用戶端裝置。
- 一種計算機程式產品,其中該計算機程式產品包含程式碼以指示至少一處理器進行如申請專利範圍第1項所述之方法。
- 一種用來管理一儲存系統之裝置,該儲存系統包含複數個網路儲存裝置,該裝置包含有:一網路模組,用來提供一網路服務予該裝置,以維持該儲存系統之運作;以及一處理電路,耦接至該網路模組,用來控制該儲存系統之運作,其中該處理電路包含:一中介者(Broker)模組,用來透過該網路模組接收來自一用戶端裝置(Client Device)之一指令,其中該中介者模組廣播該指令予該儲存系統中之一主節點(Primary Node)與一次節點(Secondary Node)以控制該主節點與該次節點進行對應於該指令之一相同運作,並且接收來自該主節點之確認(Acknowledgement)與來自該次節點之確認,其中該主節點代表該複數個網路儲存裝置當中用來作為主回應者(Primary Responder)之至少一網路儲存裝置,而該次節點代表該複數個網路儲存裝置當中用來作為次回應者(Secondary Responder)之至少一網路儲存裝置。
- 如申請專利範圍第9項所述之裝置,其中該儲存系統係為一網際網路小型電腦系統介面(Internet Small Computer System Interface,iSCSI)儲存系統;以及該指令係為一網際網路小型電腦系統介面指令。
- 如申請專利範圍第10項所述之裝置,其中該用戶端裝置係為一網際網路小型電腦系統介面階段(iSCSI Session)之一發起端(Initiator),而該主節點與該次節點係為該網際網路小型電腦系統介面階段之目的端(Target)。
- 如申請專利範圍第9項所述之裝置,其中該中介者模組將代表該指令之資訊暫時地儲存於一緩衝區,以指出對應於該指令之一目前階段之運作尚未完成;該中介者模組控制該主節點與該次節點中之一特定節點以一直接伺服器回傳(Direct Server Return)直接回應該用戶端裝置,其中該特定節點的選擇對應於該主節點與該次節點的狀態,以及該主節點與該次節點中之另一節點不回應該用戶端裝置;該中介者模組檢查該用戶端裝置是否傳送對應於該直接伺服器回傳之確認;以及在該中介者模組接收到對應於該直接伺服器回傳之該確認之後,該中介者模組清除該緩衝區中代表該指令之該資訊。
- 如申請專利範圍第12項所述之裝置,其中在該主節點處於一在線(Online)狀態的狀況下,該中介者模組選擇該主節點作為該特定節點,來控制該主節點以該直接伺服器回傳直接回應該用戶端裝置;以及在該主節點處於一離線(Offline)狀態的狀況下,該中介者模組選擇該次節點作為該特定節點,來控制該次節點以該直接伺服器回傳直接回應該用戶端裝置。
- 如申請專利範圍第13項所述之裝置,其中在該主節點處於該離線狀態的狀況下,該中介者模組依據該緩衝區當中代表該指令之該資訊,來控制該次節點以該直接伺服器回傳直接回應該用戶端裝置。
- 如申請專利範圍第9項所述之裝置,其中在該主節點處於一異常狀態的狀況下,該中介者模組將該次節點與該主節點各自所代表之網路儲存裝置分別定義為最新的主節點與最新的次節點,以利用該最新的主節點以一直接伺服器回傳(Direct Server Return)直接回應該用戶端裝置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102141903A TWI514250B (zh) | 2013-11-18 | 2013-11-18 | 用來管理一儲存系統之方法與裝置以及計算機程式產品 |
CN201310730666.8A CN104660664B (zh) | 2013-11-18 | 2013-12-26 | 用来管理储存系统的方法与装置 |
US14/261,440 US10298687B2 (en) | 2013-11-18 | 2014-04-25 | Method, apparatus and computer program product for managing storage system |
EP14174998.6A EP2874375B1 (en) | 2013-11-18 | 2014-06-30 | Method, apparatus and computer program product for managing storage system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102141903A TWI514250B (zh) | 2013-11-18 | 2013-11-18 | 用來管理一儲存系統之方法與裝置以及計算機程式產品 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201520883A TW201520883A (zh) | 2015-06-01 |
TWI514250B true TWI514250B (zh) | 2015-12-21 |
Family
ID=51133876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102141903A TWI514250B (zh) | 2013-11-18 | 2013-11-18 | 用來管理一儲存系統之方法與裝置以及計算機程式產品 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10298687B2 (zh) |
EP (1) | EP2874375B1 (zh) |
CN (1) | CN104660664B (zh) |
TW (1) | TWI514250B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI561028B (en) * | 2015-06-12 | 2016-12-01 | Synology Inc | Method for managing a storage system, and associated apparatus |
JP6505171B2 (ja) | 2016-08-25 | 2019-04-24 | エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation | 仮想ネットワーク環境でループバックインタフェースを利用してdsrロードバランシングを処理する方法およびシステム |
JP6505172B2 (ja) | 2016-08-25 | 2019-04-24 | エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation | 仮想ネットワーク環境で仮想スイッチを利用してロードバランシングを処理する方法およびシステム |
CN112910981B (zh) * | 2021-01-27 | 2022-07-26 | 联想(北京)有限公司 | 一种控制方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1554055A (zh) * | 2001-07-23 | 2004-12-08 | �Ƚ�װ�ù�˾ | 高可用性集群虚拟服务器系统 |
TW200825724A (en) * | 2006-12-07 | 2008-06-16 | Inventec Corp | System and method for taking over services of multiple host computers |
CN101908377A (zh) * | 2010-05-18 | 2010-12-08 | 常州大学 | 一种基于Zigbee无线通讯的模块化数据记录仪及工作方法 |
US7996718B1 (en) * | 2009-02-12 | 2011-08-09 | Symantec Corporation | Techniques for continuous data protection |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7406537B2 (en) * | 2002-11-26 | 2008-07-29 | Progress Software Corporation | Dynamic subscription and message routing on a topic between publishing nodes and subscribing nodes |
US7617369B1 (en) * | 2003-06-30 | 2009-11-10 | Symantec Operating Corporation | Fast failover with multiple secondary nodes |
US7921240B2 (en) * | 2004-03-10 | 2011-04-05 | Broadcom Corporation | Method and system for supporting hardware acceleration for iSCSI read and write operations and iSCSI chimney |
US7721150B2 (en) * | 2004-03-19 | 2010-05-18 | Intel Corporation | Failover and load balancing |
US7917469B2 (en) * | 2006-11-08 | 2011-03-29 | Hitachi Data Systems Corporation | Fast primary cluster recovery |
US8695001B2 (en) * | 2007-09-20 | 2014-04-08 | Microsoft Corporation | Loading services based on a request and setting permission level to enable execution of commands or services exposed based on a role of requester |
CN101471956B (zh) * | 2007-12-28 | 2011-08-31 | 英业达股份有限公司 | 目标端的储存设备状态的识别及动态更新方法 |
US8892789B2 (en) * | 2008-12-19 | 2014-11-18 | Netapp, Inc. | Accelerating internet small computer system interface (iSCSI) proxy input/output (I/O) |
US8762642B2 (en) * | 2009-01-30 | 2014-06-24 | Twinstrata Inc | System and method for secure and reliable multi-cloud data replication |
US8898119B2 (en) * | 2010-12-15 | 2014-11-25 | Netapp, Inc. | Fingerprints datastore and stale fingerprint removal in de-duplication environments |
US20160162371A1 (en) * | 2011-01-05 | 2016-06-09 | Netapp, Inc. | Supporting multi-tenancy through service catalog |
CN102843284B (zh) | 2011-06-23 | 2015-08-12 | 北京飞杰信息技术有限公司 | iSCSI存储节点、架构以及读取、写入方法 |
US8983915B2 (en) * | 2011-08-01 | 2015-03-17 | Actifio, Inc. | Successive data fingerprinting for copy accuracy assurance |
US9350806B2 (en) * | 2012-09-07 | 2016-05-24 | International Business Machines Corporation | Zero copy data transfers without modifying host side protocol stack parameters |
US9396459B2 (en) * | 2013-03-12 | 2016-07-19 | Netapp, Inc. | Capacity accounting for heterogeneous storage systems |
US9152687B2 (en) * | 2013-06-05 | 2015-10-06 | Netapp, Inc. | Cross domain locking in a distributed environment |
US9111598B2 (en) * | 2013-09-16 | 2015-08-18 | Netapp, Inc. | Increased I/O rate for solid state storage |
-
2013
- 2013-11-18 TW TW102141903A patent/TWI514250B/zh not_active IP Right Cessation
- 2013-12-26 CN CN201310730666.8A patent/CN104660664B/zh not_active Expired - Fee Related
-
2014
- 2014-04-25 US US14/261,440 patent/US10298687B2/en not_active Expired - Fee Related
- 2014-06-30 EP EP14174998.6A patent/EP2874375B1/en not_active Not-in-force
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1554055A (zh) * | 2001-07-23 | 2004-12-08 | �Ƚ�װ�ù�˾ | 高可用性集群虚拟服务器系统 |
TW200825724A (en) * | 2006-12-07 | 2008-06-16 | Inventec Corp | System and method for taking over services of multiple host computers |
US7996718B1 (en) * | 2009-02-12 | 2011-08-09 | Symantec Corporation | Techniques for continuous data protection |
CN101908377A (zh) * | 2010-05-18 | 2010-12-08 | 常州大学 | 一种基于Zigbee无线通讯的模块化数据记录仪及工作方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201520883A (zh) | 2015-06-01 |
EP2874375B1 (en) | 2018-10-10 |
US20150142909A1 (en) | 2015-05-21 |
CN104660664A (zh) | 2015-05-27 |
CN104660664B (zh) | 2018-03-06 |
EP2874375A1 (en) | 2015-05-20 |
US10298687B2 (en) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107919994B (zh) | 实现网络服务双机热备的方法及服务器 | |
TWI514250B (zh) | 用來管理一儲存系統之方法與裝置以及計算機程式產品 | |
US10868754B2 (en) | High availability input/output management nodes | |
TW201421232A (zh) | 在一冗餘群組中實施故障備援的方法、裝置與電腦程式產品 | |
JP6279938B2 (ja) | 接続管理装置、通信システム、接続管理方法およびプログラム | |
WO2013140522A1 (ja) | 情報処理システム,情報処理方法,プログラム | |
EP3695569B1 (en) | A system and method for providing a layer 2 fast re-switch for a wireless controller | |
US8676751B2 (en) | High availability database systems and methods | |
US9426022B2 (en) | SEA failover mechanism with minimized packet losses | |
US20160149789A1 (en) | Integrating a communication bridge into a data processing system | |
TWI483603B (zh) | 維持連線方法及應用該方法之電子裝置 | |
US11128558B2 (en) | Automatic routing configuration between hosts and network layer devices | |
CN115801642B (zh) | 基于状态控制的rdma通讯管理模块、方法、设备及介质 | |
US10320663B2 (en) | Communication device, communication system, and computer program product for performing interactive communication via relay servers | |
CN116074187A (zh) | 主备链路切换方法及装置、电子设备、存储介质 | |
US9634987B2 (en) | Obtaining a MAC address from an external source | |
JP2018077594A (ja) | 仮想マシン管理装置、システム、仮想マシン移動方法及びプログラム | |
CN110764932A (zh) | 数据处理方法、系统、介质和计算设备 | |
CN111064618A (zh) | 一种服务器高可用的实现方法、装置、设备和存储介质 | |
JPH09311843A (ja) | クライアントサーバ型通信方法及びクライアントサーバ型通信装置 | |
CN103457959A (zh) | 一种配置设备的方法及系统 | |
CN114205404B (zh) | 媒体流保持方法、装置、电子设备以及存储介质 | |
WO2023231836A1 (zh) | 一种文件同步方法、装置、设备及存储介质 | |
JP2009278436A (ja) | 通信システム及び冗長構成管理方法 | |
JPH11110365A (ja) | ネットワーク計算機システム、該システムで用いる計算機、および該システムに係る方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |