CN110618785A - Dual-control storage system - Google Patents

Dual-control storage system Download PDF

Info

Publication number
CN110618785A
CN110618785A CN201811581310.1A CN201811581310A CN110618785A CN 110618785 A CN110618785 A CN 110618785A CN 201811581310 A CN201811581310 A CN 201811581310A CN 110618785 A CN110618785 A CN 110618785A
Authority
CN
China
Prior art keywords
controller
storage system
cache
main controller
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811581310.1A
Other languages
Chinese (zh)
Inventor
董文祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Innovation Software Technology Co Ltd
Original Assignee
Shenzhen Innovation Software Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Innovation Software Technology Co Ltd filed Critical Shenzhen Innovation Software Technology Co Ltd
Priority to CN201811581310.1A priority Critical patent/CN110618785A/en
Publication of CN110618785A publication Critical patent/CN110618785A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The invention provides a double-control storage system, which comprises a main controller, a standby controller and a rear-end disk array shared by the two controllers; the first cache of the main controller and the second cache of the standby controller are backups of each other; the double-control storage system also comprises N virtual machines which can be accessed by each controller system, wherein N is more than or equal to 1, and a user performs read-write operation on the rear-end disk array through the virtual machines; when the main controller has no fault, the virtual machine runs on the main controller, and when the main controller has a fault, the virtual machine is switched to the standby controller. The double-control storage system HAs the HA function, and can adapt to different client software platforms on the basis of not increasing the hardware cost.

Description

