Data mirror type cluster system and synchronous control method for it
Abstract
Problem to be solved.To reduce data quantity failing in mirror synchronization in occurrence of obstruction.
Solution.Server devices 12 and 13 constituting this data mirror type cluster system 11 are provided with databases 22 and 32, and shared memories 29 and 39 respectively, and connected mutually via an interconnect transferring transaction to the server devices 13 and 12 on the opposite sides at a high speed. When the database 22 is updated in an operation system server device 12, the operation system server device 12 updates own database 22 and writes updated data in the shared memory 29. The written data are transferred to the shared memory 39 of the waiting system server device 13 via the interconnect 14. The waiting system server device 13 reflects the data written in its own shared memory 39 to the database 32.
Copyright (C)2006,JPO&NCIPI
Term
No projected expiry on record.
- Priority and filed
- Published
- Today
5 claims: 3 independent, 2 dependent
- 1It is a data mirror type cluster system in which one unit is an active system and at least the other is a server device that operates as a standby system, and data changes on the active system database are reflected in the standby system database. , Each database and shared memory accessible from both server devices are connected to each other by an interconnect that can transfer transactions to the other server device, and each server device is operating as an operating system. , Operational memory driver means to write changes in data on the database to the shared memory, and standby memory to write the data transferred to the shared memory via the interconnect when operating as a standby system. A data mirror cluster system with driver means. 一台が運用系、少なくとももう一台が待機系として動作するサーバ装置から構成され、運用系データベース上のデータ変更を待機系のデータベースに反映するデータミラー型クラスタシステムであって、 各サーバ装置は、それぞれのデータベースと、両サーバ装置からアクセス可能な共有メモリとを備え、トランザクションを相手サーバ装置に転送できるインターコネクトにより相互に接続されており、 各サーバ装置は、運用系として動作しているときに、データベース上のデータの変更を共有メモリに書き込む運用系メモリドライバ手段と、 待機系として動作しているときに、前記インターコネクトを介して共有メモリ上に転送されてきたデータをデータベースに書き込む待機系メモリドライバ手段と、を備えるデータミラー型クラスタシステム。
- 4Each server device includes an input / output port for connecting to an external circuit, and the interconnect is a dedicated circuit for one server device to access the shared memory of the other server device. The data mirror type cluster system according to Item 1, 2 or 3. 各サーバ装置は、外部回路と接続するための入出力ポートを備え、前記インターコネクトは、一方のサーバ装置が他方のサーバ装置の共有メモリにアクセスするための専用回路である、ことを特徴とする請求項1、2又は3に記載のデータミラー型クラスタシステム。
- 5It is a synchronous control method for a data mirror type cluster system that has shared memory that can be accessed from each other, consists of multiple server devices that are connected to each other, and reflects data changes on the active database to the standby database. , The step of detecting the update of the data on the database of the operation system server device and writing it to the shared memory physically existing in the operation system server device, and the data written in the shared memory on the operation system server device are interconnected. A step of reflecting on the shared memory physically existing in the standby system server device and a step of detecting an update of data on the shared memory of the standby system server device and reflecting it in the database of the standby system server device. A method for synchronous control of a data mirror type cluster system, which comprises. 互いにアクセス可能な共有メモリを備え、相互に接続された複数台のサーバ装置から構成され、運用系データベース上のデータ変更を待機系のデータベースに反映するデータミラー型クラスタシステムの同期制御方法であって、 運用系サーバ装置のデータベース上のデータの更新を検出し、運用系サーバ装置に物理的に存在する共有メモリに書き込むステップと、 前記運用系サーバ装置上の共有メモリに書き込まれたデータを前記インターコネクトを介して前記待機系サーバ装置に物理的に存在する共有メモリ上に反映するステップと、 待機系サーバ装置の共有メモリ上のデータの更新を検出し、待機系サーバ装置のデータベースに反映するステップと、を備えることを特徴とするデータミラー型クラスタシステムの同期制御方法。
Independent claims3
38 paragraphs, as filed
The present invention relates to a data mirror type cluster system, and more particularly to a cluster system capable of synchronizing data of a plurality of servers at high speed.
In a data mirror type cluster system, data between servers is synchronized via an interconnect such as LAN. However, when TCP / IP or the like is used as the interconnect, the software stack for that protocol is deep, and the latency (waiting time) becomes large because communication is performed via the I / O card.
In the data mirror type cluster system, it is necessary to copy the data of the database updated in the operating system to the standby system at any time and synchronize the data. In such a system with a large latency, the timing interval of data synchronization is It becomes large, and the amount of data transferred in one synchronization becomes large. As a result, if a failure occurs and synchronization fails, the amount of information lost will also increase.
Patent Document 1 discloses a synchronous control method for a cluster system, but does not disclose a device for reducing Latency. Further, Patent Document 2 discloses a configuration in which a dual system has its own address space and another address space, and has the objectivity of its own address and the address of the other system. Management of addresses of systems and other systems is complicated. Further, in Patent Document 3, when the first and second main storage devices are arranged in each computer device and data is stored in the first main storage device of one device, DMA (Direct Memory Access) transfer is performed. Discloses a method of synchronizing data by writing the relevant data to the second main memory of the other device. However, this configuration raises the problem that the management of the first and second main memories is complicated.<patcit num="1"><text>Japanese Unexamined Patent Publication No. 04-299435</text></patcit><patcit num="2"><text>Japanese Patent Application Laid-Open No. 08-221289</text></patcit><patcit num="3"><text>Japanese Unexamined Patent Publication No. 11-149388</text></patcit>
<p> The present invention has been made in view of the above circumstances, and an object of the present invention is to reduce the amount of data in which mirror synchronization fails when a failure occurs. Another object of the present invention is to provide a cluster system that is easy to control and manage and a control method thereof.</p>
<p> In order to achieve the above object, the data mirror type cluster system of the present invention is composed of a server device in which one unit operates as an active system and at least the other unit operates as a standby system, and changes data on the active system database are performed on the standby system. It is a data mirror type cluster system that reflects in the database, and each server device has its own database and shared memory that can be accessed from both server devices, and is interconnected by an interconnect that can transfer transactions to the other server device. Each server device uses the operational memory driver means to write changes in the data on the database to the shared memory when operating as the active system, and via the interconnect when operating as the standby system. It is characterized by including a standby memory driver means for writing the data transferred to the shared memory to the database.</p><p> For example, the active memory driver means directly writes data on the shared memory existing in the standby server device via the interconnect.</p><p> It is desirable that the interconnect be multiplexed.</p><p> It is desirable that each server device includes an input / output port for connecting to an external circuit, and the interconnect is a dedicated circuit for one server device to access the shared memory of the other server device.</p><p> In order to achieve the above object, the synchronous control method of the present invention is provided with shared memory that can be accessed from each other, is composed of a plurality of interconnected server devices, and waits for data changes on the active database. It is a synchronous control method of the data mirror type cluster system that is reflected in the above, and the step of detecting the update of the data on the database of the active server device and writing it to the shared memory physically existing in the active server device, and the above-mentioned operation. A step of reflecting the data written in the shared memory on the standby server device on the shared memory physically existing in the standby server device via the interconnect, and updating the data on the shared memory of the standby server device. It is characterized in that it includes a step of detecting and reflecting it in the database of the standby server device.</p>
<p> In the present invention, since data is synchronized by a shared memory and an interconnector in a plurality of server devices, a high-speed mirror-type cluster with low latency can be configured. As a result, the availability of data is improved as compared with the conventional case, the rollback time in the event of a failure is shortened, and the availability of the system can be improved. In addition, since shared memory is used by a plurality of server devices, management is easy.</p>
The data mirror type cluster system according to the embodiment of the present invention will be described with reference to the drawings. As shown in FIG. 1, the data mirror type cluster system 11 of the present embodiment is composed of two server devices 12 and 13. The server devices 12 and 13 are connected to each other by the interconnect 14 capable of directly transferring transactions from the CPU (Central Processing Unit) to other nodes (server devices) 13 and 12, respectively, and form a data mirror type cluster. are doing.
The server device 12 includes a CPU module 21, a database 22, a crossbar switch (XBAR SW) 23, and an I / O (Input / Output) device 24. The CPU module 21 includes one or more CPUs 25, a memory 26, and a memory controller 27.
The CPU 25 executes control and data processing of the server device 12. The memory 26 includes a main storage device, an auxiliary storage device, and the like. A part of the memory 26 functions as a shared memory 29 that can be directly accessed (read / write) from the server device 13 via the interconnect 14. The memory controller 27 is for accessing the memory 26 and the database 22 under the control of the CPU 25, and includes a shared memory driver that monitors the shared memory 29.
The database 22 is physically connected to the I / O device (port) 24, its contents are expanded in the memory 26, and access control is performed by the memory controller 27. The crossbar switch 23 is connected to the memory controller 27 and the interconnect 14, and controls the transmission of data between the memory controller 27 and the interconnect 14. The I / O device 24 is connected to the memory controller 27 and transmits / receives information to / from an external device. The I / O device 24 is common to the interconnect 14 in that it transmits and receives data to and from an external device, but unlike the interconnect 14, it has versatility and generally starts and initializes a driver for communication with the outside. It is inferior to the interconnect 14 in terms of high speed.
The server device 13 has substantially the same configuration as the server device 12, and includes a CPU module 31, a database 32, a crossbar switch 33, and an I / O device 34. The CPU module 31 includes one or more CPUs 35, a memory 36, and a memory controller 37.
The CPU 35 executes control and data processing of the server device 13. The memory 36 includes a main storage device, an auxiliary storage device, and the like. A part of the memory 36 functions as a shared memory 29 that can be directly accessed (read / write) from the server device 12 via the interconnect 14. The memory controller 37 is for accessing the memory 36 and the database 32 under the control of the CPU 35, and includes a shared memory driver that monitors the shared memory 39.
The database 32 is connected to the I / O device 24, is expanded in the memory 36, and access control is performed by the memory controller 37. The crossbar switch 33 is connected to the memory controller 37 and the interconnect 14, and controls the transmission of data between the memory controller 37 and the interconnect 14.
Of the two server devices 12 and 13, one operates as an active system and one operates as a standby system. In the example shown in FIG. 1, the server device 12 operates as an active server device, and the server device 13 operates as a standby server device.
Further, the read / write to the shared memory 29,39 of each server device 12, 13 is also read / written to the shared memory 39, 29 of the other party through the interconnect 14.
The interconnect 14 is composed of a dedicated line capable of high-speed data transfer, and the interconnect itself is also duplicated.
When the database 22 is updated in the active server device 12, the active server device 12 updates its own database 22 and writes the changed data to the shared memory 29. The written data is transferred to and written in the shared memory 36 of the standby server device 13 through the crossbar switch 23, the interconnect 14, and the crossbar switch 33. The shared memory driver in the memory controller 37 of the standby server device 13 realizes a data mirror type cluster by reflecting the data written in the shared memory 39 in the database 32.
If a failure occurs in the active server device 12, application execution is taken over by the standby server device 13. At this time, the unsynchronized (uncommitted) data is discarded as failed data and needs to be re-executed. By using the shared memories 29 and 39 using the interconnect 14 in the present invention, it is possible to keep the data synchronization interval between the active system and the standby system short, and it is discarded as compared with the conventional mirror type cluster. Data can be kept small.
Next, the memory allocation of the data mirror type cluster system having the above configuration will be described with reference to FIG. Figure 2 shows the memory maps of the active server device 12 and the standby server device 13. As described above, the active server device 12 and the standby server device 13 have shared memories 29 and 39 that can be read and written to each other, and the shared memories 29 and 39 are used as part of the physical memory, respectively. , A logical address is given.
For example, considering the logical memory map 101 of the active server device 12, a part of the logical addresses assigned to the active server device 12 is occupied by the shared memory area 103. Similarly, considering the logical memory map 102 of the standby server device 13, a part of the logical addresses assigned to the standby server device 13 is occupied by the shared memory area 104.
In other words, the shared memory 29 existing in the active server device 12 is recognized as the space of the logical address 103 by the CPU 25 of the active server device 12, and is recognized as the space of the logical address 104 by the CPU 35 of the standby server device 13. The shared memory 39 existing in the standby server device 13 is recognized as the space of the logical address 103 by the CPU 25 of the active server device 12, and is recognized as the space of the logical address 104 by the CPU 35 of the standby server device 13. Will be done.
Next, the operation of the cluster system having the above configuration will be described with reference to FIGS. 2 and 3. A shared memory driver that monitors shared memories 29 and 39 is operating in the memory controller 27 of the active server device 12 and the memory controller 37 of the standby server device 13, respectively.
When the operation server device 12 (CPU 25) changes the data on the database 22, for example, the data such as the customer database, the data (110) expanded on the memory 26 is changed.
The active and standby drivers that monitor the shared memories 29 and 39 execute the processes shown in FIGS. 3 (a) and 3 (b), respectively, with periodic interrupts, for example. First, the active system As shown in FIG. 3A, the shared memory driver of the server device 12 detects the database change (data 110) (step S11), and puts the changed data 110 in the area of the logical address 108 of the shared memory 29. Write (step S12). This writing is performed directly to the area 106 of the shared memory 39 on the standby side through the interconnect 14 (step S13) (the physical memory corresponding to the logical address 108 does not exist on the operation side, and the shared memory 39 on the standby system is interconnected. Only visible through 14). Then, the state of waiting for receiving the synchronization data reception completion notification from the standby system is entered (step S14). The standby state in step S14 is canceled by receiving the synchronization data reception completion notification from the standby system, and the process ends. On the other hand, if the state of step S14 continues for a predetermined time or longer, an error process is started as a timeout.
On the other hand, as shown in FIG. 3B, the shared memory driver of the standby server device 13 detects a change in the data stored in the area 106 of the shared memory 39 (step S21) and changes to the own database 32. (111; step S22). Subsequently, a write (ACK112) indicating the completion of synchronization data reception is performed to the shared memory 39 (area 107) in which the local physical memory on the operation side is reflected (step S23). The write (ACK112) of the completion of synchronous data reception is written directly to the shared memory 29 (physical memory 29 (area 105) existing locally on the operation side) through the interconnect 14. The shared memory driver on the operation side detects this, recognizes that synchronization is complete, and ends the standby in step 14.
In this way, in the present invention, the shared memory (29,39; 103/104) is used to synchronize the database on the operating side and the database on the standby side.
When a failure occurs in the active system, the data that is not synchronized (uncommitted) in the data mirror type cluster system is handed over to the standby application as a synchronization failure. At this time, it is necessary to take measures such as re-registering the failed data.
In the conventional data mirror type cluster, the cluster was configured by using TCP / IP. Therefore, as shown in FIG. 4, the latency 201 of data synchronization is large. As a result, the synchronization process could not be performed frequently. For this reason, the size of the changed data for synchronization becomes large, and the size of the damaged data (202) at the time of failure also becomes large, so that it takes time to re-register.
On the other hand, in the method of the present embodiment, only the operation system writes the changed contents to the shared memory, and the same change is reflected in the standby system shared memory and also reflected in the database 32. In this way, by using the shared memory with low latency, data synchronization can be performed frequently. Therefore, data corruption (203) when a failure occurs can be reduced, and re-registration time can be shortened.
Next, a case where a failure occurs in the interconnect 14 that realizes the shared memory will be described with reference to FIGS. 5 (a) and 5 (b). As shown in Fig. 5 (a), the interconnect 14 is duplicated, one data path (normal operation interconnect) 301 is used during normal operation, and the other path (alternative operation interconnect) 302 is during normal operation. It is used as an alternative path in the event of a data path failure. This means that the interconnect for realizing shared memory 29,39 is also duplicated. In other words, as shown in Fig. 5 (b), it means that two sets of shared memory are allocated. This further enhances the availability and reliability of this mirrored cluster system.
The shared memory driver responsible for data mirroring can select which data path to use depending on the shared memory address (305/306). Now, suppose that a failure occurs in the data path (301) during normal operation defined in the shared memory area 1 (305). The memory driver of the operating system (303) detects by a timeout that the synchronization completion is not written to the data written to the standby system (304) by a timeout (see FIG. 3 (a), step S14). The memory driver of the operating system (303) that detects the synchronization timeout changes the address of the shared memory to the shared memory area 2 (306), writes the synchronization data again to the alternative path side, and completes the synchronization of the data. In addition, a failure detection circuit (307) that detects the state of the link by hardware is arranged in the interconnect. When a failure occurs in both the interconnects 301 and 302 that are duplicated, the failure detection circuit 307 detects the failure of both the interconnects 301 and 302 by hardware in both the active system and the standby system, and sets a flag of the interconnect failure. The CPU of the standby system 304 sets a flag for the application that its database is invalid.
When maintenance / recovery is performed and the interconnect link is restored, an interrupt is raised from the hardware, and the operation side resynchronizes the database by writing the entire database to the standby system.
As described above, by using the shared memory realized by the interconnect, high-speed synchronization of the database becomes possible, and the availability of data in the event of a failure can be improved.
The present invention is not limited to the above embodiment, and various modifications and applications are possible. For example, the above-mentioned system configuration and processing procedure can be arbitrarily changed. In addition, although the operation system and the standby system are each one, the standby system may be two or more. Further, in the configuration of FIG. 5, it is possible to configure the shared memory area as one and the interconnects to be multiplexed.
<figref num="1">It is a block diagram which shows the structure of the cluster system which concerns on embodiment of this invention.</figref><figref num="2">It is a figure which shows the memory composition of an active system and a standby system.</figref><figref num="3">(a) and (b) are flowcharts explaining the operation of the synchronous processing driver of the active system and the standby system, respectively.</figref><figref num="4">It is a figure for demonstrating the timing of synchronization operation, Latency, and the size of change data for synchronization in the conventional mirror type cluster system and the mirror type cluster system which concerns on embodiment of this application.</figref><figref num="5">(a) and (b) are diagrams for explaining the operation when a failure occurs in the interconnect.</figref>
Code description
11 Data mirror type cluster system 12 Active server device 13 Standby server device 14 Interconnect 21 CPU module 22 Database 23 Crossbar switch 24 I / O device 25 CPU26 Memory 27 Memory controller 29 Shared memory 31 CPU module 32 Database 33 Crossbar switch 34 I / O device 35 CPU36 Memory 37 Memory controller 39 Shared memory
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US7925922B2 | Cited by | United States of America | Applicant |
| JP2011048441A | Cited by | Japan | Search report |
| US9612928B2 | Cited by | United States of America | Applicant |
| JP2011175382A | Cited by | Japan | Search report |
| JP2011048441A | Cited by | Japan | Examiner |
| WO2008105098A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US7836162B2 | Cited by | United States of America | Applicant |
| JP2011175382A | Cited by | Japan | Examiner |
| US8281092B2 | Cited by | United States of America | Applicant |
2 priority claims, no other members on record
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 2004108392 | Japan | A | |
| JP20040108392 | – | – | – |
15 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Written amendmentA521 | A521 | |
| Notification of change of attorneyRD01 | RD01 | |
| Removal of reconsideration by examiner before appeal (zenchi)AppealA912 | A912 | |
| Notification of change of attorneyRD01 | RD01 | |
| Transfer of reconsideration by examiner before appeal (zenchi)AppealA911 | A911 | |
| Written amendmentA521 | A521 | |
| Written amendmentA521 | A521 | |
| Notification of change of attorneyRD01 | RD01 | |
| Decision of refusalA02 | A02 | |
| Written amendmentA521 | A521 | |
| Notification of reasons for refusalA131 | A131 | |
| Written amendmentA521 | A521 | |
| Notification of reasons for refusalA131 | A131 | |
| Report on retrievalA977 | A977 | |
| Notification of acceptance of power of attorneyRD02 | RD02 |
Numbers
- Publication
- 2005293315
- Publication, DOCDB
- 2005293315
- Publication, EPODOC
- JP2005293315
- Application
- 108392
- Application, DOCDB
- 2004108392
- Application, EPODOC
- JP20040108392
Titles3
- Japanese
- データミラー型クラスタシステム及びデータミラー型クラスタシステムの同期制御方法
- English
- Synchronous control method for data mirror type cluster system and data mirror type cluster system
- English
- DATA MIRROR TYPE CLUSTER SYSTEM AND SYNCHRONOUS CONTROL METHOD FOR IT
Classification
- CPC, 2
- G06F11/2097
- G06F11/2056
- IPC, 7
- G06F11 20
- G06F11 00
- G06F12 00
- G06F12 02
- G06F13 14
- G06F17 30
- H04L7 00