TWM547698U - Software-defined storage apparatus and system - Google Patents
Software-defined storage apparatus and system Download PDFInfo
- Publication number
- TWM547698U TWM547698U TW106202586U TW106202586U TWM547698U TW M547698 U TWM547698 U TW M547698U TW 106202586 U TW106202586 U TW 106202586U TW 106202586 U TW106202586 U TW 106202586U TW M547698 U TWM547698 U TW M547698U
- Authority
- TW
- Taiwan
- Prior art keywords
- storage
- unit
- units
- storage device
- software definition
- Prior art date
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本創作關於一種儲存裝置,特別是指一個機箱包括多個以一伺服器與一儲存器形成的儲存單元的軟體定義儲存裝置與系統。 The present invention relates to a storage device, and more particularly to a software-defined storage device and system including a plurality of storage units formed by a server and a storage.
資訊儲存方案從單純設於電腦裝置機箱內部或外接的磁碟、硬碟,並延伸到可經由網路存取的網路硬碟,常見如一種網路附加儲存(Network Attached Storage,NAS)的儲存方案。除了一般儲存檔案的需求外,利用網路形成的遠距資料儲存方案更考量了安全性。 The information storage solution is from a disk or a hard disk that is simply located inside or outside the computer device chassis, and extends to a network hard disk that can be accessed via a network, such as a network attached storage (NAS). Storage plan. In addition to the general need to store files, the remote data storage solution formed by the network takes security into account.
例如,如果僅採用一個硬碟儲存檔案,當硬碟損毀時,不容易恢復檔案,因此習知技術提出一種採用兩個以上的硬碟的備援方案,例如一種容錯性的磁碟陣列(Redundant Array of Independent Disks)技術,可以使得如網路附加儲存的儲存裝置具有容錯的能力。 For example, if only one hard disk is used to store files, it is not easy to restore files when the hard disk is damaged. Therefore, the prior art proposes a backup scheme using two or more hard disks, such as a fault-tolerant disk array (Redundant). Array of Independent Disks technology can make storage devices such as network attached storage fault-tolerant.
本創作揭露書提出一種軟體定義儲存裝置與系統,系統提供一個具有高可用性(high availability)的網路儲存方案,其中軟體定義儲存裝置主要包括有至少一個封包交換單元,用以連接一外部網路,以及多個儲存單元,而各儲存單元包括一組伺服單元與 儲存器,伺服單元以網路連接埠連接所述的封包交換單元,再以一數據傳輸埠連接儲存器,儲存器如一硬碟或固態硬碟,每個伺服單元的每個網路連接埠對應有一識別位址。 The present disclosure discloses a software definition storage device and system, the system provides a high availability network storage solution, wherein the software definition storage device mainly comprises at least one packet switching unit for connecting to an external network. And a plurality of storage units, and each storage unit includes a set of servo units and The storage unit is connected to the packet switching unit by a network connection, and then connected to the storage by a data transmission, such as a hard disk or a solid state hard disk, and each network connection of each of the servo units corresponds to There is an identification address.
在一實施例中,多個儲存單元中多個伺服單元之間以一網路通訊協定彼此進行通訊,可以相互配合執行多種儲存模式其中之一來儲存資料,各儲存單元的伺服單元具有多個網路連接埠,個別連接各封包交換單元,以於軟體定義儲存裝置中實現數據存取備援。 In an embodiment, a plurality of storage units of the plurality of storage units communicate with each other by a network communication protocol, and one of the plurality of storage modes can be mutually cooperated to store data, and the storage unit has multiple servo units. After the network connection, each packet switching unit is separately connected to implement data access backup in the software definition storage device.
在另一實施例中,所述封包交換單元例可為設於軟體定義儲存裝置內的網路交換器,用以連接外部交換器。若軟體定義儲存裝置包括有多個封包交換單元,可於軟體定義儲存裝置中實現網路連線備援。 In another embodiment, the packet switching unit may be a network switch provided in the software definition storage device for connecting to the external switch. If the software definition storage device includes multiple packet switching units, network connection backup can be implemented in the software definition storage device.
根據揭露書所揭示的軟體定義儲存系統實施例,系統包括多個軟體定義儲存裝置,各軟體定義儲存裝置包括多個封包交換單元與多個儲存單元,多個軟體定義儲存裝置經由一或多個外部交換器連接,以形成軟體定義儲存系統。其中,多個儲存單元的不同伺服單元之間以一網路通訊協定彼此進行通訊,可以其中之一儲存模式儲存一資料;各軟體定義儲存裝置的多個封包交換單元分別連接一或多個外部交換器,以於軟體定義儲存裝置中實現網路連線備援。 According to the software definition storage system embodiment disclosed in the disclosure, the system includes a plurality of software definition storage devices, each software definition storage device includes a plurality of packet switching units and a plurality of storage units, and the plurality of software definition storage devices are connected to one or more External switches are connected to form a software-defined storage system. Wherein, different servo units of the plurality of storage units communicate with each other by a network communication protocol, and one of the storage modes stores one data; each of the plurality of packet switching units of the software definition storage device is respectively connected to one or more external parts. The switch is used to implement network connection backup in the software definition storage device.
根據再一實施例,所述軟體定義儲存裝置設有多個儲存單元,各儲存單元包括一伺服單元與儲存器,伺服單元可為一微伺服器,其中設有處理單元、記憶單元、儲存器控制單元、輸入輸出單元以及網路單元等主要的硬體電路元件,微伺服器可以將客戶端裝置傳送的資料以特定儲存模式將資料儲存在目的儲存器中,除了執行一般儲存程序外,微伺服器可以運作多種服務。 According to still another embodiment, the software definition storage device is provided with a plurality of storage units, each storage unit includes a servo unit and a storage unit, and the servo unit may be a micro server, wherein the processing unit, the memory unit, and the storage unit are disposed. The main hardware circuit components such as the control unit, the input and output unit, and the network unit. The microserver can store the data transmitted by the client device in the specific storage mode in the destination storage device, except for executing the general storage program. The server can operate a variety of services.
為了能更進一步瞭解本創作為達成既定目的所採取之技術、方法及功效,請參閱以下有關本創作之詳細說明、圖式,相信本 創作之目的、特徵與特點,當可由此得以深入且具體之瞭解,然而所附圖式僅提供參考與說明用,並非用來對本創作加以限制者。 In order to further understand the techniques, methods and effects of this creation in order to achieve the intended purpose, please refer to the following detailed description and drawings of this creation. The purpose, characteristics, and characteristics of the creations are to be understood and understood in detail. However, the drawings are provided for reference and description only, and are not intended to limit the creation.
10‧‧‧封包交換單元 10‧‧‧ Packet Exchange Unit
11‧‧‧第一伺服單元 11‧‧‧First SERVOPACK
12‧‧‧第二伺服單元 12‧‧‧Second SERVOPACK
13‧‧‧第一儲存器 13‧‧‧First storage
14‧‧‧第二儲存器 14‧‧‧Second storage
101‧‧‧第一儲存單元 101‧‧‧First storage unit
102‧‧‧第二儲存單元 102‧‧‧Second storage unit
111,121‧‧‧處理單元 111,121‧‧‧Processing unit
112,122‧‧‧記憶單元 112, 122‧‧‧ memory unit
113,123‧‧‧儲存器控制單元 113,123‧‧‧Storage Control Unit
114,124‧‧‧輸入輸出單元 114,124‧‧‧Input and output unit
115,125‧‧‧網路單元 115,125‧‧‧Network Unit
20‧‧‧軟體定義儲存裝置 20‧‧‧Software definition storage device
21‧‧‧第一封包交換單元 21‧‧‧First packet exchange unit
22‧‧‧第二封包交換單元 22‧‧‧Second packet exchange unit
201‧‧‧第一伺服單元 201‧‧‧First SERVOPACK
202‧‧‧第二伺服單元 202‧‧‧Second SERVOPACK
203‧‧‧第三伺服單元 203‧‧‧third servo unit
204‧‧‧第四伺服單元 204‧‧‧fourth servo unit
211‧‧‧第一儲存器 211‧‧‧ first storage
212‧‧‧第二儲存器 212‧‧‧Second storage
213‧‧‧第三儲存器 213‧‧‧ third storage
214‧‧‧第四儲存器 214‧‧‧fourth storage
301,302,303,304‧‧‧軟體定義儲存裝置 301,302,303,304‧‧‧Software definition storage device
30‧‧‧網路 30‧‧‧Network
305‧‧‧客戶端裝置 305‧‧‧Client device
41‧‧‧第一外部交換器 41‧‧‧First external switch
42‧‧‧第二外部交換器 42‧‧‧Second external switch
43‧‧‧第一軟體定義儲存裝置 43‧‧‧First software definition storage device
431‧‧‧第一封包交換單元 431‧‧‧First packet exchange unit
432‧‧‧第二封包交換單元 432‧‧‧Second packet exchange unit
4311‧‧‧第一伺服單元 4311‧‧‧First SERVOPACK
4312‧‧‧第二伺服單元 4312‧‧‧Second servo unit
4313‧‧‧第一儲存器 4313‧‧‧First storage
4314‧‧‧第二儲存器 4314‧‧‧Second storage
4321‧‧‧第三伺服單元 4321‧‧‧3rd servo unit
4322‧‧‧第四伺服單元 4322‧‧‧4th servo unit
4323‧‧‧第三儲存器 4323‧‧‧ third storage
4324‧‧‧第四儲存器 4324‧‧‧fourth storage
44‧‧‧第二軟體定義儲存裝置 44‧‧‧Second software definition storage device
441‧‧‧第一封包交換單元 441‧‧‧First packet exchange unit
442‧‧‧第二封包交換單元 442‧‧‧Second packet exchange unit
4411‧‧‧第一伺服單元 4411‧‧‧First SERVOPACK
4412‧‧‧第二伺服單元 4412‧‧‧Second servo unit
4413‧‧‧第一儲存器 4413‧‧‧First storage
4414‧‧‧第二儲存器 4414‧‧‧Second storage
4421‧‧‧第三伺服單元 4421‧‧‧third servo unit
4422‧‧‧第四伺服單元 4422‧‧‧fourth servo unit
4423‧‧‧第三儲存器 4423‧‧‧ third storage
4424‧‧‧第四儲存器 4424‧‧‧fourth storage
步驟S501~S513‧‧‧儲存方法流程 Step S501~S513‧‧‧Storage method flow
步驟S601~S611‧‧‧儲存方法流程 Step S601~S611‧‧‧Storage method flow
圖1A與圖1B顯示本創作軟體定義儲存裝置的基本實施態樣之示意圖;圖2顯示本創作軟體定義儲存裝置的實施例示意圖;圖3顯示應用本創作軟體定義儲存裝置形成的網路系統的實施例示意圖;圖4顯示本創作軟體定義儲存裝置的實施例示意圖;圖5顯示應用軟體定義儲存裝置的儲存方法實施例流程圖;圖6顯示應用軟體定義儲存裝置的儲存方法實施例流程圖。 1A and FIG. 1B are schematic diagrams showing a basic implementation of the creation software definition storage device; FIG. 2 is a schematic diagram showing an embodiment of the creation software definition storage device; FIG. 3 is a diagram showing a network system formed by using the creation software definition storage device. FIG. 4 is a schematic diagram showing an embodiment of a storage method for storing a software definition storage device; FIG. 5 is a flow chart showing an embodiment of a storage method for an application software definition storage device;
本創作揭露書描述一種軟體定義儲存裝置與系統,可以提供一網路儲存方案,不僅具有高可用性(high availability),更具有可擴充性。軟體定義儲存裝置為系統的最小單位,可以單獨運行,亦可由多個軟體定義儲存裝置組合形成軟體定義儲存系統。 The present disclosure describes a software-defined storage device and system that provides a network storage solution that is not only highly available but also more scalable. The software definition storage device is the smallest unit of the system, and can be operated separately, or a plurality of software definition storage devices can be combined to form a software definition storage system.
實施例可參考圖1A所示軟體定義儲存裝置的基本實施態樣之示意圖,根據軟體定義儲存裝置實施例,裝置(如在一個機箱中)包括至少一個封包交換單元10以及多個儲存單元(第一儲存單元101、第二儲存單元102),封包交換單元10用以連接一外部網路,每個儲存單元(101,102)則包括一組伺服單元(11,12)以及儲存器(13,14)。此例顯示第一儲存單元101包括第一伺服單元11與第一儲存器13,第一伺服器11一端連接封包交換單元10,另一端則連接著第一儲存器13,如此形成軟體定義儲存裝置中個一個儲存單元;軟體定義儲存裝置中的第二儲存單元102則 包括第二伺服單元12與第二儲存器14。 For an embodiment, reference may be made to the schematic diagram of a basic implementation of the software-defined storage device shown in FIG. 1A. According to the software-defined storage device embodiment, the device (such as in a chassis) includes at least one packet switching unit 10 and a plurality of storage units. a storage unit 101, a second storage unit 102), the packet exchange unit 10 is used to connect to an external network, and each storage unit (101, 102) includes a set of servo units (11, 12) and storage (13, 14) . This example shows that the first storage unit 101 includes a first servo unit 11 and a first storage unit 13. The first server 11 is connected to the packet exchange unit 10 at one end and the first storage unit 13 is connected to the other end, thus forming a software definition storage device. One of the storage units; the second storage unit 102 in the software definition storage device is The second servo unit 12 and the second storage unit 14 are included.
第一或第二伺服單元(11,12)以至少一網路連接埠連接封包交換單元10,在再一實施例中,軟體定義儲存裝置可以包括兩個或以上的封包交換單元10,第一或第二伺服單元(11,12)即可同時連接這兩個或以上的封包交換單元10,平時可以執行連線負載平衡,若有連線失效(包括連接埠失效,或是線路斷線等)則可以達成連線備援的目的。也就是,當其中有一連線失效,另一連線仍可以繼續運作,原本的連接埠將被終止服務或是進入休眠狀態,裝置的運作不會被連線失效所影響。其中,每個伺服單元(11,12)設定每個網路連線具有一個識別位址,也就是識別儲存單元(101,102)的位址,實施時可如IP位址,使得每個網路連接埠對應有識別位址。所述網路連接埠例如使用RJ-45規格的連接埠,但不排除其他傳送封包數據的規格。 The first or second servo unit (11, 12) is connected to the packet switching unit 10 by at least one network connection. In still another embodiment, the software definition storage device may include two or more packet switching units 10, first. Or the second servo unit (11, 12) can simultaneously connect the two or more packet switching units 10, and can perform the line load balancing normally, if the connection fails (including the connection failure, or the line disconnection, etc.) ) can achieve the purpose of connection backup. That is, when one of the connections fails, the other connection can continue to operate, and the original connection will be terminated or put into a dormant state, and the operation of the device will not be affected by the failure of the connection. Each of the servo units (11, 12) sets each network connection to have an identification address, that is, an address identifying the storage unit (101, 102), and can be implemented as an IP address, so that each network connection埠 Corresponds to the identification address. The network connection, for example, uses a connection port of the RJ-45 specification, but does not exclude other specifications for transmitting packet data.
儲存器(13,14)如硬式磁碟機,或固態硬碟(SSD,Solid State Drive),第一伺服單元11與第二伺服單元12分別以一數據傳輸埠連接第一儲存器13與第二儲存器14,兩者的連線如使用一種序列先進技術附接(SATA,Serial Advanced Technology Attachment)規格,亦不排除其他儲存器的數據介面規格,如SCSI、IDE、PCI-E等。 The storage device (13, 14) is a hard disk drive, or a solid state drive (SSD, Solid State Drive), and the first servo unit 11 and the second servo unit 12 respectively connect the first storage device 13 with a data transmission port. The second storage 14, the connection between the two uses a serial advanced technology attachment (SATA, Serial Advanced Technology Attachment) specification, and does not exclude the data interface specifications of other storage, such as SCSI, IDE, PCI-E, and the like.
在此軟體定義儲存裝置的架構下,一個儲存單元中一個伺服單元負責一個儲存器的運作,多個儲存單元(101,102)中的多個伺服單元(11,12)之間係以一網路通訊協定彼此進行通訊,如經由此例的封包交換單元10進行訊號往來與通訊,可以某個儲存模式儲存資料。其中網路通訊協定主要規範封包交換單元之間的通訊訊息,包括溝通分散式儲存、備援機制、負載平衡等運作,以及建立每個資料儲存後產生的索引資訊,讓資料存取時可以從這些索引資訊得知資料每個段落的分佈。 In the architecture of the software definition storage device, one servo unit in one storage unit is responsible for the operation of one storage device, and a plurality of communication units (11, 12) in the plurality of storage units (101, 102) are connected by a network communication. The protocols communicate with each other. For example, the packet exchange unit 10 of this example performs signal exchange and communication, and the data can be stored in a certain storage mode. The network communication protocol mainly regulates communication messages between the packet switching units, including communication decentralized storage, backup mechanism, load balancing, etc., and establishing index information generated after each data storage, so that data access can be obtained from These index information tells the distribution of each paragraph of the data.
例如,當執行分散式儲存模式時,第一伺服單元11與第二伺 服單元12接獲指令,對特定資料以一分散式儲存演算法運算,分別以第一儲存器13與第二儲存器14實現分散式儲存的目的。 For example, when the distributed storage mode is executed, the first servo unit 11 and the second servo The service unit 12 receives the instruction, and performs a decentralized storage algorithm operation on the specific data, and implements the distributed storage by the first storage 13 and the second storage 14, respectively.
圖1B進一步以示意圖描述軟體定義儲存裝置中各儲存單元(101,102)內的伺服單元(11,12)為一種微伺服器(micro-server)的架構,每個軟體定義儲存裝置內的多個微伺服器形成一個小型的儲存叢集,多個軟體定義儲存裝置透過網路連接後可以形成一個具有擴充性的大型的儲存叢集。微伺服器根據來自各客戶端裝置所傳送的資料,以及所採用的儲存模式,使得經運算的資料能夠以特定模式儲存在各儲存器中。 FIG. 1B further schematically illustrates the architecture of the servo unit (11, 12) in each storage unit (101, 102) in the software definition storage device as a micro-server, each software defining multiple micro-servers in the storage device. The server forms a small storage cluster, and multiple software-defined storage devices can form a scalable large-scale storage cluster through the network connection. The microserver enables the computed data to be stored in each memory in a particular mode based on the data transmitted from each client device and the storage mode employed.
微伺服器中運作一內嵌式作業系統,相關硬體如圖1B所示,在第一儲存單元101中的第一伺服單元11中包括有處理單元111、記憶單元112、儲存器控制單元113、輸入輸出單元114以及網路單元115等主要的硬體電路元件,第一伺服單元11連接至少一個儲存器,如第一儲存器13。其中,以一處理器實現演算資料儲存的處理單元111,在微伺服器中,如一ARM(Advanced RISC Machine)架構的處理器;記憶單元112則可為微伺服器中的系統記憶體;儲存器控制單元113則是連接所屬第一伺服單元11對應的第一儲存器13,用以控制第一儲存器13的運作,可如一SATA控制器;輸入輸出單元114則可為處理進出微伺服器數據的I/O電路,而網路單元115可為執行特定網路通訊協定與處理網路封包的電路(PHY),可具備一或多個網路連接埠,可以連接至少一個封包交換單元10。 An in-line operating system is operated in the micro-server, and the related hardware is as shown in FIG. 1B. The first servo unit 11 in the first storage unit 101 includes a processing unit 111, a memory unit 112, and a storage control unit 113. The main hardware circuit components such as the input/output unit 114 and the network unit 115 are connected to the first servo unit 11 such as the first storage unit 13. The processing unit 111 for implementing the calculation data storage by a processor is in a micro server, such as an ARM (Advanced RISC Machine) architecture processor; the memory unit 112 can be a system memory in the micro server; The control unit 113 is connected to the first storage unit 13 corresponding to the first servo unit 11 for controlling the operation of the first storage unit 13, such as a SATA controller; and the input and output unit 114 can process the data into and out of the micro server. The I/O circuit, and the network unit 115 can be a circuit (PHY) for performing a specific network protocol and processing network packets, and can have one or more network ports, and can connect at least one packet switching unit 10.
相似地,第二伺服單元12主要包括處理單元121、記憶單元122、儲存器控制單元123、輸入輸出單元124以及網路單元125等主要的硬體電路元件,細節不在此贅述。 Similarly, the second servo unit 12 mainly includes main hardware circuit components such as the processing unit 121, the memory unit 122, the memory control unit 123, the input and output unit 124, and the network unit 125, and details are not described herein.
根據圖1A與圖1B的軟體定義儲存裝置的架構實施例,其中微伺服器可以將客戶端裝置傳送的資料以特定儲存模式將資料儲存在目的儲存器中,除了執行一般儲存程序外,微伺服器中運作 的程序可以處理各種檔案系統(file system)的檔案格式(file format),支援各種儲存器可以運行的檔案系統,並可運行各種服務,如網頁伺服器、檔案伺服器、資料庫、虛擬主機等。 The architecture of the software-defined storage device of FIG. 1A and FIG. 1B, wherein the micro-server can store the data transmitted by the client device in a specific storage mode in a destination storage device, in addition to executing a general storage program, the micro-servo Operation The program can handle the file format of various file systems, support various file systems that can be run by the storage, and run various services such as web server, file server, database, virtual host, etc. .
圖2顯示本創作軟體定義儲存裝置的另一實施例示意圖。 FIG. 2 shows a schematic diagram of another embodiment of the present software definition storage device.
此例顯示為軟體定義儲存裝置20,裝置可以實現在同一個機箱內,其中設有兩個封包交換單元,封包交換單元可為一個封包交換電路,亦能如同裝置內的網路交換器,用以連接至少一個外部交換器。圖中顯示為第一封包交換單元21與第二封包交換單元22,兩個封包交換單元彼此可經由外部交換器(此例未示)連線,使得軟體定義儲存裝置20內多個儲存單元中的多個伺服單元可以一網路通訊協定進行通訊,使得軟體定義儲存裝置20實現某個儲存演算法,此例示意顯示有四組儲存單元,分別為第一伺服單元201與第一儲存器211、第二伺服單元202與第二儲存器212、第三伺服單元203與第三儲存器213,以及第四伺服單元204與第四儲存器214。每個伺服單元分別控制所連線儲存器的存取運作,其中運行儲存演算法,可以根據需求執行單一資料儲存、分散式儲存等,並可利用使得軟體定義儲存裝置20執行資料備份(多儲存一份資料),或是實現具有容錯能力(如採用一同位元硬碟)的數據存取備援等儲存方案等。 This example is shown as a software-defined storage device 20, which can be implemented in the same chassis, in which two packet switching units are provided, and the packet switching unit can be a packet switching circuit, and can also be used as a network switch in the device. To connect at least one external switch. The figure shows a first packet switching unit 21 and a second packet switching unit 22. The two packet switching units can be connected to each other via an external switch (not shown) such that the software defines a plurality of storage units in the storage device 20. The plurality of servo units can communicate in a network communication protocol, so that the software definition storage device 20 implements a certain storage algorithm. The example shows that there are four groups of storage units, respectively being the first server unit 201 and the first storage unit 211. The second servo unit 202 and the second storage unit 212, the third servo unit 203 and the third storage unit 213, and the fourth servo unit 204 and the fourth storage unit 214. Each servo unit controls the access operation of the connected storage device, wherein the storage algorithm is executed, and a single data storage, distributed storage, etc. can be performed according to requirements, and the software definition storage device 20 can be used to perform data backup (multiple storage). A data), or a storage solution such as data access backup with fault tolerance (such as the use of a same bit hard disk).
第一伺服單元201、第二伺服單元202、第三伺服單元203與第四伺服單元204的個別至少包括多個(此例為兩個)網路連接埠,以分別連接第一封包交換單元21與第二封包交換單元22,一般情況可以執行多線路流量負載平衡(Load Balancing),可以解決網路連線壅塞的問題;另可提供網路連線備援,也就是網路線路上的容錯移轉(failover)能力,當有任一網路連線失效(如其中之一封包交換單元失效),另一網路連線將可取代,並等待失效連線恢復運作,期間並不會影響軟體定義儲存裝置20的運作。 Each of the first servo unit 201, the second servo unit 202, the third servo unit 203, and the fourth servo unit 204 includes at least a plurality of (two in this case) network ports to connect the first packet switching unit 21, respectively. With the second packet switching unit 22, in general, multi-line traffic load balancing (Load Balancing) can be performed, which can solve the problem of network connection congestion; and the network connection backup, that is, the fault-tolerant shift on the network line can be provided. Failover capability, when any network connection fails (such as one of the packet switching units fails), another network connection can be replaced, and wait for the failed connection to resume operation, without affecting the software during the period. The operation of the storage device 20 is defined.
當有多個軟體定義儲存裝置通過網路或是特定方式連線時, 可以實現一個儲存裝置的軟體定義儲存系統,實施例示意圖可參考圖3所示的軟體定義儲存系統的網路架構示意圖。 When there are multiple software-defined storage devices connected via the network or in a specific way, A software-defined storage system of a storage device can be implemented. For a schematic diagram of an embodiment, reference may be made to the network architecture of the software-defined storage system shown in FIG.
圖中顯示多種組合樣態的軟體定義儲存裝置(301,302,303,304)經由網路30連線,各端裝置或系統應透過一或多個外部交換器連線網路30,在此不再贅述。其中軟體定義儲存裝置301與軟體定義儲存裝置302如同揭露書圖1A或圖1B所示的軟體定義儲存裝置的基本實施態樣;軟體定義儲存裝置303如同圖2顯示在一個裝置內設有多個封包交換單元的實施態樣;軟體定義儲存裝置304則是為多個軟體定義儲存裝置所實現的叢集式軟體定義儲存裝置,可以定義為一軟體定義儲存系統。圖中顯示各端的軟體定義儲存裝置僅為示意圖,其中連線並非實際實現的樣態。 The software-defined storage devices (301, 302, 303, 304) of the various combinations are connected via a network 30. Each device or system should be connected to the network 30 through one or more external switches, and details are not described herein. The software definition storage device 301 and the software definition storage device 302 are similar to the basic implementation of the software definition storage device shown in FIG. 1A or FIG. 1B; the software definition storage device 303 is provided as shown in FIG. The implementation of the packet switching unit; the software definition storage device 304 is a cluster software definition storage device implemented by a plurality of software definition storage devices, and can be defined as a software definition storage system. The figure shows that the software definition storage device at each end is only a schematic diagram, and the connection is not actually implemented.
根據實施例,軟體定義儲存系統中可以經由網路30連線多端的軟體定義儲存裝置或儲存系統形成一個大型的網路儲存方案,各端的軟體定義儲存裝置中的儲存單元如上述實施例所述,具有一個伺服單元與一個儲存器,各端軟體定義儲存裝置中的各儲存單元中的伺服單元可以經由網路30相互以一網路通訊協定通訊,產生更多變化的資料儲存方案,提供更安全與高可用性的數據存取備援服務。 According to an embodiment, a software-defined storage device or a storage system that can be connected via a network 30 in a software-defined storage system forms a large-scale network storage solution, and the storage unit in the software-defined storage device at each end is as described in the above embodiment. Having a servo unit and a storage unit, the servo units in each storage unit in each end of the software definition storage device can communicate with each other via a network 30 via a network communication protocol, thereby generating more varied data storage solutions and providing more Secure and highly available data access backup service.
在使用者端,如圖顯示的客戶端裝置305,其中執行一儲存演算程式,儲存演算程式記載一軟體定義儲存系統的一設定檔,這個設定檔就記載了整個系統的配置,也就是軟體定義儲存系統整體所涵蓋的各式軟體定義儲存裝置或是各端由多個儲存裝置組成的系統,特別是,每個軟體定義儲存裝置中的儲存單元的伺服單元都是連線到網路30的伺服器(或執行於特定裝置內的伺服程式),設定檔更記載了其中網路連接埠都設有網路可識別的網路位址。因此,當使用者於客戶端裝置305處執行儲存演算程式時,將可以選擇所需的儲存方案,執行儲存演算程式時,即依照儲存方案設定儲存模式,並根據儲存模式演算出一或多個儲存目的 地,並能據此將資料分拆為多個分段,再將分拆後的資料傳送到軟體定義儲存裝置(301,302,303,304),並可由其中各伺服單元傳送到演算得到的儲存單元中。 At the user end, as shown in the client device 305, wherein a storage calculation program is executed, the storage calculation program records a configuration file of a software definition storage system, and the configuration file records the configuration of the entire system, that is, the software definition. Each software-defined storage device covered by the storage system as a whole or a system composed of a plurality of storage devices at each end, in particular, the servo unit of the storage unit in each software-defined storage device is connected to the network 30. The server (or the servo program running in a specific device), the configuration file further records that the network connection has a network-recognizable network address. Therefore, when the user executes the storage calculation program at the client device 305, the required storage solution can be selected. When the storage calculation program is executed, the storage mode is set according to the storage scheme, and one or more calculations are performed according to the storage mode. Storage purpose And the data can be split into a plurality of segments, and the split data is transmitted to the software definition storage device (301, 302, 303, 304), and can be transmitted to the calculated storage unit by each of the servo units.
值得一提的是,軟體定義儲存系統具有可擴充性,當有一端軟體定義儲存裝置或是儲存系統中的儲存單元有任何異動,如加入或移除一組儲存單元,客戶端裝置305中的設定檔都應該要更新。 It is worth mentioning that the software definition storage system is extensible. When there is a software definition storage device in one end or a storage unit in the storage system, such as adding or removing a group of storage units, the client device 305 The profile should be updated.
舉例來說,當在客戶端裝置305中設定儲存方案為單一資料儲存,儲存演算程式即根據目前設定檔演算決定一處儲存位址,或是加入一備份位址,儲存演算程式即依據此設定檔傳送相關資料至儲存目的地,其中識別各伺服單元位置的識別位址如IP位址,之後由系統中某一伺服單元接收後,解析資料的關聯資訊,如資料隨附的封包資訊,能根據解析得到的儲存模式執行一儲存演算法。當儲存模式為分散式儲存,經客戶端裝置305執行的儲存演算程式運算後,可以得出多組儲存目的地的資訊,如識別位址,之後某個目的地的伺服單元即運算儲存演算,將資料依照分散式運算後依據設定拆分為多份,通過多個伺服單元之間的網路通訊協定溝通,分別將拆分後資料傳送到各目的地儲存單元。 For example, when the storage scheme is set to be a single data storage in the client device 305, the storage calculation program determines a storage address according to the current configuration file calculation, or adds a backup address, and the storage calculation program is configured according to the setting. The file transmits relevant data to the storage destination, wherein the identification address of each servo unit location is identified as an IP address, and then received by a certain servo unit in the system, and the associated information of the data is analyzed, such as the package information accompanying the data. A storage algorithm is executed based on the parsed storage mode. When the storage mode is distributed storage, after the storage calculation program executed by the client device 305, the information of the plurality of storage destinations, such as the identification address, may be obtained, and then the servo unit of a certain destination is calculated and stored. According to the distributed calculation, the data is divided into multiple parts according to the setting, and the data is transmitted to the destination storage units by the network communication protocol communication between the plurality of servo units.
圖4接著顯示軟體定義儲存裝置之間透過外部交換器連線而形成儲存系統的實施例示意圖。 Figure 4 then shows a schematic diagram of an embodiment in which a software-defined storage device is connected through an external switch to form a storage system.
圖中顯示有兩個軟體定義儲存裝置,分別為第一軟體定義儲存裝置43與第二軟體定義儲存裝置44,每個軟體定義儲存裝置中的封包交換單元都至少包括兩個網路連線埠,對外分別連接到兩個外部交換器,如圖示的第一外部交換器41與第二外部交換器42,因此,配合各軟體定義儲存裝置內部已經實現的網路連線備援機制,整個軟體定義儲存系統提供了更為安全與更完整的連線備援措施,使得系統具有高可用性。 The figure shows two software definition storage devices, which are a first software definition storage device 43 and a second software definition storage device 44, respectively. The packet switching unit in each software definition storage device includes at least two network connections. Externally connected to two external switches, such as the first external switch 41 and the second external switch 42, as shown, so that the network connection backup mechanism that has been implemented inside each software definition storage device is used. The software-defined storage system provides a safer and more complete connection redundancy measure, making the system highly available.
此例中,第一軟體定義儲存裝置43內部包括有第一封包交換 單元431與第二封包交換單元432,可以提供內部的網路連線備援,有第一封包交換單元431與第二封包交換單元432更分別連線到連線外部網路的第一外部交換器41與第二外部交換器42,當有某一交換器失效,仍可以另一交換器連線外部網路。 In this example, the first software definition storage device 43 internally includes the first packet exchange. The unit 431 and the second packet switching unit 432 can provide internal network connection backup, and the first packet switching unit 431 and the second packet switching unit 432 are respectively connected to the first external exchange of the connected external network. The controller 41 and the second external switch 42 can still connect the external network to another switch when one of the switches fails.
第一軟體定義儲存裝置43設有四組個別運作的儲存單元,彼此之間不會被干擾,亦不會因為其中之一儲存單元有問題而被影響。第一伺服單元4311經由特定數據連線連接第一儲存器4313,第二伺服單元4312連接第二儲存器4314,第三伺服單元4321連接第三儲存器4323,以及第四伺服單元4322連接第四儲存器4324。 The first software definition storage device 43 is provided with four sets of individually operated storage units, which are not interfered with each other and are not affected by one of the storage units. The first servo unit 4311 is connected to the first storage unit 4313 via a specific data connection, the second servo unit 4312 is connected to the second storage unit 4314, the third servo unit 4321 is connected to the third storage unit 4323, and the fourth servo unit 4322 is connected to the fourth storage unit 4321. Storage 4324.
第二軟體定義儲存裝置44同樣設有第一封包交換單元441與第二封包交換單元442,以及四組儲存單元,包括第一伺服單元4411與連接的第一儲存器4413、第二伺服單元4412與連接的第二儲存器4414、第三伺服單元4421與連接的第三儲存器4423,以及第四伺服單元4422與所聯接的第四儲存器4424。第一伺服單元4411、第二伺服單元4412、第三伺服單元4421與第四伺服單元4422除了提供數據儲存備援服務外,亦因為各伺服單元分別都連接了第一封包交換單元441與第二封包交換單元442,更具備網路連線備援的功能。 The second software definition storage device 44 is also provided with a first packet switching unit 441 and a second packet switching unit 442, and four groups of storage units, including a first server unit 4411 and a connected first storage unit 4413 and a second server unit 4412. And a connected second storage unit 4414, a third servo unit 4421 and a connected third storage unit 4423, and a fourth servo unit 4422 and the coupled fourth storage unit 4424. The first servo unit 4411, the second servo unit 4412, the third servo unit 4421 and the fourth servo unit 4422 provide a data storage backup service, and also because each of the servo units is connected to the first packet exchange unit 441 and the second. The packet switching unit 442 is further provided with a network connection backup function.
所述第一軟體定義儲存裝置43與第二軟體定義儲存裝置44因為外部交換器可以相互聯繫,形成一個儲存系統,其中伺服單元(4311,4312,4321,4322,4411,4412,4421,4422)隨時經由網路相互通訊,協同合作後提供客戶各種儲存方案,更實現數據存取備援。 The first software definition storage device 43 and the second software definition storage device 44 are connected to each other to form a storage system, wherein the servo unit (4311, 4312, 4321, 4322, 4411, 4412, 4421, 4422) Communicate with each other via the network at any time, and cooperate to provide customers with various storage solutions, and achieve data access backup.
以上範例顯示的第一軟體定義儲存裝置43或第二軟體定義儲存裝置44因為個別設有四組儲存單元,因此可以分別以軟體控制的方式運作單一資料儲存、備份,以及分散式儲存等方案,並可提供容錯機制。然而,經由外部交換器(41,42)的連線後,更可 以多個軟體定義儲存裝置(43,44),經由儲存演算法的軟體方法,提供更多元的資料儲存方案。本實施例的儲存裝置內的封包交換單元、伺服單元與儲存器的數量僅為示意描述本創作的系統運作,並不用來限制本創作的範圍。 The first software definition storage device 43 or the second software definition storage device 44 shown in the above example is provided with four sets of storage units, so that a single data storage, backup, and distributed storage scheme can be operated in a software controlled manner. Fault tolerance mechanism is also available. However, after the connection via the external switch (41, 42), The storage device (43, 44) is defined by a plurality of softwares, and a data storage scheme of more elements is provided via a software method of storing algorithms. The number of packet switching units, servo units and storages in the storage device of the present embodiment is merely a schematic operation of the system for describing the creation, and is not intended to limit the scope of the present creation.
圖5顯示應用軟體定義儲存裝置(或系統)的儲存方法實施例流程圖,此流程描述運行於客戶端裝置的流程,主要是如步驟S501所述,在各客戶端裝置中執行一儲存演算程式,此儲存演算程式將可依據使用者設定,以及整體軟體定義儲存系統的設置執行儲存演算。接著如步驟S503,使用者選擇欲儲存的資料,可於裝置內先執行初步作業,如步驟S505,對資料執行雜湊演算(hash),將資料轉換為特定雜湊字串,由於雜湊演算法所計算出來的雜湊值(Hash Value)具有不可逆的性質,因此可有效的保護資料與關聯資訊。並如步驟S507,由使用者設定儲存模式,再如步驟S509,儲存演算程式將根據儲存模式演算出一或多個儲存目的地,特別可於資料(經雜湊演算)封包中記載儲存模式與目的地識別位址。之後,如步驟S511,經由網路傳送資料封包至目的地相關的軟體定義儲存裝置,可由各端伺服單元經網路通訊協定決定由某一節點運算,如步驟S513,由某個目的地伺服單元執行儲存程序。 5 is a flow chart showing an embodiment of a storage method of an application software definition storage device (or system), which describes a flow running on a client device, mainly performing a storage calculation program in each client device as described in step S501. The storage calculation program will perform the storage calculation based on the user settings and the settings of the overall software definition storage system. Then, in step S503, the user selects the data to be stored, and may perform a preliminary operation in the device. In step S505, a hash is performed on the data, and the data is converted into a specific hash string, which is calculated by the hash algorithm. The hash value (Hash Value) has an irreversible nature, so it can effectively protect data and associated information. And in step S507, the storage mode is set by the user, and in step S509, the storage calculation program calculates one or more storage destinations according to the storage mode, and particularly stores the storage mode and purpose in the data (mixed calculation) packet. Identify the address. Then, in step S511, the data packet is transmitted to the destination-related software definition storage device via the network, and the server can be operated by a certain node by the network communication protocol of each terminal, as in step S513, by a certain destination servo unit. Execute the stored procedure.
軟體定義儲存裝置(或系統)提供的儲存方案除了一般資料儲存外,亦提供經過其中多個伺服單元中運行的儲存演算法提供分散式儲存方案,另可配合客戶端裝置內執行的儲存演算程式設定儲存模式與決定儲存的目的地位置。客戶端的儲存演算程式的設定檔記載了相關軟體定義儲存系統的設定,藉此可以知悉軟體定義儲存系統下的網路拓樸,包括外部交換器以及所有軟體定義儲存裝置中的封包交換單元與儲存單元的識別位址等。更者,客戶端裝置中的儲存演算程式亦可提供使用者取回資料,也就是在儲存資料時,會於系統端形成資料索引,於是取回資料將可依據 資料索引還原資料。 The software definition storage device (or system) provides a storage solution in addition to the general data storage, and provides a distributed storage solution through a storage algorithm running in a plurality of servo units, and can also cooperate with a storage calculation program executed in the client device. Set the storage mode and determine the destination location for storage. The configuration file of the client's storage calculation program records the settings of the relevant software definition storage system, so that the network topology under the software definition storage system can be known, including the external switch and the packet exchange unit and storage in all software definition storage devices. The identification address of the unit, etc. Moreover, the storage calculation program in the client device can also provide the user to retrieve the data, that is, when the data is stored, a data index is formed on the system side, so the retrieval of the data can be based on Data index restore data.
在系統端的儲存程序可參閱圖6所示的儲存方法實施例流程圖。 The storage program on the system side can refer to the flowchart of the storage method embodiment shown in FIG. 6.
如步驟S601,當客戶端完成資料傳送後,由系統端的某伺服器,如軟體定義儲存裝置中的伺服單元,接收資料與關聯資訊形成的封包,再如步驟S603,運作在伺服單元中的程式先解析資料封包,包括資料與相關資訊,如步驟S605,能解析得出儲存模式與儲存目的地,再如步驟S607,伺服單元將根據儲存模式執行儲存演算法,包括以伺服單元之間的網路通訊協定與其他伺服單元協同作業執行特定儲存方案。 In step S601, after the client completes the data transmission, a server formed by the server on the system side, such as a software unit in the software definition storage device, receives the packet formed by the data and the associated information, and then, in step S603, the program operating in the server unit. First parsing the data packet, including the data and related information, in step S605, the storage mode and the storage destination can be parsed, and in step S607, the serving unit performs the storage algorithm according to the storage mode, including the network between the SERVOPACKs. The road protocol works in conjunction with other servo units to perform a specific storage plan.
接著,如步驟S609,根據解析得出的一或多個儲存目的地,將資料以一整體或以分散式儲存演算後的分散值儲存至一或多個儲存單元,並在各伺服單元中形成資料索引,其中記載資料的儲存設定,如步驟S611,相關設定包括資料索引所記錄的資料位置,也包括記錄每一個資料中經分散運算後的資料的存放位置,好讓之後存取資料時讓伺服單元可以正確的取得相關資料,資料索引的功能就是協助搜尋資料以及還原經分散運算後的資料。 Then, in step S609, according to the one or more storage destinations obtained by the analysis, the data is stored in one or more storage units in a whole or in a distributed storage calculation, and is formed in each of the storage units. The data index, wherein the storage setting of the data is recorded, in step S611, the related setting includes the data location recorded by the data index, and also includes the storage location of the data after the distributed operation in each data, so that the data is accessed after the data is accessed. The SERVOPACK can correctly obtain relevant data. The function of data indexing is to assist in searching for data and restoring the data after decentralization.
是以,揭露書描述為一種軟體定義儲存裝置與系統,可以在軟體定義儲存裝置內實現網路連線備援與數據存取備援,以及在多個軟體定義儲存裝置形成的系統中同樣實現數據存取備援。整體實現的架構為:客戶端裝置(執行儲存演算程式)、網路交換器,以及各端軟體定義儲存裝置(由多組儲存單元組成),多個軟體定義儲存裝置透過網路交換器連結,各軟體定義儲存裝置內伺服單元將可獨立連線網路交換器。因此,本創作提出的軟體定義儲存裝置的個別,或是經由網路連線多個軟體定義儲存裝置形成的系統除了具有高可用性、可擴充性外,更可以提供多元的儲存方案。 Therefore, the disclosure is described as a software-defined storage device and system, which can implement network connection backup and data access backup in a software-defined storage device, and also implements in a system formed by multiple software-defined storage devices. Data access backup. The overall implementation architecture is: a client device (executing a storage calculus), a network switch, and a software-defined storage device (composed of multiple sets of storage units), and a plurality of software-defined storage devices are connected through a network switch. The software unit in each software definition storage device will be able to connect to the network switch independently. Therefore, the system of the software-defined storage device proposed by the present invention, or the system formed by connecting a plurality of software-defined storage devices via the network, can provide a multi-dimensional storage solution in addition to high availability and expandability.
以上所述僅為本創作之較佳可行實施例,凡依本創作申請專利範圍所做之均等變化與修飾,皆應屬本創作之涵蓋範圍。 The above descriptions are only preferred embodiments of the present invention, and all changes and modifications made in accordance with the scope of the patent application of this creation should be covered by this creation.
10‧‧‧封包交換單元 10‧‧‧ Packet Exchange Unit
101‧‧‧第一儲存單元 101‧‧‧First storage unit
102‧‧‧第二儲存單元 102‧‧‧Second storage unit
11‧‧‧第一伺服單元 11‧‧‧First SERVOPACK
12‧‧‧第二伺服單元 12‧‧‧Second SERVOPACK
13‧‧‧第一儲存器 13‧‧‧First storage
14‧‧‧第二儲存器 14‧‧‧Second storage
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106202586U TWM547698U (en) | 2017-02-22 | 2017-02-22 | Software-defined storage apparatus and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106202586U TWM547698U (en) | 2017-02-22 | 2017-02-22 | Software-defined storage apparatus and system |
Publications (1)
Publication Number | Publication Date |
---|---|
TWM547698U true TWM547698U (en) | 2017-08-21 |
Family
ID=60188289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106202586U TWM547698U (en) | 2017-02-22 | 2017-02-22 | Software-defined storage apparatus and system |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWM547698U (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI677247B (en) * | 2018-05-24 | 2019-11-11 | 廣達電腦股份有限公司 | Muiti-node device and backup communication method thereof |
-
2017
- 2017-02-22 TW TW106202586U patent/TWM547698U/en unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI677247B (en) * | 2018-05-24 | 2019-11-11 | 廣達電腦股份有限公司 | Muiti-node device and backup communication method thereof |
US10986015B2 (en) | 2018-05-24 | 2021-04-20 | Quanta Computer Inc. | Micro server built-in switch uplink port backup mechanism |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11422908B2 (en) | Non-disruptive controller replacement in a cross-cluster redundancy configuration | |
KR101196547B1 (en) | A method for deterministic sas discovery and configuration | |
US10353732B2 (en) | Software-defined computing system remote support | |
CN108696569A (en) | The system and method that data replicate are provided in NVMe-oF Ethernets SSD | |
US20060080425A1 (en) | Method and apparatus for remotely configuring network devices | |
US9983813B2 (en) | Maintenance of a fabric priority during synchronous copy operations | |
US9042270B2 (en) | Method and apparatus of network configuration for storage federation | |
JP2007257180A (en) | Network node, switch, and network fault recovery method | |
US20120284435A1 (en) | Zone group manager virtual phy | |
US20200177482A1 (en) | Methods for monitoring performance of a network fabric and devices thereof | |
US20160246746A1 (en) | Sas configuration management | |
US8880769B2 (en) | Management of target devices | |
US10469288B2 (en) | Efficient data transfer in remote mirroring connectivity on software-defined storage systems | |
US9143435B1 (en) | Management of paths of switches of distributed computing systems | |
TW201832094A (en) | Software-defined storage apparatus, system, and storage method | |
US8255737B1 (en) | System and method for a redundant communication fabric in a network storage system | |
WO2024113894A1 (en) | Method for establishing remote replication relationship and related apparatus | |
US8996769B2 (en) | Storage master node | |
TWM547698U (en) | Software-defined storage apparatus and system | |
US10798159B2 (en) | Methods for managing workload throughput in a storage system and devices thereof | |
CN206585591U (en) | Software definition storage device and system | |
US10996864B1 (en) | Aggregating ALUA statuses from multiple arrays | |
CN108574708A (en) | Software definition storage device, system and its storage method | |
JP2018163572A (en) | Storage system and communication method | |
JP2007074252A (en) | High availability communication system, failure management method and program |