Dual-control storage system
Technical Field
The invention relates to the field of computers, in particular to a double-control storage system.
Background
Fig. 1 illustrates a conventional storage system, in which a client and a back-end disk array perform data transmission through a controller, and the controller performs service feedback on the client by accessing actual data stored in the back-end disk array.
The storage system adopts a single control mode (only one controller), although the data operation request of the client is realized to a certain extent to carry out service operation on the storage terminal, when the controller in the single control mode has a hardware fault or software downtime problem, the controller cannot normally operate the service provided by the client, so that the data transmission between the client and the rear-end disk array has a fault, and the stability of the storage system is low.
On the other hand, the enterprise-level storage system generally runs a Linux system, the system on the corresponding controller in fig. 1 is the Linux system, and the client generally runs on a windows platform, a Linux platform, or a MacOS. When the systems of the client and the controller are different, an independent client server is generally required to be arranged for the client, and then the client server and the controller are enabled to communicate and transmit data. When the number of client types is large, but the size of the back-end disk array is relatively small, the cost burden of configuring a server for each type of platform is too large compared with the whole storage system.
Therefore, how to eliminate the hardware cost and improve the reliability of the storage system for the storage systems with more types of client platforms is a problem to be solved urgently at present.
Disclosure of Invention
In view of the above, the present invention provides a dual-control storage system to solve the problems of a multi-client platform and a single-control mode storage system.
The invention provides a double-control storage system, which comprises a main controller, a standby controller and a rear-end disk array shared by the two controllers; the first cache of the main controller and the second cache of the standby controller are backups of each other;
the double-control storage system also comprises N virtual machines which can be accessed by each controller system, wherein N is more than or equal to 1, and a user performs read-write operation on the rear-end disk array through the virtual machines; when the main controller has no fault, the virtual machine runs on the main controller, and when the main controller has a fault, the virtual machine is switched to the standby controller.
According to the invention, the N virtual machines are arranged on the controller, different operating systems can be installed on different virtual machines, and then clients of different platforms can be arranged on the corresponding virtual machines, so that the problem of the multi-platform client can be solved. In addition, the double-control storage system of the invention can ensure that the caches of the two controllers are synchronized in real time, so that the virtual machine can run on any controller without difference, and even if the main controller fails, the virtual machine can run on the standby controller continuously, thereby improving the reliability of the storage system.
Drawings
FIG. 1 is a prior art storage system;
fig. 2 is a structural diagram of the dual-managed memory system of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention will be described in detail with reference to the accompanying drawings and specific embodiments.
The dual-control storage system of the invention is shown in fig. 2, and comprises a main controller, a standby controller and a back-end disk array shared by the two controllers; the first cache of the main controller and the second cache of the standby controller are backups of each other (real-time synchronization);
the double-control storage system also comprises N virtual machines which can be accessed by each controller system, wherein N is more than or equal to 1, and a user performs read-write operation on the rear-end disk array through the virtual machines; when the main controller has no fault, the virtual machine runs on the main controller, and when the main controller has a fault, the virtual machine is switched to the standby controller.
The main controller corresponds to the first mainboard, the standby controller corresponds to the second mainboard, the first host operating system is installed on the main controller, the second host operating system is installed on the standby controller, and generally speaking, the first host operating system and the second host operating system are the same system. The back-end disk array is shared by two controllers, and in the first host operating system and the second host operating system, the back-end disk array is displayed as the same logical hard disk (or physical block device, physical block partition).
In order to have N virtual machines accessible to each controller system in a dual-managed storage system, the virtual machines may be configured in two ways:
(1) the virtual machines are arranged in the SSD hard disk of the back-end disk array, and each controller can see the back-end disk array, so that the virtual machines can see each controller.
(2) The main controller further comprises a first hard disk which is not shared, the standby server further comprises a second hard disk which is not shared, the first hard disk and the second hard disk are arranged on the virtual machine, and the first hard disk and the second hard disk are mutually backed up (real-time synchronization).
The first virtual machine setting method is simple and does not need synchronization, but occupies the storage space of the back-end disk array, and the second virtual machine setting method is equivalent to setting virtual machines on two controllers, and enables the virtual machines on the two controllers to be synchronized in real time.
Installing a Virtual Machine in a host operating system, wherein one implementation manner is to install a KVM (Kernel-based Virtual Machine) platform in the host operating system, then set a different Virtual Machine on the KVM platform, and finally install client software of other operating systems under the Virtual Machine. It should be noted that the above is only for illustration, and other methods for installing a virtual machine under a host operating system are also applicable to the present invention.
The high-reliability HA (high available) of the dual-control storage system is realized by the method that the first cache of the main controller and the second cache of the standby controller are mutually backed up (synchronized in real time), the caches of the two controllers are mirror images, the virtual machines which can run in the two controllers are the same, and the standby controller continuously executes the data operation of the main control at any time.
The main controller and the standby controller are connected through a data line, for example, a PCIE bus can be adopted, the data transmission rate of the PCIE bus is higher, and the network bandwidth is not occupied.
In addition, the two controller cache synchronization can also be realized based on a DMA mechanism of PCIE (or PCIE-NTB chip). The non-transparent bridge NTB (non-transparent bridge) is an interface of the PCIE bus on the controller. The PCIE is used for realizing synchronization, and has the advantages that a CPU of the controller is not occupied, and a synchronization process does not need to be developed additionally. Meanwhile, the power failure protection of the cache data can be realized by virtue of the batteries of the two controllers.
The switching strategy between the two controllers includes: when the main controller has no fault, the virtual machine runs on the main controller, and when the main controller has a fault, the virtual machine is switched to the standby controller;
and after the main controller eliminates the fault, switching the virtual machine to the main controller after the data of the second cache is synchronized to the first cache.
Two application examples of the dual-managed storage system of the present invention are given below.
Application example 1
After the user accesses the virtual machine through the main controller and generates a write IO instruction, the dual-control storage system of the present invention further includes:
step 11: the main controller issues the write IO instruction to a first cache;
step 12: the first cache synchronizes the write IO instruction to the second cache;
step 13: when the main controller fails, the standby controller executes the write IO instruction and writes the data carried by the write IO instruction into the rear-end disk array.
The controller may optionally feed back a "write success" message to the client after step 12 is completed, or may feed back a "write success" message to the client after step 13 is completed.
After the controller finishes the execution in step 12, it feeds back a "write success" message to the client, and in step 13, the controller may select to delay the write data, or set IO delay according to the IO access amount of the current front and back end disk arrays, so as to avoid IO congestion.
Application example two
After the user accesses the virtual machine through the main controller and generates an IO reading instruction, the dual-control storage system of the present invention further includes:
step 21: the main controller issues the read IO instruction to the first cache;
step 22: the first cache synchronizes the read IO instruction to the second cache;
step 23: and when the main controller fails, the standby controller executes the IO reading instruction.
Specifically, the controller executing the read IO instruction first determines whether data corresponding to the read IO instruction exists in its own cache, and if so, directly returns the data in the cache to the client, and if not, the controller retrieves the data from the back-end disk array, stores the data in its own cache, and then returns the data in the cache to the client and synchronizes the data in the cache of another controller.
In order to increase the read-write efficiency of the cache, write IO instructions in the first cache or the second cache are combined according to a preset strategy, or read IO instructions are pre-read.
The preset strategy comprises the following steps: and performing merging on the IO instructions of the same object stored in the rear-end disk array, or performing merging on the IO instructions with the length lower than a preset value.
According to the invention, the N virtual machines are arranged on the controller, different operating systems can be installed on different virtual machines, and then clients of different platforms can be arranged on the corresponding virtual machines, so that the problem of the multi-platform client can be solved. In addition, the double-control storage system of the invention can ensure that the caches of the two controllers are synchronized in real time, so that the virtual machine can run on any controller without difference, and even if the main controller fails, the virtual machine can run on the standby controller continuously, thereby improving the reliability of the storage system.
The above description is only exemplary of the present invention and should not be taken as limiting the scope of the present invention, and any modifications, equivalents, improvements and the like made within the spirit and principle of the present invention should be included in the scope of the present invention.

Claims (9)

1. A double-control storage system is characterized by comprising a main controller, a standby controller and a back-end disk array shared by the two controllers; the first cache of the main controller and the second cache of the standby controller are backups of each other;
the double-control storage system also comprises N virtual machines which can be accessed by each controller system, wherein N is more than or equal to 1, and a user performs read-write operation on the rear-end disk array through the virtual machines; and when the main controller fails, the virtual machine is switched to the standby controller.
2. The bi-planar storage system of claim 1, wherein when the master controller fails, the bi-planar storage system further comprises: and after the data of the second cache is synchronized to the first cache, switching the virtual machine to the main controller.
3. The dual-control storage system according to claim 1, wherein the primary controller and the standby controller are connected via a PCIE bus.
4. The dual control storage system according to claim 3, wherein the backup mechanism is PCIE DMA.
5. The dual-managed storage system of claim 1, wherein the virtual machine is located on an SSD hard disk of the backend disk array.
6. The dual-control storage system according to claim 1, wherein the primary controller further comprises a first hard disk that is not common, the standby server further comprises a second hard disk that is not common, the virtual machine is located on the first hard disk and the second hard disk, and the first hard disk and the second hard disk are backup to each other.
7. The bi-planar storage system of any of claims 1-6, wherein after a user accesses the virtual machine and generates a write IO command via the primary controller, the bi-planar storage system further comprises:
the main controller issues the write IO instruction to a first cache; the first cache synchronizes the write IO instruction to the second cache;
when the main controller fails, the main controller executes the write IO instruction and writes data carried by the write IO instruction into the rear-end disk array, and when the main controller fails, the standby controller executes the write IO instruction and writes the data carried by the write IO instruction into the rear-end disk array.
8. The dual-managed storage system according to any one of claims 1 to 6, wherein after a user accesses the virtual machine through the host controller and generates an IO read instruction, the dual-managed storage system further comprises:
the main controller issues the read IO instruction to a first cache; the first cache synchronizes the read IO instruction to the second cache;
and when the main controller fails, the standby controller executes the IO reading instruction.
9. The dual-control storage system according to claim 1, wherein write IO instructions in the first cache or the second cache are merged according to a preset policy, or read IO instructions are pre-read.
CN201811581310.1A 2018-12-24 2018-12-24 Dual-control storage system Pending CN110618785A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811581310.1A CN110618785A (en) 2018-12-24 2018-12-24 Dual-control storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811581310.1A CN110618785A (en) 2018-12-24 2018-12-24 Dual-control storage system

Publications (1)

Publication Number Publication Date
CN110618785A true CN110618785A (en) 2019-12-27

Family

ID=68920333

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811581310.1A Pending CN110618785A (en) 2018-12-24 2018-12-24 Dual-control storage system

Country Status (1)

Country Link
CN (1) CN110618785A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000286A (en) * 2020-08-13 2020-11-27 北京浪潮数据技术有限公司 Four-control full-flash-memory storage system and fault processing method and device thereof
CN112835519A (en) * 2021-01-29 2021-05-25 杭州海康威视数字技术股份有限公司 Data reading method and device, electronic equipment and storage medium
CN112911185A (en) * 2021-01-18 2021-06-04 浙江大华技术股份有限公司 Fault processing method and device for double-control equipment
CN113687784A (en) * 2021-08-20 2021-11-23 浙江大华技术股份有限公司 Double-control switching storage method and device and electronic equipment
CN113805807A (en) * 2021-09-10 2021-12-17 济南浪潮数据技术有限公司 Method, device, equipment and readable medium for synchronizing double-control storage array database

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102426512A (en) * 2011-11-09 2012-04-25 浪潮电子信息产业股份有限公司 Realizing method for storing double-control disk array based on virtualization
CN104636086A (en) * 2015-02-06 2015-05-20 浙江宇视科技有限公司 HA storage device and HA state managing method
CN104881368A (en) * 2015-05-07 2015-09-02 北京飞杰信息技术有限公司 Cache synchronization method and system applied to double control storage system
CN105389123A (en) * 2015-10-16 2016-03-09 浪潮(北京)电子信息产业有限公司 Storage management method and system based on dual controllers
CN107220104A (en) * 2017-05-27 2017-09-29 郑州云海信息技术有限公司 A kind of virtual machine preparedness method and apparatus
CN107632788A (en) * 2017-09-26 2018-01-26 郑州云海信息技术有限公司 A kind of method of more controlled storage system I O schedulings and more controlled storage systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102426512A (en) * 2011-11-09 2012-04-25 浪潮电子信息产业股份有限公司 Realizing method for storing double-control disk array based on virtualization
CN104636086A (en) * 2015-02-06 2015-05-20 浙江宇视科技有限公司 HA storage device and HA state managing method
CN104881368A (en) * 2015-05-07 2015-09-02 北京飞杰信息技术有限公司 Cache synchronization method and system applied to double control storage system
CN105389123A (en) * 2015-10-16 2016-03-09 浪潮(北京)电子信息产业有限公司 Storage management method and system based on dual controllers
CN107220104A (en) * 2017-05-27 2017-09-29 郑州云海信息技术有限公司 A kind of virtual machine preparedness method and apparatus
CN107632788A (en) * 2017-09-26 2018-01-26 郑州云海信息技术有限公司 A kind of method of more controlled storage system I O schedulings and more controlled storage systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘德文等: "优化的信息中心虚拟化实施方案", 《计算机系统应用》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000286A (en) * 2020-08-13 2020-11-27 北京浪潮数据技术有限公司 Four-control full-flash-memory storage system and fault processing method and device thereof
CN112000286B (en) * 2020-08-13 2023-02-28 北京浪潮数据技术有限公司 Four-control full-flash-memory storage system and fault processing method and device thereof
CN112911185A (en) * 2021-01-18 2021-06-04 浙江大华技术股份有限公司 Fault processing method and device for double-control equipment
CN112835519A (en) * 2021-01-29 2021-05-25 杭州海康威视数字技术股份有限公司 Data reading method and device, electronic equipment and storage medium
CN112835519B (en) * 2021-01-29 2023-03-14 杭州海康威视数字技术股份有限公司 Data reading method and device, electronic equipment and storage medium
CN113687784A (en) * 2021-08-20 2021-11-23 浙江大华技术股份有限公司 Double-control switching storage method and device and electronic equipment
CN113805807A (en) * 2021-09-10 2021-12-17 济南浪潮数据技术有限公司 Method, device, equipment and readable medium for synchronizing double-control storage array database

Similar Documents

Publication Publication Date Title
CN110618785A (en) Dual-control storage system
US7730257B2 (en) Method and computer program product to increase I/O write performance in a redundant array
US8639976B2 (en) Power failure management in components of storage area network
US9542320B2 (en) Multi-node cache coherency with input output virtualization
US8321622B2 (en) Storage system with multiple controllers and multiple processing paths
US20110231602A1 (en) Non-disruptive disk ownership change in distributed storage systems
US9213500B2 (en) Data processing method and device
CN102187311B (en) Methods and systems for recovering a computer system using a storage area network
US8650471B2 (en) System and method for look-aside parity based raid
US10318393B2 (en) Hyperconverged infrastructure supporting storage and compute capabilities
JP2021128802A (en) Information processing system, storage system, and data transfer method
US11262918B1 (en) Data storage system with uneven drive wear reduction
US9378103B2 (en) Coordination techniques for redundant array of independent disks storage controllers
US11507307B2 (en) Storage system including a memory controller that enables each storage controller of a plurality of storage controllers to exclusively read and write control information of the memory
CN109313593B (en) Storage system
US10234929B2 (en) Storage system and control apparatus
WO2021012169A1 (en) Method of improving reliability of storage system, and related apparatus
US9740423B2 (en) Computer system
US10210060B2 (en) Online NVM format upgrade in a data storage system operating with active and standby memory controllers
US10970210B2 (en) Managing data storage devices for spontaneous de-staging of cache
US11385815B2 (en) Storage system
JP2006114064A (en) Storage subsystem
CN114816270A (en) Storage system global caching method, device and medium
JP5511546B2 (en) Fault tolerant computer system, switch device connected to multiple physical servers and storage device, and server synchronization control method
US11232036B2 (en) Managing write access to data storage devices for spontaneous de-staging of cache

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20191227

RJ01 Rejection of invention patent application after publication