WO2023160378A1 - Storage device, storage method, computing device, and storage medium - Google Patents

Storage device, storage method, computing device, and storage medium Download PDF

Info

Publication number
WO2023160378A1
WO2023160378A1 PCT/CN2023/074779 CN2023074779W WO2023160378A1 WO 2023160378 A1 WO2023160378 A1 WO 2023160378A1 CN 2023074779 W CN2023074779 W CN 2023074779W WO 2023160378 A1 WO2023160378 A1 WO 2023160378A1
Authority
WO
WIPO (PCT)
Prior art keywords
operating system
hardware resource
resource group
storage
management device
Prior art date
Application number
PCT/CN2023/074779
Other languages
French (fr)
Chinese (zh)
Inventor
高军
黎亮
屈欢
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2023160378A1 publication Critical patent/WO2023160378A1/en

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
    • 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/0629Configuration or reconfiguration 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Definitions

  • the present application relates to the technical field of computer storage, and in particular to a storage device, a storage method, a computing device and a storage medium.
  • Computing devices are often used as storage devices in data storage systems.
  • storage devices commonly used in the industry usually run an operating system (OS) on a physical machine, and the operating system is based on the central Hardware resources such as processor (central processing unit, CPU), memory, and external devices run.
  • OS operating system
  • CPU central processing unit
  • memory volatile and non-volatile memory
  • external devices run.
  • the present application provides a storage device, a storage method, a computing device, and a storage medium, which can effectively improve the reliability of the device.
  • the technical solution is as follows:
  • a storage device in a first aspect, includes a management device and hardware resources, the hardware resources are divided into multiple hardware resource groups, each of the hardware resource groups runs a set of operating systems; the The management device is used to:
  • the hardware resources include the memory of the storage device, CPU and external devices
  • the memory of the storage device can be a dual inline memory module (dual inline memory module, DIMM)
  • the external devices of the storage device include external memory, network card and display devices.
  • the fault isolation between multiple operating systems in a single node of the data storage system is guaranteed.
  • the access task can be migrated to other isolated operating systems to continue execution without It will trigger the reset of the controller, achieving the effect that the front end is not aware of faults, and greatly improving the reliability of the equipment.
  • specifications of the first hardware resource group and the second hardware resource group are the same.
  • the management device is further configured to: monitor states of the multiple hardware resource groups.
  • the hardware resources of the storage device can be reasonably planned, and the failure of the hardware resource group and the operating system running by the hardware resource group can be found in time, further improving the reliability of the device.
  • the storage device further includes a network card, the network card supports a single-root input-output virtualization SR-IOV function, and the first virtual function VF of the network card is allocated to the first hardware resource group, The second virtual function VF of the network card is allocated to the second hardware resource group.
  • the management device is further configured to receive failure information sent by the first hardware resource group; the failure information indicates that a failure occurs in the first operating system.
  • the first operating system can promptly inform the target server of the interruption of the access task through the fault information, so as to switch the operating system, thereby realizing the migration of the access task, and ensuring Service continuity effectively improves device reliability.
  • the management device is further configured to receive a first takeover request sent by the second operating system, where the first takeover request is used to take over the access task executed by the first operating system.
  • the second operating system is configured to determine that the first operating system fails if the heartbeat message of the first operating system is not received within a first period of time.
  • the heartbeat message refers to a message sent regularly by the sender, and the receiver can determine that the sender is in a running state after receiving the heartbeat message.
  • each operating system can perceive each other, so that when any operating system fails, the operating system that has not failed can respond quickly and initiate a takeover request to ensure business continuity in a flexible manner. While effectively improving the reliability of the device, the availability of the storage device is also improved.
  • the management device is further configured to receive a second takeover request sent after the first operating system recovers from a fault, and the second takeover request indicates to take over the The access task.
  • the first operating system can take over the access tasks that are migrated to the second operating system to reduce the load on the second operating system and ensure the load balance among the operating systems in the storage device , to further guarantee the availability of the storage device, and effectively improve the reliability of the device.
  • the management device corresponds to a target hardware resource group, and the management device is configured to configure the multiple sets of operating systems.
  • the management device is further configured to determine that the first operating system fails if it does not receive a heartbeat message from the first operating system within a second period of time.
  • the management device is further configured to pull up the first operating system after the first operating system recovers from a fault.
  • the target hardware resource group includes fewer hardware resources than the hardware resource group.
  • the target hardware resource group corresponding to the management device includes less hardware resources than the above hardware resource group. Therefore, the possibility of the management device providing management and configuration functions being affected by hardware failures is greatly reduced, thereby effectively improving the reliability of the storage device.
  • the target hardware resource group includes a part of memory and a part of CPU; the The hardware resource group includes a part of memory, a part of CPU, and a part of external devices.
  • a storage method is provided, which is applied to a storage device.
  • the storage device includes a management device and hardware resources, and the hardware resources are divided into multiple hardware resource groups. Each hardware resource group runs a sets of operating systems;
  • the methods include:
  • the hardware resources include the memory of the storage device, CPU and external devices
  • the memory of the storage device can be a dual inline memory module (dual inline memory module, DIMM)
  • the external devices of the storage device include external memory, network card and display devices.
  • the fault isolation between multiple operating systems in a single node of the data storage system is guaranteed.
  • the access task can be migrated to other isolated operating systems to continue execution without It will trigger the reset of the controller, achieving the effect that the front end is not aware of faults, and greatly improving the reliability of the equipment.
  • specifications of the first hardware resource group and the second hardware resource group are the same.
  • the method further includes: the management device monitors states of the multiple hardware resource groups.
  • the hardware resources of the storage device can be reasonably planned, and the failure of the hardware resource group and the operating system running by the hardware resource group can be found in time, further improving the reliability of the device.
  • the storage device further includes a network card, the network card supports a single-root input-output virtualization SR-IOV function, and the first virtual function VF of the network card is allocated to the first hardware resource group, The second virtual function VF of the network card is allocated to the second hardware resource group.
  • the method further includes: the management device receiving fault information sent by the first hardware resource group; the fault information indicates that the first operating system is faulty.
  • the first operating system can promptly inform the target server of the interruption of the access task through the fault information, so as to switch the operating system, thereby realizing the migration of the access task, and ensuring Service continuity effectively improves device reliability.
  • the method further includes: the management device receiving a first takeover request sent by the second operating system, where the first takeover request is used to take over the access performed by the first operating system Task.
  • the method further includes: if the second operating system does not receive a heartbeat message from the first operating system within a first period of time, determining that the first operating system fails.
  • the heartbeat message refers to a message sent regularly by the sender, and the receiver can determine that the sender is in a running state after receiving the heartbeat message.
  • each operating system can perceive each other, so that when any operating system fails, the operating system that has not failed can respond quickly and initiate a takeover request to ensure business continuity in a flexible manner. While effectively improving the reliability of the device, the availability of the storage device is also improved.
  • the method further includes: the management device receiving a second takeover request sent after the first operating system recovers from a failure, the second takeover request indicating that the takeover has been migrated to the second The access task of the operating system.
  • the first operating system can take over the access tasks that are migrated to the second operating system to reduce the load on the second operating system and ensure the load balance among the operating systems in the storage device , to further guarantee the availability of the storage device, and effectively improve the reliability of the device.
  • the management device corresponds to a target hardware resource group, and the method further includes: the management device configures the multiple hardware resource groups.
  • the method also includes:
  • the management device does not receive the heartbeat message of the first operating system within the second time period, it determines that the first operating system fails.
  • the method also includes:
  • the management device pulls up the first operating system after the failure of the first operating system recovers.
  • the target hardware resource group includes fewer hardware resources than the hardware resource group.
  • the target hardware resource group corresponding to the management device includes less hardware resources than the above hardware resource group. Therefore, the possibility of the management device providing management and configuration functions being affected by hardware failures is greatly reduced, thereby effectively improving the reliability of the storage device.
  • the target hardware resource group includes a part of a memory and a part of a CPU; the hardware resource group includes a part of a memory, a part of a CPU, and a part of an external device.
  • a computing device in a third aspect, includes a management device and hardware resources, the hardware resources are divided into multiple hardware resource groups, the hardware resources include a processor and a memory, and the memory is used to store The management device and at least one piece of program code corresponding to each of the hardware resource groups, the at least one piece of program code is loaded by the processor and executes the storage method according to the second aspect.
  • a computer-readable storage medium is provided, the computer-readable storage medium is used to store at least one piece of program code, and the at least one piece of program code is used to execute the storage method as described in the second aspect.
  • a computer program product is provided.
  • the computer program product is run on a computer, the computer is made to execute the storage method as described in the second aspect.
  • FIG. 1 is a schematic diagram of an implementation environment provided by an embodiment of the present application.
  • FIG. 2 is a schematic diagram of a hardware structure of a computing device provided by an embodiment of the present application
  • FIG. 3 is a schematic structural diagram of a storage device provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of hardware sharing provided by an embodiment of the present application.
  • FIG. 5 is a flow chart of a storage method provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of an operating system switching process provided by an embodiment of the present application.
  • FIG. 7 is a flow chart of a storage method provided by an embodiment of the present application.
  • FIG. 1 is a schematic diagram of an implementation environment provided by an embodiment of the present application.
  • the implementation environment includes a storage device 110 , a storage unit 120 and a target server 130 .
  • the storage device 110 is used to provide data storage services for the target server 130, and the storage device 110 writes data into the storage unit 120 based on the access task received from the target server 130, or reads data from the storage unit 120 and returns to the target server 130.
  • the storage device 110 includes a management device and hardware resources, and the hardware resources are divided into multiple hardware resource groups, each of which runs an operating system.
  • the storage device 110 provides data storage services for the multiple target servers 130 in parallel by sending the access tasks of the multiple target servers 130 to multiple operating systems running on multiple hardware resource groups for execution.
  • the access task includes data read and write instructions for data stored in the storage unit 120 .
  • the aforementioned hardware resources include CPU, memory, and external devices.
  • the external device includes a network interface card (network interface card, NIC).
  • a network interface card referred to as a network card or a network adapter, is an expansion card inserted into an expansion slot of a computing device (such as a server) to connect the computing device to the network.
  • the network card is connected to a physical transmission medium (such as twisted pair, coaxial cable or optical fiber), and exchanges data with the network through the network transmission medium.
  • the network card may be a wireless network card capable of wirelessly connecting to a network within the coverage of a wireless local area network.
  • the network is usually the Internet, but can be any network, including but not limited to local area network (LAN), metropolitan area network (MAN), wide area network (WAN), mobile, wired or wireless Any combination of a network, a private network, or a virtual private network is not limited in this embodiment of the present application.
  • LAN local area network
  • MAN metropolitan area network
  • WAN wide area network
  • mobile wired or wireless Any combination of a network, a private network, or a virtual private network is not limited in this embodiment of the present application.
  • the above-mentioned network interface card is a PCIE card supporting the high-speed serial computer expansion bus standard (peripheral component interconnect express, PCIE).
  • PCIE peripheral component interconnect express
  • the PCIE card supports high-speed serial point-to-point dual-channel high-bandwidth transmission.
  • Each device connected to the PCIE card is assigned an independent channel bandwidth for data transmission, and does not share the bus bandwidth.
  • the storage device 110 and the storage unit 120, and between the storage device 110 and the target server 130 can be communicated through a wired network or a wireless network, and the wireless network or wired network uses standard communication technologies and/or or agreement.
  • the storage device 110 receives an access task from the target server 130 through the first network card, and reads and writes data to the storage unit 120 through the second network card according to the data read and write instructions indicated by the access task.
  • the storage unit 120 is a distributed storage device composed of multiple scattered storage resources, that is, a virtual storage device constructed by integrating storage resources on multiple physical machines through a network connection.
  • the storage unit 120 may include a solid-state hard disk, a mechanical hard disk, or other types of storage media, which is not limited in this embodiment of the present application.
  • the storage device provided by the embodiment of the present application can be used as a node connecting the target server and the storage unit in the data storage system, for example, a storage server used to manage and control storage resources, and the storage server can control the connected disk array (that is, is a storage unit) to efficiently provide reliable data storage services for client hosts (that is, target servers).
  • a storage server used to manage and control storage resources
  • the storage server can control the connected disk array (that is, is a storage unit) to efficiently provide reliable data storage services for client hosts (that is, target servers).
  • FIG. 2 is a schematic diagram of a hardware structure of a computing device provided by an embodiment of the present application.
  • the computing device 200 can serve as a storage device, a storage unit, and a target server in the above-mentioned data storage system.
  • the computing device 200 may have relatively large differences due to different configurations or performances, and may include one or more than one processor (central processing units, CPU) 201 and one or more than one memory 202, and the above processor 201 and memory 202 Collectively referred to as hardware resources.
  • processor central processing units, CPU
  • the processor 201 may be a network processor (network processor, NP), a central processing unit (central processing unit, CPU), an application-specific integrated circuit (application-specific integrated circuit, ASIC), or a integrated circuits.
  • the processor 201 may be a single-core (single-CPU) processor, or a multi-core (multi-CPU) processor.
  • Memory 202 may be read-only memory (read-only memory, ROM) or other types of static storage devices that can store static information and instructions, random access memory (random access memory, RAM) or other types that can store information and instructions It can also be an electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can be programmed by a computer Any other medium accessed, but not limited to.
  • EEPROM electrically erasable programmable read-only memory
  • CD-ROM compact disc read-only memory
  • optical disc storage including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.
  • magnetic disk storage media or other magnetic storage devices or can be used to carry or store desired program code
  • the processor 201 and the memory 202 may be provided separately, or may be integrated together.
  • the computing device 200 may also have components such as a wired or wireless network interface, a keyboard, and an input/output interface for input and output, and the computing device 200 may also include other components for implementing device functions, which will not be described in detail here.
  • a computer-readable storage medium such as a memory including instructions, which can be executed by a processor in a computing device to implement the storage method in the following embodiments.
  • the computer-readable storage medium can be a read-only memory (read-only memory, ROM), a random access memory (random access memory, RAM), a compact disc read-only memory (CD-ROM), Magnetic tapes, floppy disks, and optical data storage devices, etc.
  • FIG. 3 is a schematic diagram of the architecture of a storage device provided by the embodiment of the present application.
  • the storage device 300 includes a management device and hardware resources, and the hardware resources are divided into multiple hardware resource groups. There is an operating system running.
  • the hardware resources include memory, CPU and external devices of the storage device 300 .
  • the memory of the storage device 300 can be a dual inline memory module (dual inline memory module, DIMM), DIMM Signals are transmitted independently between each signal path of the system, so it can meet the transmission requirements of multiple data signals in complex scenarios.
  • the external devices of the storage device 300 include devices such as external memory, a network card, and a display.
  • the hardware resource includes multiple hardware resource groups, and each hardware resource group includes a part of the hardware resources.
  • a set of operating systems runs on each hardware resource group, therefore, the multiple hardware resource groups correspond to multiple sets of operating systems.
  • the multiple sets of operating systems include a first operating system 320 run by the first hardware resource group 310 and a second operating system 340 run by the second hardware resource group 330 .
  • the management device 350 corresponds to a target hardware resource group 360 included in the hardware resources, and the target hardware resource group 360 includes a part of memory and a part of CPU in the hardware resources of the storage device 300 .
  • the first hardware resource group 310 corresponding to the first operating system 320 includes: a part of the memory, for example, the memory bar 311 occupied by the first operating system 320; a part of the CPU, for example, the first operating system 320 in the multi-core CPU The occupied CPU core 312 ; a part of the external device, for example, the external memory 313 occupied by the first operating system 320 .
  • the specifications of the hardware resources included in the multiple hardware resource groups are the same, for example, each hardware resource group includes the same number of CPU cores, the same size of memory space, and the same number of external memories. Based on this, the data processing capability of each operating system is balanced to ensure the availability of the device when a failure occurs.
  • the actual hardware resources included in each hardware resource group can be adjusted accordingly. For example, in order to improve the data processing capability of a certain operating system, increase its corresponding hardware
  • the memory included in the resource group, and the memory included in the other hardware resource groups remain the same, which is not limited in this embodiment of the present application.
  • the kernel-mode processes of each operating system run in independent kernel spaces, and run user-mode processes in their corresponding upper-layer user spaces, for example, data operation processes and Control process, etc., see Figure 3.
  • the target hardware resource group corresponding to the management device includes fewer hardware resources than the above hardware resource group. Based on this, the possibility of the management device providing management and configuration functions being affected by hardware failures is greatly reduced, thereby effectively improving the reliability of the storage device.
  • the management device 350 is used to configure the multiple sets of operating systems.
  • the initial configuration process includes: dividing the hardware resources of the storage device 300 according to business processing requirements to obtain multiple hardware resource groups; and configuring the hardware resource groups to each operating system.
  • each operating system persists its own configuration information in the corresponding memory, so that the operating system can be directly read after restarting.
  • the management device 350 is also used to monitor the states of the above-mentioned multiple hardware resource groups.
  • the management device can timely discover whether the hardware resource group reaches a performance bottleneck or fails by monitoring the use of hardware resources such as CPU, memory, and external devices included in the hardware resource group.
  • the management device monitors the consumption of hardware resources by the process, so as to know the running status of the operating system running on each hardware resource group in a timely manner, for example, whether a fault occurs.
  • the configuration process of the management device 350 also includes the allocation of external devices.
  • the external device includes a network card. Communication resources are allocated to the above multiple operating systems.
  • the network card is a PCIE device that supports single root I/O virtualization (single root I/O virtualization, SR-IOV), through the The SR-IOV management driver can virtualize multiple available virtual functions (Virtualization Function, VF) based on PCIE devices, and assign the virtual functions to the corresponding hardware resource groups, so that the operating system running on the corresponding hardware resource groups does not need to By managing the driver of the device, the PCIE device can be directly accessed to receive the access task.
  • SR-IOV single root I/O virtualization
  • VF Virtualization Function
  • the manner of assigning the virtual function to the operating system includes: establishing a mapping relationship between the number of the virtual function and the information of the operating system; and storing the mapping relationship in the memory corresponding to the operating system in the form of configuration information.
  • the information of the operating system may be a serial number of the operating system, which is not limited in this embodiment of the present application.
  • a PCIE device supporting SR-IOV is driven by a management device.
  • the SR-IOV management driver running in the management device is used to virtualize the physical functions (physical functions, PF) provided by the PCIE device into N VFs, and assign them to the operating system running on each hardware resource group by way of mapping , where N is a positive integer.
  • operating system 1 can use VF0 to access PCIE devices
  • operating system 2 can use VF1 to access PCIE devices.
  • Both operating system 1 and operating system 2 have device management processes running to manage the devices accessed through VF. PCIe devices.
  • the operating system can receive and execute access tasks, and, in the event of a failure of the management device, hardware resource groups other than the target hardware resource group will not be affected, so that the operating system running on the hardware resource group Access tasks can be performed normally, the impact of management devices on business processes is reduced, the management side and business side are decoupled, and the stability and reliability of storage devices are effectively improved.
  • the management device pulls up each operating system, that is, sets each operating system to a running state, so that each operating system can receive and Execute access tasks.
  • Fig. 5 is a flow chart of a storage method provided by an embodiment of the present application. Referring to Fig. 5, the method includes:
  • a network card of a storage device sends an access task from a target server to a first operating system running on a first hardware resource group.
  • the network card of the storage device forwards the received access task to the operating system specified by the target server. For example, the network card of the storage device reads the information of the operating system from the received access task, and based on the information of the operating system, queries the mapping relationship between the virtual function of the network card and the information of the operating system, so as to pass the corresponding virtual The function forwards the access task to the first operating system specified by the target server.
  • the information of the operating system is a serial number of the operating system, which is not limited in this embodiment of the present application.
  • the target server when the target server establishes a connection with the storage device, the two parties will exchange relevant information for subsequent data read and write processes. For example, the target server obtains the serial numbers of the respective operating systems from the storage device. Certainly, the target server can also store serial numbers of various operating systems in advance, which is not limited in this embodiment of the present application.
  • the first operating system reads and writes the storage unit based on the access task.
  • the access task carries information such as the identifier of the target server and the task identifier, and the information can be used to determine the storage location of the data in the access task in the storage unit. For example, the logical unit number (logical unit number, LUN) of the storage unit where the data to be read is located, the position offset of the data to be read in the storage unit, and the like.
  • LUN logical unit number
  • the first operating system executes the access task based on multiple processes.
  • the management and control process in the first operating system queries the storage location information of the data to be read in the storage unit of the access task based on information such as the identification of the target server and the task identification in the access task;
  • the data processing process in the first operating system reads the data to be read from the corresponding storage location in the storage unit according to the storage location information queried by the management and control process.
  • the first operating system sends failure information to the target server, where the failure information indicates that the first operating system fails.
  • the failure may include but not limited to any of the following items: 1.
  • the CPU core of the operating system fails, and the access task is interrupted; error, UCE), the access task is interrupted; 3, the kernel security hole or software vulnerability (bug) of the operating system, the access task is interrupted.
  • the first operating system when a failure occurs, sends failure information to the target server, indicating that the first operating system fails, resulting in interruption of the access task.
  • the failure information indicates that the execution of the access task fails, and carries an error code to indicate information about the failure that occurred.
  • the embodiment of the present application does not limit the form of the fault information.
  • the above process is described by taking the first operating system as an example in the process of executing the access task.
  • the first operating system fails when the access task is not executed, the first operating system
  • the operating system can send failure information to the node with which it maintains communication, indicating that the first operating system has failed.
  • the node maintaining communication with the first operating system receives the fault information, it will not send the access task to the first operating system until the first operating system recovers from the fault.
  • the target server In response to receiving the fault information, the target server sends the access task to the second operating system running on the second hardware resource group.
  • the second hardware resource group refers to the architecture of the storage device provided in FIG. 3 , which will not be repeated here.
  • the fault information includes information of the second operating system.
  • the target server can determine to send the access task of the first operating system to the second operating system after receiving the fault information.
  • the target server in response to receiving the fault information, updates the information of the operating system in the access task to the information of the second operating system, so as to instruct the network card of the storage device to forward the access task to the second operating system.
  • the second operating system executes.
  • information of each operating system is stored in the target server, and upon receiving the fault information, the target server reads the information of other operating systems except the first operating system, and determines to take over the access task therefrom the second operating system.
  • the target server stores a takeover relationship between operating systems, and the takeover relationship indicates which operating system will take over its access task when the operating system fails. For example, if there is a takeover relationship between the first operating system and the second operating system, the target server determines to migrate the access task to the second operating system based on the takeover relationship after receiving the failure information of the first operating system. The second operating system executes.
  • the data storage system further includes a forwarding node, which can be used to receive fault information and switch operating systems, so as to implement migration of access tasks.
  • the forwarding node is a switch in the data storage system.
  • the forwarding node updates the operating system information in the access task received from the target server, so as to forward the access task of the first operating system to the storage device's Execute in the second operating system.
  • the forwarding node can detect whether the operating system of the storage device is faulty through, for example, a connectivity test, so as to switch the operating system in a timely and fast manner.
  • the forwarding node is used to sense the fault of the operating system and switch the operating system to improve the flexibility of operating system switching in the fault scenario, thereby efficiently realizing the migration of access tasks and effectively improving the reliability of the device.
  • the network card of the storage device receives the fault information returned by the first operating system, and switches the operating system that executes the access task based on the fault information.
  • the front-end can continue to receive access tasks from the target server (or forwarding node) to maintain business continuity, and based on the fault information, the back-end switch An interface for forwarding the access task, so as to forward the access task to the second operating system for execution.
  • the second operating system receives the access task from the target server, and reads and writes the storage unit based on the access task.
  • the operating system switching process described in the above step 503 to step 504 can reduce the service interruption time caused by the fault from 2 to 10 minutes to 1 to 3 seconds, and realize the second-level switching.
  • the front-end can eliminate the fault within a short period of time when the fault cannot be detected, and can maintain business continuity, significantly improving the reliability of the equipment.
  • the fault isolation between multiple operating systems in a single node of the data storage system is guaranteed.
  • the access task can be migrated to other isolated operating systems to continue execution without It will trigger the reset of the controller, achieving the effect that the front end is not aware of faults, and greatly improving the reliability of the equipment.
  • the first operating system can timely inform the target server of the interruption of the access task through the fault information, and realize the switching of the operating system at the data link layer, thereby realizing the migration of the access task, and using the front-end without
  • the sensing method ensures service continuity and effectively improves device reliability.
  • the embodiment of the present application provides a schematic diagram of the switching process of the operating system, see FIG. 6, wherein the access task A and the access task A sent by the target server B is distributed to the first operating system 620 and the second operating system 630 for execution through the front-end network card 610, and the first operating system 620 and the second operating system 630 perform operations on the storage unit through the back-end network card 650 based on the received access tasks respectively. read and write.
  • the front-end network card 610 sends the access task A to the second operating system 630 for execution.
  • the storage unit is read and written by the second operating system 630 based on the access task A and the access task B.
  • the first operating system and the second operating system run a management process and a data processing process (refer to the description in step 502).
  • the first operating system sends a second takeover request to the target server, where the second takeover request indicates to take over the access task that has been migrated to the second operating system.
  • the second takeover request carries the information of the first operating system and the information of the second operating system, so as to instruct the target server to resend the access task of the first operating system to the first operating system implement.
  • the second takeover request carries the operating system serial number of the first operating system and the operating system serial number of the second operating system serial number.
  • the method for troubleshooting by the first operating system may include any of the following items: 1. Manual replacement of faulty components; 2. Resetting and restarting within the fault domain; 3. Memory error checking and correction functions. Understandably, the hardware resource group of the first operating system is isolated from the hardware resource groups of other operating systems. Therefore, the first operating system performs troubleshooting only in its own fault domain without affecting to normal operation of other operating systems. For example, when the CPU core of the first operating system fails, since the CPU cores occupied by each operating system are different, replacing the faulty CPU core of the first operating system will not affect the cores of other operating systems. For another example, UCE occurs in the memory of the first operating system. Since the memory occupied by each operating system is different, the process of isolating UCE in the memory occupied by the first operating system for troubleshooting will not affect the Other operating systems use their corresponding memory normally.
  • the first operating system after troubleshooting, sends a recovery message to the management device.
  • the management device receives the restoration message of the first operating system, it determines that the first operating system has recovered from a failure, and restarts the first operating system, that is, resets the operating system to a running state.
  • the first operating system restores to the running state by reading the persistent configuration information from the memory, and sends a recovery message to the management device to inform the management device of recovery from its own failure. Based on this, the first operating system sends a second takeover request to the target server after returning to the running state.
  • the faults of each operating system are guaranteed to be isolated from each other, so that the second operating system that takes over its access tasks can run normally during the troubleshooting process of the first operating system, and the reliability of the device is effectively improved.
  • the target server sends the access task of the first operating system to the first operating system in response to receiving the second takeover request.
  • step 504 For this step, refer to step 504, which will not be repeated here.
  • the first operating system receives the access task from the target server, and reads and writes the storage unit based on the access task.
  • step 505 For this step, refer to step 505, which will not be repeated here.
  • the first operating system can take over the access tasks that are migrated to the second operating system to reduce the load on the second operating system and ensure the load balance among the operating systems in the storage device , to further guarantee the availability of the storage device, and effectively improve the reliability of the device.
  • the fault isolation between multiple operating systems in a single node of the data storage system is guaranteed.
  • the access task can be migrated to other isolated operating systems to continue execution without It will trigger the reset of the controller, achieving the effect that the front end is not aware of faults, and greatly improving the reliability of the equipment.
  • the process from step 503 to step 505 is to illustrate the switching mode in which the first operating system that has failed actively reports the failure to the target server, and the target server switches the operating system that executes the access task.
  • the multiple sets of operating systems are aware of each other by regularly sending heartbeat messages, and then when any operating system fails, other operating systems can take the initiative to initiate a takeover and switch the operating system to achieve
  • the migration of the current access task that is, the above steps 503 to 505 can be replaced by the following steps 701 to 704 .
  • Fig. 7 is a flow chart of a storage method provided by the embodiment of the present application. Referring to Fig. 7, the method includes:
  • the second operating system does not receive a heartbeat message from the first operating system within a first period of time, determine that the first operating system is faulty.
  • the heartbeat message refers to a message sent regularly by the sender, and the receiver can determine that the sender is in the running state after receiving the heartbeat message.
  • the first operating system and the second operating system can send and receive heartbeat messages to detect whether the other is running.
  • the management device can also determine the running status of each operating system by sending and receiving heartbeat messages, so that it can determine the operating status of the first operating system if no heartbeat message from the first operating system is received within the second An operating system malfunctions.
  • the second operating system sends a first takeover request to the target server, where the first takeover request indicates to take over the access task of the first operating system.
  • the first takeover request carries information of the first operating system and information of the second operating system, so as to instruct the target server to send the access task of the first operating system to the second operating system for execution.
  • the first takeover request carries the operating system serial number of the first operating system and the operating system serial number of the second operating system.
  • the storage device is provided with an arbitration unit.
  • the arbitration unit can, according to preset rules, select from multiple second operating systems Determine the target second operating system to take over the access task in.
  • the process of determining the target second operating system according to preset rules may be: according to the hardware resource configuration or the current operation status of each operating system, determine the second operating system with the best resource configuration or the most stable operation status as the target second operating system.
  • the embodiment of this application does not limit the preset rules.
  • each operating system communicates with the target server through the network card. Therefore, before the network card forwards the request of each operating system, the arbitration unit can process the takeover request of each operating system to resolve possible conflicts. Based on this, the arbitration unit selects an appropriate operating system to take over the access task, which can further guarantee the reliability of the device.
  • the target server sends the access task of the first operating system to the second operating system in response to receiving the first takeover request.
  • step 504 For this step, refer to step 504, which will not be repeated here.
  • the second operating system receives and executes the access task from the target server.
  • step 505 For this step, refer to step 505, which will not be repeated here.
  • the first operating system sends a heartbeat message to other operating systems and the management device after troubleshooting.
  • the management device receives the heartbeat message of the first operating system again, it determines that the first operating system has recovered from the failure, and restarts the first operating system, that is, re-sets the operating system to the running state .
  • the first operating system restores to the running state by reading the persistent configuration information from the memory, and sends a heartbeat message to other operating systems and management devices to inform the receiver Self-failure recovery.
  • the fault isolation between multiple operating systems in a single node of the data storage system is guaranteed.
  • the access task can be migrated to other isolated operating systems to continue execution without It will trigger the reset of the controller, achieving the effect that the front end is not aware of faults, and greatly improving the reliability of the equipment.
  • each operating system can perceive each other, so that any operating system In the event of a failure, the non-faulty operating system can respond quickly and actively initiate a takeover request to ensure business continuity in a flexible manner, effectively improving the reliability of the device and improving the availability of the device.
  • the information including but not limited to user equipment information, user personal information, etc.
  • data including but not limited to data used for analysis, stored data, displayed data, etc.
  • signals involved in this application All are authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data need to comply with the relevant laws, regulations and standards of the relevant countries and regions.
  • the data involved in the access tasks in this application are all obtained under full authorization.
  • first and second are used to distinguish the same or similar items with basically the same function and function. It should be understood that “first”, “second” and “nth” There are no logical or timing dependencies, nor are there restrictions on quantity or order of execution. It should also be understood that although the following description uses the terms first, second, etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another. For example, a first operating system could be termed a second operating system, and, similarly, a second operating system could be termed a first operating system, without departing from the scope of the various described examples. Both the first operating system and the second operating system may be operating systems, and in some cases, separate and distinct operating systems.
  • all or part of them may be implemented by software, hardware, firmware or any combination thereof.
  • software When implemented using software, it may be implemented in whole or in part in the form of a program product.
  • the program product includes one or more program instructions. When the program instructions are loaded and executed on the computing device, all or part of the processes or functions according to the embodiments of the present application will be generated.

Abstract

The present application belongs to the technical field of computer storage. Disclosed are a storage device, a storage method, a computing device, and a storage medium. In the technical solution provided in the embodiments of the present application, a plurality of mutually isolated operating systems are respectively operated on the basis of different portions of hardware resources of a storage device, and when a first operating system, which is operated on a first hardware resource group, fails, an access task of the first operating system is migrated to a second operating system, which is operated on a second hardware resource group, for execution. By means of the technical solution, the isolation of faults among a plurality of operating systems in a single node of a data storage system is guaranteed, and when a device fails, an access task may be migrated to other mutually isolated operating systems for continuous execution without triggering a controller to reset, thereby achieving an effect of a front end having no awareness regarding a fault and greatly improving the reliability of the device.

Description

存储设备、存储方法、计算设备及存储介质Storage device, storage method, computing device and storage medium 技术领域technical field
本申请涉及计算机存储技术领域,特别涉及一种存储设备、存储方法、计算设备及存储介质。The present application relates to the technical field of computer storage, and in particular to a storage device, a storage method, a computing device and a storage medium.
背景技术Background technique
随着硬件生产工艺的发展,计算设备中各类硬件的精密度也越来越高,随之而来的,是硬件的可靠性降低的问题,例如,硬件生产制程缩小导致脏污残留对硬件的影响变大。With the development of hardware production process, the precision of all kinds of hardware in computing equipment is getting higher and higher, followed by the problem of reduced reliability of hardware. influence becomes larger.
计算设备经常被作为存储设备,应用于数据存储系统中,目前,业界常用的存储设备通常是在一个物理机上运行一套操作系统(operating system,OS),且该操作系统基于物理机底层的中央处理器(central processing unit,CPU)、内存以及外部设备等硬件资源运行。Computing devices are often used as storage devices in data storage systems. At present, storage devices commonly used in the industry usually run an operating system (OS) on a physical machine, and the operating system is based on the central Hardware resources such as processor (central processing unit, CPU), memory, and external devices run.
但是,基于上述架构的存储设备,在硬件的可靠性降低导致发生故障的情况下,例如,多核CPU中的某个CPU内核发生故障,会触发CPU控制器复位,导致访问任务受到影响,使得设备的可靠性大大降低。However, in the storage device based on the above-mentioned architecture, when the reliability of the hardware is reduced and a failure occurs, for example, a CPU core in a multi-core CPU fails, it will trigger a reset of the CPU controller, which will affect the access task and make the device reliability is greatly reduced.
发明内容Contents of the invention
本申请提供了一种存储设备、存储方法、计算设备及存储介质,能够有效提升设备的可靠性。该技术方案如下:The present application provides a storage device, a storage method, a computing device, and a storage medium, which can effectively improve the reliability of the device. The technical solution is as follows:
第一方面,提供了一种存储设备,所述存储设备包括管理设备和硬件资源,所述硬件资源分为多个硬件资源组,每个所述硬件资源组上运行有一套操作系统;所述管理设备用于:In a first aspect, a storage device is provided, the storage device includes a management device and hardware resources, the hardware resources are divided into multiple hardware resource groups, each of the hardware resource groups runs a set of operating systems; the The management device is used to:
当所述多个硬件资源组中的第一硬件资源组故障,将所述第一硬件资源组运行的第一操作系统执行的访问任务迁移到所述多个硬件资源组中的第二硬件资源组,由所述第二硬件资源组运行的第二操作系统执行所述访问任务。When a first hardware resource group in the multiple hardware resource groups fails, migrating an access task executed by the first operating system running on the first hardware resource group to a second hardware resource in the multiple hardware resource groups group, the second operating system run by the second hardware resource group executes the access task.
其中,硬件资源包括存储设备的内存、CPU和外部设备,例如,该存储设备的内存可以是双列直插内存模块(dual inline memory module,DIMM),该存储设备的外部设备包括外部存储器、网卡以及显示器等设备。Wherein, the hardware resources include the memory of the storage device, CPU and external devices, for example, the memory of the storage device can be a dual inline memory module (dual inline memory module, DIMM), and the external devices of the storage device include external memory, network card and display devices.
通过上述技术方案,保证了数据存储系统的单个节点中多个操作系统之间的故障隔离,在设备发生故障的情况下,可以将访问任务迁移到互相隔离的其他操作系统中继续执行,而不会触发控制器复位,达到了前端对故障无感知的效果,大大提升了设备的可靠性。Through the above technical solution, the fault isolation between multiple operating systems in a single node of the data storage system is guaranteed. In the case of a device failure, the access task can be migrated to other isolated operating systems to continue execution without It will trigger the reset of the controller, achieving the effect that the front end is not aware of faults, and greatly improving the reliability of the equipment.
在一种可能实施方式中,所述第一硬件资源组和所述第二硬件资源组的规格相同。In a possible implementation manner, specifications of the first hardware resource group and the second hardware resource group are the same.
通过上述技术方案,使得各个操作系统的数据处理能力均衡,保证故障发生时设备的可用性。Through the above technical solution, the data processing capability of each operating system is balanced, and the usability of the device is guaranteed when a failure occurs.
在一种可能实施方式中,所述管理设备还用于:监控所述多个硬件资源组的状态。In a possible implementation manner, the management device is further configured to: monitor states of the multiple hardware resource groups.
通过上述技术方案,通过管理设备监控硬件资源,可以合理规划存储设备的硬件资源,并能够及时地发现硬件资源组以及硬件资源组运行的操作系统的故障,进一步提升了设备的可靠性。 Through the above technical solution, by monitoring the hardware resources of the management device, the hardware resources of the storage device can be reasonably planned, and the failure of the hardware resource group and the operating system running by the hardware resource group can be found in time, further improving the reliability of the device.
在一种可能实施方式中,所述存储设备还包括网卡,所述网卡支持单根输入输出虚拟化SR-IOV功能,所述网卡的第一虚拟功能VF分配给所述第一硬件资源组,所述网卡的第二虚拟功能VF分配给所述第二硬件资源组。In a possible implementation manner, the storage device further includes a network card, the network card supports a single-root input-output virtualization SR-IOV function, and the first virtual function VF of the network card is allocated to the first hardware resource group, The second virtual function VF of the network card is allocated to the second hardware resource group.
通过上述技术方案,使用硬件共享技术将网卡虚拟分配给各个硬件资源组,从而为各个硬件资源组运行的操作系统提供可靠的物理通信资源,基于此,保证了各个操作系统在硬件资源上的相互隔离,有效提升了设备的可靠性。Through the above technical solution, use the hardware sharing technology to virtually assign the network card to each hardware resource group, thereby providing reliable physical communication resources for the operating systems running in each hardware resource group. Isolation effectively improves the reliability of the equipment.
在一种可能实施方式中,所述管理设备还用于接收所述第一硬件资源组发送的故障信息;所述故障信息指示所述第一操作系统发生故障。In a possible implementation manner, the management device is further configured to receive failure information sent by the first hardware resource group; the failure information indicates that a failure occurs in the first operating system.
通过上述技术方案,第一操作系统能够通过故障信息的方式,及时地将访问任务中断的情况告知目标服务器,以进行操作系统的切换,从而实现访问任务的迁移,以前端无感知的方式保证了业务的连续性,有效提升了设备的可靠性。Through the above technical solution, the first operating system can promptly inform the target server of the interruption of the access task through the fault information, so as to switch the operating system, thereby realizing the migration of the access task, and ensuring Service continuity effectively improves device reliability.
在一种可能实施方式中,所述管理设备还用于接收所述第二操作系统发送的第一接管请求,所述第一接管请求用于接管所述第一操作系统执行的访问任务。In a possible implementation manner, the management device is further configured to receive a first takeover request sent by the second operating system, where the first takeover request is used to take over the access task executed by the first operating system.
在一种可能实施方式中,所述第二操作系统,用于若在第一时长内未接收到所述第一操作系统的心跳消息,则确定所述第一操作系统发生故障。In a possible implementation manner, the second operating system is configured to determine that the first operating system fails if the heartbeat message of the first operating system is not received within a first period of time.
其中,该心跳消息是指发送方定时发送的消息,接收方接收到该心跳消息,则能够确定该发送方处于运行状态。Wherein, the heartbeat message refers to a message sent regularly by the sender, and the receiver can determine that the sender is in a running state after receiving the heartbeat message.
通过上述技术方案,各个操作系统之间能够互相感知,从而在任一操作系统发生故障的情况下,未发生故障的操作系统能够快速响应,主动发起接管请求,以灵活的方式保证业务的连续性,在有效提升设备的可靠性的同时,提升了存储设备的可用性。Through the above technical solution, each operating system can perceive each other, so that when any operating system fails, the operating system that has not failed can respond quickly and initiate a takeover request to ensure business continuity in a flexible manner. While effectively improving the reliability of the device, the availability of the storage device is also improved.
在一种可能实施方式中,所述管理设备还用于接收所述第一操作系统故障恢复后发送的第二接管请求,所述第二接管请求指示接管已经迁移至所述第二操作系统的所述访问任务。In a possible implementation manner, the management device is further configured to receive a second takeover request sent after the first operating system recovers from a fault, and the second takeover request indicates to take over the The access task.
通过上述技术方案,第一操作系统在故障排除之后,能够重新接管迁移至第二操作系统中执行的访问任务,以减轻第二操作系统的负载,保证存储设备中各个操作系统之间的负载均衡,进一步保障存储设备的可用性,有效提升了设备的可靠性。Through the above technical solution, after troubleshooting, the first operating system can take over the access tasks that are migrated to the second operating system to reduce the load on the second operating system and ensure the load balance among the operating systems in the storage device , to further guarantee the availability of the storage device, and effectively improve the reliability of the device.
在一种可能实施方式中,所述管理设备对应于一个目标硬件资源组,所述管理设备用于对所述多套操作系统进行配置。In a possible implementation manner, the management device corresponds to a target hardware resource group, and the management device is configured to configure the multiple sets of operating systems.
通过上述技术方案,在管理设备出现故障的情况下,目标硬件资源组以外的硬件资源组不会受到影响,使得该硬件资源组运行的操作系统能够正常执行访问任务,降低了管理设备对业务进程的影响,实现管理侧与业务侧的解耦,有效提升了存储设备的稳定性与可靠性。Through the above technical solution, when the management device fails, hardware resource groups other than the target hardware resource group will not be affected, so that the operating system running on the hardware resource group can normally perform access tasks, reducing the impact of the management device on business processes. It realizes the decoupling of the management side and the business side, and effectively improves the stability and reliability of the storage device.
在一种可能实施方式中,所述管理设备,还用于若在第二时长内未接收到所述第一操作系统的心跳消息,则确定所述第一操作系统发生故障。In a possible implementation manner, the management device is further configured to determine that the first operating system fails if it does not receive a heartbeat message from the first operating system within a second period of time.
在一种可能实施方式中,所述管理设备,还用于在所述第一操作系统故障恢复后,拉起所述第一操作系统。In a possible implementation manner, the management device is further configured to pull up the first operating system after the first operating system recovers from a fault.
在一种可能实施方式中,所述目标硬件资源组所包括的硬件资源少于所述硬件资源组。In a possible implementation manner, the target hardware resource group includes fewer hardware resources than the hardware resource group.
上述技术方案中,该管理设备对应的目标硬件资源组所包括的硬件资源少于上述硬件资源组。因此,提供管理与配置功能的管理设备受硬件故障影响的可能性会大大降低,从而有效提升了存储设备的可靠性。In the above technical solution, the target hardware resource group corresponding to the management device includes less hardware resources than the above hardware resource group. Therefore, the possibility of the management device providing management and configuration functions being affected by hardware failures is greatly reduced, thereby effectively improving the reliability of the storage device.
在一种可能实施方式中,所述目标硬件资源组包括内存的一部分和CPU的一部分;所述 硬件资源组包括内存的一部分、CPU的一部分和外部设备的一部分。In a possible implementation manner, the target hardware resource group includes a part of memory and a part of CPU; the The hardware resource group includes a part of memory, a part of CPU, and a part of external devices.
第二方面,提供了一种存储方法,应用于存储设备中,所述存储设备包括管理设备和硬件资源,所述硬件资源分为多个硬件资源组,每个所述硬件资源组上运行有一套操作系统;In the second aspect, a storage method is provided, which is applied to a storage device. The storage device includes a management device and hardware resources, and the hardware resources are divided into multiple hardware resource groups. Each hardware resource group runs a sets of operating systems;
所述方法包括:The methods include:
当所述多个硬件资源组中的第一硬件资源组故障,将所述第一硬件资源组运行的第一操作系统执行的访问任务迁移到所述多个硬件资源组中的第二硬件资源组,由所述第二硬件资源组运行的第二操作系统执行所述访问任务。When a first hardware resource group in the multiple hardware resource groups fails, migrating an access task executed by the first operating system running on the first hardware resource group to a second hardware resource in the multiple hardware resource groups group, the second operating system run by the second hardware resource group executes the access task.
其中,硬件资源包括存储设备的内存、CPU和外部设备,例如,该存储设备的内存可以是双列直插内存模块(dual inline memory module,DIMM),该存储设备的外部设备包括外部存储器、网卡以及显示器等设备。Wherein, the hardware resources include the memory of the storage device, CPU and external devices, for example, the memory of the storage device can be a dual inline memory module (dual inline memory module, DIMM), and the external devices of the storage device include external memory, network card and display devices.
通过上述技术方案,保证了数据存储系统的单个节点中多个操作系统之间的故障隔离,在设备发生故障的情况下,可以将访问任务迁移到互相隔离的其他操作系统中继续执行,而不会触发控制器复位,达到了前端对故障无感知的效果,大大提升了设备的可靠性。Through the above technical solution, the fault isolation between multiple operating systems in a single node of the data storage system is guaranteed. In the case of a device failure, the access task can be migrated to other isolated operating systems to continue execution without It will trigger the reset of the controller, achieving the effect that the front end is not aware of faults, and greatly improving the reliability of the equipment.
在一种可能实施方式中,所述第一硬件资源组和所述第二硬件资源组的规格相同。In a possible implementation manner, specifications of the first hardware resource group and the second hardware resource group are the same.
通过上述技术方案,使得各个操作系统的数据处理能力均衡,保证故障发生时设备的可用性。Through the above technical solution, the data processing capability of each operating system is balanced, and the usability of the device is guaranteed when a failure occurs.
在一种可能实施方式中,所述方法还包括:所述管理设备监控所述多个硬件资源组的状态。In a possible implementation manner, the method further includes: the management device monitors states of the multiple hardware resource groups.
通过上述技术方案,通过管理设备监控硬件资源,可以合理规划存储设备的硬件资源,并能够及时地发现硬件资源组以及硬件资源组运行的操作系统的故障,进一步提升了设备的可靠性。Through the above technical solution, by monitoring the hardware resources of the management device, the hardware resources of the storage device can be reasonably planned, and the failure of the hardware resource group and the operating system running by the hardware resource group can be found in time, further improving the reliability of the device.
在一种可能实施方式中,所述存储设备还包括网卡,所述网卡支持单根输入输出虚拟化SR-IOV功能,所述网卡的第一虚拟功能VF分配给所述第一硬件资源组,所述网卡的第二虚拟功能VF分配给所述第二硬件资源组。In a possible implementation manner, the storage device further includes a network card, the network card supports a single-root input-output virtualization SR-IOV function, and the first virtual function VF of the network card is allocated to the first hardware resource group, The second virtual function VF of the network card is allocated to the second hardware resource group.
通过上述技术方案,使用硬件共享技术将网卡虚拟分配给各个硬件资源组,从而为各个硬件资源组运行的操作系统提供可靠的物理通信资源,基于此,保证了各个操作系统在硬件资源上的相互隔离,有效提升了设备的可靠性。Through the above technical solution, use the hardware sharing technology to virtually assign the network card to each hardware resource group, thereby providing reliable physical communication resources for the operating systems running in each hardware resource group. Isolation effectively improves the reliability of the equipment.
在一种可能实施方式中,所述方法还包括:所述管理设备接收所述第一硬件资源组发送的故障信息;所述故障信息指示所述第一操作系统发生故障。In a possible implementation manner, the method further includes: the management device receiving fault information sent by the first hardware resource group; the fault information indicates that the first operating system is faulty.
通过上述技术方案,第一操作系统能够通过故障信息的方式,及时地将访问任务中断的情况告知目标服务器,以进行操作系统的切换,从而实现访问任务的迁移,以前端无感知的方式保证了业务的连续性,有效提升了设备的可靠性。Through the above technical solution, the first operating system can promptly inform the target server of the interruption of the access task through the fault information, so as to switch the operating system, thereby realizing the migration of the access task, and ensuring Service continuity effectively improves device reliability.
在一种可能实施方式中,所述方法还包括:所述管理设备接收所述第二操作系统发送的第一接管请求,所述第一接管请求用于接管所述第一操作系统执行的访问任务。In a possible implementation manner, the method further includes: the management device receiving a first takeover request sent by the second operating system, where the first takeover request is used to take over the access performed by the first operating system Task.
在一种可能实施方式中,所述方法还包括:所述第二操作系统若在第一时长内未接收到所述第一操作系统的心跳消息,则确定所述第一操作系统发生故障。In a possible implementation manner, the method further includes: if the second operating system does not receive a heartbeat message from the first operating system within a first period of time, determining that the first operating system fails.
其中,该心跳消息是指发送方定时发送的消息,接收方接收到该心跳消息,则能够确定该发送方处于运行状态。 Wherein, the heartbeat message refers to a message sent regularly by the sender, and the receiver can determine that the sender is in a running state after receiving the heartbeat message.
通过上述技术方案,各个操作系统之间能够互相感知,从而在任一操作系统发生故障的情况下,未发生故障的操作系统能够快速响应,主动发起接管请求,以灵活的方式保证业务的连续性,在有效提升设备的可靠性的同时,提升了存储设备的可用性。Through the above technical solution, each operating system can perceive each other, so that when any operating system fails, the operating system that has not failed can respond quickly and initiate a takeover request to ensure business continuity in a flexible manner. While effectively improving the reliability of the device, the availability of the storage device is also improved.
在一种可能实施方式中,所述方法还包括:所述管理设备接收所述第一操作系统故障恢复后发送的第二接管请求,所述第二接管请求指示接管已经迁移至所述第二操作系统的所述访问任务。In a possible implementation manner, the method further includes: the management device receiving a second takeover request sent after the first operating system recovers from a failure, the second takeover request indicating that the takeover has been migrated to the second The access task of the operating system.
通过上述技术方案,第一操作系统在故障排除之后,能够重新接管迁移至第二操作系统中执行的访问任务,以减轻第二操作系统的负载,保证存储设备中各个操作系统之间的负载均衡,进一步保障存储设备的可用性,有效提升了设备的可靠性。Through the above technical solution, after troubleshooting, the first operating system can take over the access tasks that are migrated to the second operating system to reduce the load on the second operating system and ensure the load balance among the operating systems in the storage device , to further guarantee the availability of the storage device, and effectively improve the reliability of the device.
在一种可能实施方式中,所述管理设备对应于一个目标硬件资源组,所述方法还包括:所述管理设备对所述多个硬件资源组进行配置。In a possible implementation manner, the management device corresponds to a target hardware resource group, and the method further includes: the management device configures the multiple hardware resource groups.
通过上述技术方案,在管理设备出现故障的情况下,目标硬件资源组以外的硬件资源组不会受到影响,使得该硬件资源组运行的操作系统能够正常执行访问任务,降低了管理设备对业务进程的影响,实现管理侧与业务侧的解耦,有效提升了存储设备的稳定性与可靠性。Through the above technical solution, when the management device fails, hardware resource groups other than the target hardware resource group will not be affected, so that the operating system running on the hardware resource group can normally perform access tasks, reducing the impact of the management device on business processes. It realizes the decoupling of the management side and the business side, and effectively improves the stability and reliability of the storage device.
在一种可能实施方式中,所述方法还包括:In a possible implementation manner, the method also includes:
所述管理设备若在第二时长内未接收到所述第一操作系统的心跳消息,则确定所述第一操作系统发生故障。If the management device does not receive the heartbeat message of the first operating system within the second time period, it determines that the first operating system fails.
在一种可能实施方式中,所述方法还包括:In a possible implementation manner, the method also includes:
所述管理设备在所述第一操作系统故障恢复后,拉起所述第一操作系统。The management device pulls up the first operating system after the failure of the first operating system recovers.
在一种可能实施方式中,所述目标硬件资源组所包括的硬件资源少于所述硬件资源组。In a possible implementation manner, the target hardware resource group includes fewer hardware resources than the hardware resource group.
上述技术方案中,该管理设备对应的目标硬件资源组所包括的硬件资源少于上述硬件资源组。因此,提供管理与配置功能的管理设备受硬件故障影响的可能性会大大降低,从而有效提升了存储设备的可靠性。In the above technical solution, the target hardware resource group corresponding to the management device includes less hardware resources than the above hardware resource group. Therefore, the possibility of the management device providing management and configuration functions being affected by hardware failures is greatly reduced, thereby effectively improving the reliability of the storage device.
在一种可能实施方式中,所述目标硬件资源组包括内存的一部分和CPU的一部分;所述硬件资源组包括内存的一部分、CPU的一部分和外部设备的一部分。In a possible implementation manner, the target hardware resource group includes a part of a memory and a part of a CPU; the hardware resource group includes a part of a memory, a part of a CPU, and a part of an external device.
第三方面,提供了一种计算设备,所述计算设备包括管理设备和硬件资源,所述硬件资源分为多个硬件资源组,所述硬件资源包括处理器和存储器,所述存储器用于存储所述管理设备和每个所述硬件资源组对应的至少一段程序代码,所述至少一段程序代码由所述处理器加载并执行如第二方面所述的存储方法。In a third aspect, a computing device is provided, the computing device includes a management device and hardware resources, the hardware resources are divided into multiple hardware resource groups, the hardware resources include a processor and a memory, and the memory is used to store The management device and at least one piece of program code corresponding to each of the hardware resource groups, the at least one piece of program code is loaded by the processor and executes the storage method according to the second aspect.
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储至少一段程序代码,所述至少一段程序代码用于执行如第二方面所述的存储方法。In a fourth aspect, a computer-readable storage medium is provided, the computer-readable storage medium is used to store at least one piece of program code, and the at least one piece of program code is used to execute the storage method as described in the second aspect.
第五方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如第二方面所述的存储方法。In a fifth aspect, a computer program product is provided. When the computer program product is run on a computer, the computer is made to execute the storage method as described in the second aspect.
附图说明Description of drawings
图1是本申请实施例提供的一种实施环境的示意图; FIG. 1 is a schematic diagram of an implementation environment provided by an embodiment of the present application;
图2是本申请实施例提供的一种计算设备的硬件结构示意图;FIG. 2 is a schematic diagram of a hardware structure of a computing device provided by an embodiment of the present application;
图3是本申请实施例提供的一种存储设备的架构示意图;FIG. 3 is a schematic structural diagram of a storage device provided by an embodiment of the present application;
图4是本申请实施例提供的一种硬件共享的示意图;FIG. 4 is a schematic diagram of hardware sharing provided by an embodiment of the present application;
图5是本申请实施例提供的一种存储方法的流程图;FIG. 5 is a flow chart of a storage method provided by an embodiment of the present application;
图6是本申请实施例提供的一种操作系统切换过程的示意图;FIG. 6 is a schematic diagram of an operating system switching process provided by an embodiment of the present application;
图7是本申请实施例提供的一种存储方法的流程图。FIG. 7 is a flow chart of a storage method provided by an embodiment of the present application.
具体实施方式Detailed ways
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。In order to make the purpose, technical solution and advantages of the present application clearer, the implementation manners of the present application will be further described in detail below in conjunction with the accompanying drawings.
图1是本申请实施例提供的一种实施环境的示意图,参见图1,该实施环境包括存储设备110、存储单元120以及目标服务器130。其中,存储设备110用于为目标服务器130提供数据存储服务,存储设备110基于从目标服务器130接收到的访问任务,将数据写入存储单元120,或者,从存储单元120中读取数据并返回给目标服务器130。FIG. 1 is a schematic diagram of an implementation environment provided by an embodiment of the present application. Referring to FIG. 1 , the implementation environment includes a storage device 110 , a storage unit 120 and a target server 130 . Wherein, the storage device 110 is used to provide data storage services for the target server 130, and the storage device 110 writes data into the storage unit 120 based on the access task received from the target server 130, or reads data from the storage unit 120 and returns to the target server 130.
其中,存储设备110包括管理设备和硬件资源,该硬件资源分为多个硬件资源组,每个硬件资源组上运行有一套操作系统。在一些实施例中,存储设备110通过将多个目标服务器130的访问任务分别下发至多个硬件资源组运行的多套操作系统中执行,来并行地为多个目标服务器130提供数据存储服务。在一些实施例中,该访问任务包括针对存储单元120中所存储数据的数据读写指令。Wherein, the storage device 110 includes a management device and hardware resources, and the hardware resources are divided into multiple hardware resource groups, each of which runs an operating system. In some embodiments, the storage device 110 provides data storage services for the multiple target servers 130 in parallel by sending the access tasks of the multiple target servers 130 to multiple operating systems running on multiple hardware resource groups for execution. In some embodiments, the access task includes data read and write instructions for data stored in the storage unit 120 .
在一些实施例中,上述硬件资源包括CPU、内存以及外部设备。在一些实施例中,该外部设备包括网络接口卡(network interface card,NIC)。网络接口卡简称网卡,也称网络适配器,是一种插在计算设备(如服务器)扩展槽内的扩展卡,用于将计算设备接入网络。可选地,网卡与物理传输介质(如双绞线、同轴电缆或光纤)相连,通过网络传输介质与网络交换数据。在一些实施例中,网卡可以是无线网卡,能够在无线局域网的覆盖范围内无线连接到网络。网络通常为因特网、但也能够是任何网络,包括但不限于局域网(local area network,LAN)、城域网(metropolitan area network,MAN)、广域网(wide area network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合,本申请实施例对此不做限定。In some embodiments, the aforementioned hardware resources include CPU, memory, and external devices. In some embodiments, the external device includes a network interface card (network interface card, NIC). A network interface card, referred to as a network card or a network adapter, is an expansion card inserted into an expansion slot of a computing device (such as a server) to connect the computing device to the network. Optionally, the network card is connected to a physical transmission medium (such as twisted pair, coaxial cable or optical fiber), and exchanges data with the network through the network transmission medium. In some embodiments, the network card may be a wireless network card capable of wirelessly connecting to a network within the coverage of a wireless local area network. The network is usually the Internet, but can be any network, including but not limited to local area network (LAN), metropolitan area network (MAN), wide area network (WAN), mobile, wired or wireless Any combination of a network, a private network, or a virtual private network is not limited in this embodiment of the present application.
可选地,上述网络接口卡是支持高速串行计算机扩展总线标准(peripheral component interconnect express,PCIE)的PCIE卡。PCIE卡支持高速串行点对点双通道高带宽传输,连接在PCIE卡上的各个设备被分配独立的通道带宽来进行数据传输,不共享总线带宽。Optionally, the above-mentioned network interface card is a PCIE card supporting the high-speed serial computer expansion bus standard (peripheral component interconnect express, PCIE). The PCIE card supports high-speed serial point-to-point dual-channel high-bandwidth transmission. Each device connected to the PCIE card is assigned an independent channel bandwidth for data transmission, and does not share the bus bandwidth.
在一些实施例中,该存储设备110与存储单元120之间、存储设备110与目标服务器130之间,能够通过有线网络或者无线网络方式通信连接,该无线网络或有线网络使用标准通信技术和/或协议。例如,该存储设备110通过第一网卡,从目标服务器130接收到访问任务,按照该访问任务指示的数据读写指令,通过第二网卡对存储单元120进行数据读写。In some embodiments, the storage device 110 and the storage unit 120, and between the storage device 110 and the target server 130 can be communicated through a wired network or a wireless network, and the wireless network or wired network uses standard communication technologies and/or or agreement. For example, the storage device 110 receives an access task from the target server 130 through the first network card, and reads and writes data to the storage unit 120 through the second network card according to the data read and write instructions indicated by the access task.
在一些实施例中,存储单元120是由多个分散的存储资源构成的分布式存储设备,也即是,通过网络连接将多个物理机上的存储资源进行整合所构建出的虚拟的存储设备。可选地,该存储单元120可以包括固态硬盘、机械硬盘或其他类型存储介质,本申请实施例对此不作限定。 In some embodiments, the storage unit 120 is a distributed storage device composed of multiple scattered storage resources, that is, a virtual storage device constructed by integrating storage resources on multiple physical machines through a network connection. Optionally, the storage unit 120 may include a solid-state hard disk, a mechanical hard disk, or other types of storage media, which is not limited in this embodiment of the present application.
在介绍了上述实施环境和设备架构的基础上,接下来对本申请实施例的应用场景进行介绍。On the basis of introducing the above-mentioned implementation environment and device architecture, the application scenarios of the embodiments of the present application are introduced next.
本申请实施例提供的存储设备能够作为数据存储系统中,连接目标服务器与存储单元的节点,例如,用于管理和控制存储资源的存储服务器,该存储服务器能够对所连接的磁盘阵列(也即是存储单元)进行管理,从而高效地为客户主机(也即是目标服务器)提供可靠的数据存储服务。The storage device provided by the embodiment of the present application can be used as a node connecting the target server and the storage unit in the data storage system, for example, a storage server used to manage and control storage resources, and the storage server can control the connected disk array (that is, is a storage unit) to efficiently provide reliable data storage services for client hosts (that is, target servers).
图2是本申请实施例提供的一种计算设备的硬件结构示意图,参见图2,该计算设备200能够作为上述数据存储系统中的存储设备、存储单元和目标服务器。其中,计算设备200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)201和一个或一个以上的存储器202,上述处理器201和存储器202统称为硬件资源。FIG. 2 is a schematic diagram of a hardware structure of a computing device provided by an embodiment of the present application. Referring to FIG. 2 , the computing device 200 can serve as a storage device, a storage unit, and a target server in the above-mentioned data storage system. Wherein, the computing device 200 may have relatively large differences due to different configurations or performances, and may include one or more than one processor (central processing units, CPU) 201 and one or more than one memory 202, and the above processor 201 and memory 202 Collectively referred to as hardware resources.
其中,处理器201可以是网络处理器(network processor,NP)、中央处理器(central processing unit,CPU)、特定应用集成电路(application-specific integrated circuit,ASIC)或用于控制本申请方案程序执行的集成电路。该处理器201可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。存储器202可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。其中,处理器201和存储器202可以分离设置,也可以集成在一起。当然,该计算设备200还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算设备200还可以包括其他用于实现设备功能的部件,在此不做赘述。Wherein, the processor 201 may be a network processor (network processor, NP), a central processing unit (central processing unit, CPU), an application-specific integrated circuit (application-specific integrated circuit, ASIC), or a integrated circuits. The processor 201 may be a single-core (single-CPU) processor, or a multi-core (multi-CPU) processor. Memory 202 may be read-only memory (read-only memory, ROM) or other types of static storage devices that can store static information and instructions, random access memory (random access memory, RAM) or other types that can store information and instructions It can also be an electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can be programmed by a computer Any other medium accessed, but not limited to. Wherein, the processor 201 and the memory 202 may be provided separately, or may be integrated together. Certainly, the computing device 200 may also have components such as a wired or wireless network interface, a keyboard, and an input/output interface for input and output, and the computing device 200 may also include other components for implementing device functions, which will not be described in detail here.
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由计算设备中的处理器执行以完成下述实施例中的存储方法。例如,该计算机可读存储介质可以是只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、只读光盘(compact disc read-only memory,CD-ROM)、磁带、软盘和光数据存储设备等。In an exemplary embodiment, there is also provided a computer-readable storage medium, such as a memory including instructions, which can be executed by a processor in a computing device to implement the storage method in the following embodiments. For example, the computer-readable storage medium can be a read-only memory (read-only memory, ROM), a random access memory (random access memory, RAM), a compact disc read-only memory (CD-ROM), Magnetic tapes, floppy disks, and optical data storage devices, etc.
接下来对本申请实施例提供的存储设备进行介绍。Next, the storage device provided by the embodiment of the present application will be introduced.
图3是本申请实施例提供的一种存储设备的架构示意图,参见图3,其中,存储设备300包括管理设备和硬件资源,该硬件资源分为多个硬件资源组,每个硬件资源组上运行有一套操作系统。FIG. 3 is a schematic diagram of the architecture of a storage device provided by the embodiment of the present application. Referring to FIG. 3 , the storage device 300 includes a management device and hardware resources, and the hardware resources are divided into multiple hardware resource groups. There is an operating system running.
其中,该硬件资源包括该存储设备300的内存、CPU和外部设备。在一些实施例中,该存储设备300的内存可以是双列直插内存模块(dual inl ine memory module,DIMM),DIMM 的各个信号通路之间独立传输信号,因此可以满足复杂场景下多路数据信号的传输需求。在一些实施例中,该存储设备300的外部设备包括外部存储器、网卡以及显示器等设备。Wherein, the hardware resources include memory, CPU and external devices of the storage device 300 . In some embodiments, the memory of the storage device 300 can be a dual inline memory module (dual inline memory module, DIMM), DIMM Signals are transmitted independently between each signal path of the system, so it can meet the transmission requirements of multiple data signals in complex scenarios. In some embodiments, the external devices of the storage device 300 include devices such as external memory, a network card, and a display.
参见图3,该硬件资源包括多个硬件资源组,每个硬件资源组包括该硬件资源中的一部分硬件资源。其中,每个硬件资源组上运行有一套操作系统,因此,该多个硬件资源组对应于多套操作系统。该多套操作系统包括第一硬件资源组310运行的第一操作系统320和第二硬件资源组330运行的第二操作系统340。其中,该管理设备350对应于硬件资源包括的一个目标硬件资源组360,该目标硬件资源组360包括存储设备300的硬件资源中内存的一部分和CPU的一部分。Referring to FIG. 3 , the hardware resource includes multiple hardware resource groups, and each hardware resource group includes a part of the hardware resources. Wherein, a set of operating systems runs on each hardware resource group, therefore, the multiple hardware resource groups correspond to multiple sets of operating systems. The multiple sets of operating systems include a first operating system 320 run by the first hardware resource group 310 and a second operating system 340 run by the second hardware resource group 330 . Wherein, the management device 350 corresponds to a target hardware resource group 360 included in the hardware resources, and the target hardware resource group 360 includes a part of memory and a part of CPU in the hardware resources of the storage device 300 .
其中,第一操作系统320对应的第一硬件资源组310则包括:内存的一部分,例如,第一操作系统320所占用的内存条311;CPU的一部分,例如,多核CPU中第一操作系统320所占用的CPU内核312;外部设备的一部分,例如,第一操作系统320所占用的外部存储器313。在一些实施例中,该多个硬件资源组所包括的硬件资源的规格相同,例如,每个硬件资源组都包括相同数量的CPU内核、相同大小的内存空间以及相同数量的外部存储器。基于此,使得各个操作系统的数据处理能力均衡,保证故障发生时设备的可用性。Wherein, the first hardware resource group 310 corresponding to the first operating system 320 includes: a part of the memory, for example, the memory bar 311 occupied by the first operating system 320; a part of the CPU, for example, the first operating system 320 in the multi-core CPU The occupied CPU core 312 ; a part of the external device, for example, the external memory 313 occupied by the first operating system 320 . In some embodiments, the specifications of the hardware resources included in the multiple hardware resource groups are the same, for example, each hardware resource group includes the same number of CPU cores, the same size of memory space, and the same number of external memories. Based on this, the data processing capability of each operating system is balanced to ensure the availability of the device when a failure occurs.
当然,根据不同的业务处理需求以及硬件资源的实际情况,能够对各个硬件资源组所包括的实际硬件资源进行相应的调整,例如,为了提升某一个操作系统的数据处理能力,增加其对应的硬件资源组包括的内存,而其余硬件资源组所包括的内存保持相同,本申请实施例对此不做限定。Of course, according to different business processing requirements and the actual situation of hardware resources, the actual hardware resources included in each hardware resource group can be adjusted accordingly. For example, in order to improve the data processing capability of a certain operating system, increase its corresponding hardware The memory included in the resource group, and the memory included in the other hardware resource groups remain the same, which is not limited in this embodiment of the present application.
在一些实施例中,基于互相隔离的硬件资源组,各个操作系统的内核态进程分别运行在独立的内核空间中,并在各自对应的上层用户空间中运行用户态进程,例如,数据运算进程和控制进程等,参见图3。In some embodiments, based on mutually isolated hardware resource groups, the kernel-mode processes of each operating system run in independent kernel spaces, and run user-mode processes in their corresponding upper-layer user spaces, for example, data operation processes and Control process, etc., see Figure 3.
可以理解地,该管理设备对应的目标硬件资源组所包括的硬件资源少于上述硬件资源组。基于此,提供管理与配置功能的管理设备受硬件故障影响的可能性会大大降低,从而有效提升了存储设备的可靠性。It can be understood that the target hardware resource group corresponding to the management device includes fewer hardware resources than the above hardware resource group. Based on this, the possibility of the management device providing management and configuration functions being affected by hardware failures is greatly reduced, thereby effectively improving the reliability of the storage device.
在一些实施例中,该管理设备350用于对该多套操作系统进行配置。其中,初始的配置过程包括:根据业务处理需求划分存储设备300的硬件资源,得到多个硬件资源组;将硬件资源组配置给各个操作系统。可选地,各个操作系统经过初始的配置之后,将自身的配置信息持久化至对应的内存中,便于操作系统在重启之后能够直接读取。In some embodiments, the management device 350 is used to configure the multiple sets of operating systems. Wherein, the initial configuration process includes: dividing the hardware resources of the storage device 300 according to business processing requirements to obtain multiple hardware resource groups; and configuring the hardware resource groups to each operating system. Optionally, after the initial configuration, each operating system persists its own configuration information in the corresponding memory, so that the operating system can be directly read after restarting.
在一些实施例中,该管理设备350还用于监控上述多个硬件资源组的状态。该管理设备通过监控硬件资源组包括的CPU、内存以及外部设备等硬件资源使用情况,能够及时地发现硬件资源组是否达到性能瓶颈或发生故障。在另一些实施例中,该管理设备监控进程消耗硬件资源的情况,以及时地了解各个硬件资源组运行的操作系统的运行状态,例如,是否发生故障。通过上述技术方案,通过管理设备监控硬件资源,可以合理规划存储设备的硬件资源,并能够及时地发现硬件资源组以及硬件资源组运行的操作系统的故障,进一步提升了设备的可靠性。In some embodiments, the management device 350 is also used to monitor the states of the above-mentioned multiple hardware resource groups. The management device can timely discover whether the hardware resource group reaches a performance bottleneck or fails by monitoring the use of hardware resources such as CPU, memory, and external devices included in the hardware resource group. In some other embodiments, the management device monitors the consumption of hardware resources by the process, so as to know the running status of the operating system running on each hardware resource group in a timely manner, for example, whether a fault occurs. Through the above technical solution, by monitoring the hardware resources of the management device, the hardware resources of the storage device can be reasonably planned, and the failure of the hardware resource group and the operating system running by the hardware resource group can be found in time, further improving the reliability of the device.
在一些实施例中,管理设备350的配置过程还包括对外部设备的分配,例如,该外部设备包括网卡,在由管理设备驱动网卡的示例下,管理设备基于硬件共享技术,将网卡提供的物理通信资源分配给上述多套操作系统。在一些实施例中,网卡是支持单根输入输出虚拟化技术(single root I/O virtualization,SR-IOV)的PCIE设备,通过运行在管理设备中的 SR-IOV管理驱动程序,能够基于PCI E设备虚拟化出多个可用的虚拟功能(Virtualization Function,VF),并将虚拟功能分配给相应的硬件资源组,使相应硬件资源组运行的操作系统无需通过管理设备的驱动,即可直接访问PCI E设备,以接收访问任务。可选地,将虚拟功能分配给操作系统的方式包括:建立虚拟功能的编号和操作系统的信息之间的映射关系;以配置信息的方式在该操作系统对应的内存中存储该映射关系。在一些实施例中,该操作系统的信息可以是操作系统的序列号,本申请实施例对此不做限定。通过上述技术方案,使用硬件共享技术将网卡虚拟分配给各个硬件资源组,从而为各个硬件资源组运行的操作系统分别提供可靠的物理通信资源,基于此,保证了各个操作系统在硬件资源上的相互隔离,有效提升了设备的可靠性。In some embodiments, the configuration process of the management device 350 also includes the allocation of external devices. For example, the external device includes a network card. Communication resources are allocated to the above multiple operating systems. In some embodiments, the network card is a PCIE device that supports single root I/O virtualization (single root I/O virtualization, SR-IOV), through the The SR-IOV management driver can virtualize multiple available virtual functions (Virtualization Function, VF) based on PCIE devices, and assign the virtual functions to the corresponding hardware resource groups, so that the operating system running on the corresponding hardware resource groups does not need to By managing the driver of the device, the PCIE device can be directly accessed to receive the access task. Optionally, the manner of assigning the virtual function to the operating system includes: establishing a mapping relationship between the number of the virtual function and the information of the operating system; and storing the mapping relationship in the memory corresponding to the operating system in the form of configuration information. In some embodiments, the information of the operating system may be a serial number of the operating system, which is not limited in this embodiment of the present application. Through the above technical solution, the network card is virtually assigned to each hardware resource group by using the hardware sharing technology, so as to provide reliable physical communication resources for the operating systems running on each hardware resource group, and based on this, the hardware resources of each operating system are guaranteed. They are isolated from each other, which effectively improves the reliability of the equipment.
为了便于理解,本申请实施例提供了一种硬件共享的示意图,参见图4,由管理设备驱动支持SR-IOV的PCIE设备。管理设备中运行的SR-IOV管理驱动程序用于将该PCIE设备提供的物理功能(physical functions,PF)虚拟化为N个VF,并通过映射的方式,指定给各个硬件资源组运行的操作系统,其中,N为正整数。参见图4,操作系统1能够使用VF0来访问PCIE设备,操作系统2能够使用VF1来访问PCIE设备,该操作系统1与操作系统2中都运行有设备管理进程,用于管理通过VF访问到的PCIE设备。For ease of understanding, the embodiment of the present application provides a schematic diagram of hardware sharing. Referring to FIG. 4 , a PCIE device supporting SR-IOV is driven by a management device. The SR-IOV management driver running in the management device is used to virtualize the physical functions (physical functions, PF) provided by the PCIE device into N VFs, and assign them to the operating system running on each hardware resource group by way of mapping , where N is a positive integer. Referring to Figure 4, operating system 1 can use VF0 to access PCIE devices, and operating system 2 can use VF1 to access PCIE devices. Both operating system 1 and operating system 2 have device management processes running to manage the devices accessed through VF. PCIe devices.
通过上述的配置过程,操作系统即可接收并执行访问任务,并且,在管理设备出现故障的情况下,目标硬件资源组以外的硬件资源组不会受到影响,使得该硬件资源组运行的操作系统能够正常执行访问任务,降低了管理设备对业务进程的影响,实现管理侧与业务侧的解耦,有效提升了存储设备的稳定性与可靠性。Through the above configuration process, the operating system can receive and execute access tasks, and, in the event of a failure of the management device, hardware resource groups other than the target hardware resource group will not be affected, so that the operating system running on the hardware resource group Access tasks can be performed normally, the impact of management devices on business processes is reduced, the management side and business side are decoupled, and the stability and reliability of storage devices are effectively improved.
在一些实施例中,该管理设备在基于多个硬件资源组配置多套操作系统之后,将各个操作系统拉起,也即是,将各个操作系统设置为运行状态,使得各个操作系统能够接收并执行访问任务。In some embodiments, after configuring multiple sets of operating systems based on multiple hardware resource groups, the management device pulls up each operating system, that is, sets each operating system to a running state, so that each operating system can receive and Execute access tasks.
为了便于理解上述存储设备执行访问任务的过程,下面基于图1提供的实施环境和图3提供的存储设备的架构,以存储设备110、存储单元120以及目标服务器130之间的交互过程为例,对本申请实施例提供的存储方法进行说明。图5是本申请实施例提供的一种存储方法的流程图,参见图5,该方法包括:In order to facilitate the understanding of the process of the above-mentioned storage device performing the access task, based on the implementation environment provided in FIG. 1 and the architecture of the storage device provided in FIG. The storage method provided by the embodiment of this application is described. Fig. 5 is a flow chart of a storage method provided by an embodiment of the present application. Referring to Fig. 5, the method includes:
501、存储设备的网卡将来自于目标服务器的访问任务发送给第一硬件资源组运行的第一操作系统。501. A network card of a storage device sends an access task from a target server to a first operating system running on a first hardware resource group.
本申请实施例中的存储设备参照图3所提供的架构,在此不作赘述。For the storage device in the embodiment of the present application, reference is made to the architecture provided in FIG. 3 , and details are not described here.
在一些实施例中,由该存储设备的网卡对接收到的访问任务转发给目标服务器指定的操作系统。例如,存储设备的网卡从接收到的访问任务中,读取操作系统的信息,并基于该操作系统的信息,查询网卡的虚拟功能与操作系统的信息之间的映射关系,从而通过对应的虚拟功能将访问任务转发给该目标服务器指定的第一操作系统。在一些实施例中,该操作系统的信息是操作系统的序列号,本申请实施例对此不做限定。In some embodiments, the network card of the storage device forwards the received access task to the operating system specified by the target server. For example, the network card of the storage device reads the information of the operating system from the received access task, and based on the information of the operating system, queries the mapping relationship between the virtual function of the network card and the information of the operating system, so as to pass the corresponding virtual The function forwards the access task to the first operating system specified by the target server. In some embodiments, the information of the operating system is a serial number of the operating system, which is not limited in this embodiment of the present application.
在一些实施例中,在目标服务器与存储设备建立连接时,双方会交换相关信息,以进行后续的数据读写过程。例如,目标服务器从存储设备获取各个操作系统的序列号。当然,该目标服务器还能够事先存储各个操作系统的序列号,本申请实施例对此不做限定。In some embodiments, when the target server establishes a connection with the storage device, the two parties will exchange relevant information for subsequent data read and write processes. For example, the target server obtains the serial numbers of the respective operating systems from the storage device. Certainly, the target server can also store serial numbers of various operating systems in advance, which is not limited in this embodiment of the present application.
502、该第一操作系统基于该访问任务,对存储单元进行读写。 502. The first operating system reads and writes the storage unit based on the access task.
在一些实施例中,该访问任务中携带有目标服务器的标识和任务标识等信息,该信息能够用于确定访问任务中的数据在存储单元中的存储位置。例如,待读取数据所在的存储单元的逻辑单元号(logical unit number,LUN)以及待读取数据在存储单元中的位置偏移量等。In some embodiments, the access task carries information such as the identifier of the target server and the task identifier, and the information can be used to determine the storage location of the data in the access task in the storage unit. For example, the logical unit number (logical unit number, LUN) of the storage unit where the data to be read is located, the position offset of the data to be read in the storage unit, and the like.
可选地,该第一操作系统基于多个进程执行该访问任务。在一些实施例中,该第一操作系统中的管控进程基于该访问任务中该目标服务器的标识以及任务标识等信息,查询本次访问任务的待读取数据在存储单元中的存储位置信息;该第一操作系统中的数据处理进程根据该管控进程查询出的存储位置信息,从存储单元中对应的存储位置读取该待读取数据。Optionally, the first operating system executes the access task based on multiple processes. In some embodiments, the management and control process in the first operating system queries the storage location information of the data to be read in the storage unit of the access task based on information such as the identification of the target server and the task identification in the access task; The data processing process in the first operating system reads the data to be read from the corresponding storage location in the storage unit according to the storage location information queried by the management and control process.
503、该第一操作系统在发生故障的情况下,向目标服务器发送故障信息,该故障信息指示该第一操作系统发生故障。503. When a failure occurs, the first operating system sends failure information to the target server, where the failure information indicates that the first operating system fails.
在一些实施例中,故障可以包括但不限于以下任意项:1、操作系统的CPU内核发生故障,访问任务中断;2、操作系统的内存出现通过内存错误检查和纠正功能无法纠正的错误(uncorrected error,UCE),访问任务中断;3、操作系统的内核安全漏洞或软件漏洞(bug),访问任务中断。In some embodiments, the failure may include but not limited to any of the following items: 1. The CPU core of the operating system fails, and the access task is interrupted; error, UCE), the access task is interrupted; 3, the kernel security hole or software vulnerability (bug) of the operating system, the access task is interrupted.
在本申请实施例中,该第一操作系统在发生故障的情况下,通过向目标服务器发送故障信息,指示该第一操作系统发生故障,导致访问任务中断。在一些实施例中,该故障信息指示访问任务执行失败,并携带错误代码,以指示所发生的故障的信息。本申请实施例对故障信息的形式不做限定。In the embodiment of the present application, when a failure occurs, the first operating system sends failure information to the target server, indicating that the first operating system fails, resulting in interruption of the access task. In some embodiments, the failure information indicates that the execution of the access task fails, and carries an error code to indicate information about the failure that occurred. The embodiment of the present application does not limit the form of the fault information.
上述过程是以该第一操作系统在执行访问任务的过程中发生故障为例进行说明,在另一些实施例中,若该第一操作系统在未执行访问任务的情况下发生故障,该第一操作系统能够向与其保持通信的节点发送故障信息,来指示第一操作系统发生故障。而与该第一操作系统保持通信的节点接收到该故障信息,则不会将访问任务发送给该第一操作系统,直到该第一操作系统从故障中恢复。The above process is described by taking the first operating system as an example in the process of executing the access task. In other embodiments, if the first operating system fails when the access task is not executed, the first operating system The operating system can send failure information to the node with which it maintains communication, indicating that the first operating system has failed. When the node maintaining communication with the first operating system receives the fault information, it will not send the access task to the first operating system until the first operating system recovers from the fault.
504、该目标服务器响应于接收到该故障信息,将访问任务发送至第二硬件资源组运行的第二操作系统。504. In response to receiving the fault information, the target server sends the access task to the second operating system running on the second hardware resource group.
其中,该第二硬件资源组参考图3所提供的存储设备的架构,在此不作赘述。Wherein, the second hardware resource group refers to the architecture of the storage device provided in FIG. 3 , which will not be repeated here.
在一些实施例中,该故障信息包括该第二操作系统的信息。基于此,该目标服务器接收到该故障信息,即可确定将该第一操作系统的访问任务发送至该第二操作系统。在这种示例下,该目标服务器响应于接收到该故障信息,将该访问任务中操作系统的信息更新为该第二操作系统的信息,以指示存储设备的网卡将该访问任务转发给该第二操作系统执行。In some embodiments, the fault information includes information of the second operating system. Based on this, the target server can determine to send the access task of the first operating system to the second operating system after receiving the fault information. In this example, the target server, in response to receiving the fault information, updates the information of the operating system in the access task to the information of the second operating system, so as to instruct the network card of the storage device to forward the access task to the second operating system. The second operating system executes.
在一些实施例中,该目标服务器中存储有各个操作系统的信息,该目标服务器接收到该故障信息,则读取除第一操作系统外的其他操作系统的信息,并从中确定接管该访问任务的第二操作系统。在一些实施例中,该目标服务器中存储有操作系统之间的接管关系,该接管关系指示当操作系统发生故障时,由哪一个操作系统接管其访问任务。例如,该第一操作系统与该第二操作系统存在接管关系,则该目标服务器在接收到该第一操作系统的故障信息的情况下,基于该接管关系,确定将该访问任务迁移至该第二操作系统执行。In some embodiments, information of each operating system is stored in the target server, and upon receiving the fault information, the target server reads the information of other operating systems except the first operating system, and determines to take over the access task therefrom the second operating system. In some embodiments, the target server stores a takeover relationship between operating systems, and the takeover relationship indicates which operating system will take over its access task when the operating system fails. For example, if there is a takeover relationship between the first operating system and the second operating system, the target server determines to migrate the access task to the second operating system based on the takeover relationship after receiving the failure information of the first operating system. The second operating system executes.
需要说明的是,上述在目标服务器将该访问任务中操作系统的信息替换为该第二操作系统的信息的过程发生在数据链路层,上层应用层中的应用程序并不会接收到该故障信息,也就无法感知该第一操作系统发生了故障,因此,通过上述技术方案,实现了前端对故障无感知的效果,有效提升了设备的可靠性。 It should be noted that the above-mentioned process of replacing the information of the operating system in the access task on the target server with the information of the second operating system occurs at the data link layer, and the application program in the upper application layer will not receive the failure information, it is impossible to perceive that the first operating system has failed. Therefore, through the above technical solution, the effect that the front end is not aware of the fault is realized, and the reliability of the device is effectively improved.
上述步骤503至504是以该目标服务器接收故障信息并切换执行访问任务的操作系统为例进行说明。在一些实施例中,数据存储系统还包括转发节点,该转发节点能够用于接收故障信息并切换操作系统,从而实现访问任务的迁移。可选地,该转发节点是数据存储系统中的交换机。在这种示例下,该转发节点基于从存储设备接收到的故障信息,更新从目标服务器接收到的访问任务中操作系统的信息,以将该第一操作系统的访问任务转发至该存储设备的第二操作系统中执行。可选地,该转发节点能够通过例如连通测试等方式,感知存储设备的操作系统是否发生故障,从而及时且快速地切换操作系统。通过上述技术方案,以转发节点来感知操作系统的故障,并进行操作系统的切换,提升故障场景下操作系统切换的灵活性,从而高效地实现访问任务的迁移,有效提升设备的可靠性。The foregoing steps 503 to 504 are illustrated by taking the target server receiving the fault information and switching the operating system for executing the access task as an example. In some embodiments, the data storage system further includes a forwarding node, which can be used to receive fault information and switch operating systems, so as to implement migration of access tasks. Optionally, the forwarding node is a switch in the data storage system. In this example, based on the fault information received from the storage device, the forwarding node updates the operating system information in the access task received from the target server, so as to forward the access task of the first operating system to the storage device's Execute in the second operating system. Optionally, the forwarding node can detect whether the operating system of the storage device is faulty through, for example, a connectivity test, so as to switch the operating system in a timely and fast manner. Through the above technical solution, the forwarding node is used to sense the fault of the operating system and switch the operating system to improve the flexibility of operating system switching in the fault scenario, thereby efficiently realizing the migration of access tasks and effectively improving the reliability of the device.
在另一些实施例中,由该存储设备的网卡接收该第一操作系统返回的故障信息,基于该故障信息切换执行访问任务的操作系统。在这种示例下,该网卡接收到该故障信息时,在前端能够继续接收来自该目标服务器(或转发节点)的访问任务,以保持业务的连续性,并基于该故障信息,在后端切换转发该访问任务的接口,以将该访问任务转发至第二操作系统执行。通过上述技术方案,能够进一步保持业务的连续性,以提升设备的可靠性。In some other embodiments, the network card of the storage device receives the fault information returned by the first operating system, and switches the operating system that executes the access task based on the fault information. In this example, when the network card receives the fault information, the front-end can continue to receive access tasks from the target server (or forwarding node) to maintain business continuity, and based on the fault information, the back-end switch An interface for forwarding the access task, so as to forward the access task to the second operating system for execution. Through the above technical solution, service continuity can be further maintained, so as to improve the reliability of equipment.
505、该第二操作系统接收来自于该目标服务器的该访问任务,基于该访问任务,对存储单元进行读写。505. The second operating system receives the access task from the target server, and reads and writes the storage unit based on the access task.
本步骤参考步骤501至502,在此不作赘述。For this step, refer to steps 501 to 502, and details are not repeated here.
在一些实施例中,上述步骤503至步骤504所描述的操作系统切换过程,能够将故障导致的业务中断时间从2到10分钟,减少至到1到3秒,实现了秒级切换,从而在前端无法感知到故障发生的短时间内将故障排除,并能够保持业务的连续性,设备的可靠性显著提升。In some embodiments, the operating system switching process described in the above step 503 to step 504 can reduce the service interruption time caused by the fault from 2 to 10 minutes to 1 to 3 seconds, and realize the second-level switching. The front-end can eliminate the fault within a short period of time when the fault cannot be detected, and can maintain business continuity, significantly improving the reliability of the equipment.
通过上述技术方案,保证了数据存储系统的单个节点中多个操作系统之间的故障隔离,在设备发生故障的情况下,可以将访问任务迁移到互相隔离的其他操作系统中继续执行,而不会触发控制器复位,达到了前端对故障无感知的效果,大大提升了设备的可靠性。Through the above technical solution, the fault isolation between multiple operating systems in a single node of the data storage system is guaranteed. In the case of a device failure, the access task can be migrated to other isolated operating systems to continue execution without It will trigger the reset of the controller, achieving the effect that the front end is not aware of faults, and greatly improving the reliability of the equipment.
通过上述技术方案,第一操作系统能够通过故障信息的方式,及时地将访问任务中断的情况告知目标服务器,在数据链路层实现对操作系统的切换,从而实现访问任务的迁移,以前端无感知的方式保证了业务的连续性,有效提升了设备的可靠性。Through the above technical solution, the first operating system can timely inform the target server of the interruption of the access task through the fault information, and realize the switching of the operating system at the data link layer, thereby realizing the migration of the access task, and using the front-end without The sensing method ensures service continuity and effectively improves device reliability.
为了便于理解上述从第一操作系统切换至第二操作系统的过程,本申请实施例提供了一种操作系统切换过程的示意图,参见图6,其中,该目标服务器发送的访问任务A和访问任务B通过前端网卡610,分发至第一操作系统620和第二操作系统630中执行,第一操作系统620和第二操作系统630分别基于接收到的访问任务,通过后端网卡650对存储单元进行读写。在第一操作系统620发生故障的情况下,前端网卡610将访问任务A发送至第二操作系统630中执行。由第二操作系统630基于访问任务A以及访问任务B对存储单元进行读写。其中,该第一操作系统以及该第二操作系统中运行有管控进程和数据处理进程(参考步骤502中的描述)。In order to facilitate the understanding of the above-mentioned process of switching from the first operating system to the second operating system, the embodiment of the present application provides a schematic diagram of the switching process of the operating system, see FIG. 6, wherein the access task A and the access task A sent by the target server B is distributed to the first operating system 620 and the second operating system 630 for execution through the front-end network card 610, and the first operating system 620 and the second operating system 630 perform operations on the storage unit through the back-end network card 650 based on the received access tasks respectively. read and write. When the first operating system 620 fails, the front-end network card 610 sends the access task A to the second operating system 630 for execution. The storage unit is read and written by the second operating system 630 based on the access task A and the access task B. Wherein, the first operating system and the second operating system run a management process and a data processing process (refer to the description in step 502).
506、若该故障恢复,该第一操作系统向目标服务器发送第二接管请求,该第二接管请求指示接管已经迁移至该第二操作系统的该访问任务。506. If the fault recovers, the first operating system sends a second takeover request to the target server, where the second takeover request indicates to take over the access task that has been migrated to the second operating system.
在一些实施例中,该第二接管请求携带该第一操作系统的信息以及该第二操作系统的信息,以指示该目标服务器将该第一操作系统的访问任务重新发送给该第一操作系统执行。例如,该第二接管请求携带该第一操作系统的操作系统序列号以及该第二操作系统的操作系统 序列号。In some embodiments, the second takeover request carries the information of the first operating system and the information of the second operating system, so as to instruct the target server to resend the access task of the first operating system to the first operating system implement. For example, the second takeover request carries the operating system serial number of the first operating system and the operating system serial number of the second operating system serial number.
在一些实施例中,该第一操作系统进行故障排除的方式可以包括下述任意项:1、人工更换故障部件;2、故障域内复位重启;3、内存错误检查和纠正功能。可以理解地,第一操作系统的硬件资源组与其他操作系统的硬件资源组之间相互隔离,因此,第一操作系统在排除故障的过程中,仅在自身的故障域中进行,不会影响到其他操作系统的正常运行。例如,在第一操作系统的CPU内核发生故障的情况下,由于各个操作系统所占用的CPU内核不同,因此,对第一操作系统的故障CPU内核进行更换不会影响到其他操作系统的内核。又例如,第一操作系统的内存出现UCE,由于各个操作系统所占用的内存不同,因此,该第一操作系统在所占用的内存中,隔离UCE以进行故障排除的过程,并不会影响到其他操作系统正常使用其对应的内存。In some embodiments, the method for troubleshooting by the first operating system may include any of the following items: 1. Manual replacement of faulty components; 2. Resetting and restarting within the fault domain; 3. Memory error checking and correction functions. Understandably, the hardware resource group of the first operating system is isolated from the hardware resource groups of other operating systems. Therefore, the first operating system performs troubleshooting only in its own fault domain without affecting to normal operation of other operating systems. For example, when the CPU core of the first operating system fails, since the CPU cores occupied by each operating system are different, replacing the faulty CPU core of the first operating system will not affect the cores of other operating systems. For another example, UCE occurs in the memory of the first operating system. Since the memory occupied by each operating system is different, the process of isolating UCE in the memory occupied by the first operating system for troubleshooting will not affect the Other operating systems use their corresponding memory normally.
在一些实施例中,在排除故障之后,该第一操作系统向管理设备发送恢复消息。该管理设备在接收到该第一操作系统的恢复消息的情况下,确定该第一操作系统故障恢复,重新拉起该第一操作系统,也即是,重新将该操作系统设置为运行状态。在另一些实施例中,在排除故障之后,该第一操作系统通过从内存中读取持久化的配置信息,恢复至运行状态,并向管理设备发送恢复消息,以告知管理设备自身故障恢复。基于此,该第一操作系统在恢复至运行状态后,向该目标服务器发送第二接管请求。In some embodiments, after troubleshooting, the first operating system sends a recovery message to the management device. When the management device receives the restoration message of the first operating system, it determines that the first operating system has recovered from a failure, and restarts the first operating system, that is, resets the operating system to a running state. In some other embodiments, after troubleshooting, the first operating system restores to the running state by reading the persistent configuration information from the memory, and sends a recovery message to the management device to inform the management device of recovery from its own failure. Based on this, the first operating system sends a second takeover request to the target server after returning to the running state.
通过上述技术方案,保证了各个操作系统的故障互相隔离,使得第一操作系统进行故障排除的过程中,接管其访问任务的第二操作系统能够正常运行,设备的可靠性有效提升。Through the above technical solution, the faults of each operating system are guaranteed to be isolated from each other, so that the second operating system that takes over its access tasks can run normally during the troubleshooting process of the first operating system, and the reliability of the device is effectively improved.
507、该目标服务器响应于接收到该第二接管请求,将该第一操作系统的访问任务发送至该第一操作系统。507. The target server sends the access task of the first operating system to the first operating system in response to receiving the second takeover request.
本步骤参考步骤504,在此不作赘述。For this step, refer to step 504, which will not be repeated here.
508、该第一操作系统接收来自于该目标服务器的该访问任务,基于该访问任务,对存储单元进行读写。508. The first operating system receives the access task from the target server, and reads and writes the storage unit based on the access task.
本步骤参考步骤505,在此不作赘述。For this step, refer to step 505, which will not be repeated here.
通过上述技术方案,第一操作系统在故障排除之后,能够重新接管迁移至第二操作系统中执行的访问任务,以减轻第二操作系统的负载,保证存储设备中各个操作系统之间的负载均衡,进一步保障存储设备的可用性,有效提升了设备的可靠性。Through the above technical solution, after troubleshooting, the first operating system can take over the access tasks that are migrated to the second operating system to reduce the load on the second operating system and ensure the load balance among the operating systems in the storage device , to further guarantee the availability of the storage device, and effectively improve the reliability of the device.
通过上述技术方案,保证了数据存储系统的单个节点中多个操作系统之间的故障隔离,在设备发生故障的情况下,可以将访问任务迁移到互相隔离的其他操作系统中继续执行,而不会触发控制器复位,达到了前端对故障无感知的效果,大大提升了设备的可靠性。Through the above technical solution, the fault isolation between multiple operating systems in a single node of the data storage system is guaranteed. In the case of a device failure, the access task can be migrated to other isolated operating systems to continue execution without It will trigger the reset of the controller, achieving the effect that the front end is not aware of faults, and greatly improving the reliability of the equipment.
进一步地,通过上述技术方案,基于存储设备的硬件资源的不同部分,来分别运行多套相互隔离的操作系统,使得设备的故障域缩小到单个操作系统中,在保证各个操作系统之间故障隔离的同时,大大缩短了排除故障所需的时间,提升了故障排除的效率,从而有效提升设备的可靠性。Further, through the above technical solution, based on different parts of the hardware resources of the storage device, multiple sets of mutually isolated operating systems are run separately, so that the fault domain of the device is reduced to a single operating system, and the fault isolation between each operating system is ensured. At the same time, the time required for troubleshooting is greatly shortened, and the efficiency of troubleshooting is improved, thereby effectively improving the reliability of the equipment.
上述图5对应的实施例中,步骤503至步骤505的过程,是对发生故障的第一操作系统主动向目标服务器上报故障,由目标服务器切换执行访问任务的操作系统的切换方式进行说明。在一些实施例中,该多套操作系统之间通过定时发送心跳消息进行互相感知,进而在任一操作系统发生故障的情况下,其他操作系统能够主动发起接管,进行操作系统的切换,实 现访问任务的迁移,也即是,上述步骤503至步骤505能够被替换为下述步骤701至步骤704。图7是本申请实施例提供的一种存储方法的流程图,参见图7,该方法包括:In the above-mentioned embodiment corresponding to FIG. 5 , the process from step 503 to step 505 is to illustrate the switching mode in which the first operating system that has failed actively reports the failure to the target server, and the target server switches the operating system that executes the access task. In some embodiments, the multiple sets of operating systems are aware of each other by regularly sending heartbeat messages, and then when any operating system fails, other operating systems can take the initiative to initiate a takeover and switch the operating system to achieve The migration of the current access task, that is, the above steps 503 to 505 can be replaced by the following steps 701 to 704 . Fig. 7 is a flow chart of a storage method provided by the embodiment of the present application. Referring to Fig. 7, the method includes:
701、第二操作系统若在第一时长内未接收到第一操作系统的心跳消息,则确定该第一操作系统发生故障。701. If the second operating system does not receive a heartbeat message from the first operating system within a first period of time, determine that the first operating system is faulty.
在本申请实施例中,心跳消息是指发送方定时发送的消息,接收方接收到该心跳消息,则能够确定该发送方处于运行状态。In the embodiment of the present application, the heartbeat message refers to a message sent regularly by the sender, and the receiver can determine that the sender is in the running state after receiving the heartbeat message.
步骤701中,该第一操作系统与该第二操作系统之间,能够通过收发心跳消息,来互相感知对方是否处于运行状态。在一些实施例中,该管理设备也能够通过收发心跳消息,来确定各个操作系统的运行状态,从而能够在第二时长内未接收到该第一操作系统的心跳消息的情况下,确定该第一操作系统发生故障。In step 701, the first operating system and the second operating system can send and receive heartbeat messages to detect whether the other is running. In some embodiments, the management device can also determine the running status of each operating system by sending and receiving heartbeat messages, so that it can determine the operating status of the first operating system if no heartbeat message from the first operating system is received within the second An operating system malfunctions.
702、该第二操作系统在该第一操作系统发生故障的情况下,向目标服务器发送第一接管请求,该第一接管请求指示接管该第一操作系统的访问任务。702. When the first operating system fails, the second operating system sends a first takeover request to the target server, where the first takeover request indicates to take over the access task of the first operating system.
在一些实施例中,该第一接管请求携带该第一操作系统的信息以及第二操作系统的信息,以指示该目标服务器将该第一操作系统的访问任务发送给该第二操作系统执行。例如,该第一接管请求携带该第一操作系统的操作系统序列号以及第二操作系统的操作系统序列号。In some embodiments, the first takeover request carries information of the first operating system and information of the second operating system, so as to instruct the target server to send the access task of the first operating system to the second operating system for execution. For example, the first takeover request carries the operating system serial number of the first operating system and the operating system serial number of the second operating system.
在一些实施例中,该存储设备中设置有仲裁单元,在多个第二操作系统针对第一操作系统发起接管请求的情况下,该仲裁单元能够根据预设规则,从多个第二操作系统中确定接管的访问任务的目标第二操作系统。其中,根据预设规则确定目标第二操作系统的过程可以是:根据各个操作系统的硬件资源配置或当前运行情况,将资源配置最佳或运行情况最稳定的第二操作系统确定为目标第二操作系统,本申请实施例对预设规则不做限定。In some embodiments, the storage device is provided with an arbitration unit. When multiple second operating systems initiate a takeover request for the first operating system, the arbitration unit can, according to preset rules, select from multiple second operating systems Determine the target second operating system to take over the access task in. Wherein, the process of determining the target second operating system according to preset rules may be: according to the hardware resource configuration or the current operation status of each operating system, determine the second operating system with the best resource configuration or the most stable operation status as the target second operating system. For the operating system, the embodiment of this application does not limit the preset rules.
可以理解地,各个操作系统通过网卡与目标服务器进行通信,因此,能够在网卡转发各个操作系统的请求之前,通过仲裁单元来对各个操作系统的接管请求进行处理,以解决可能存在的冲突。基于此,通过仲裁单元选择合适的操作系统来接管访问任务,能够进一步保障设备的可靠性。It can be understood that each operating system communicates with the target server through the network card. Therefore, before the network card forwards the request of each operating system, the arbitration unit can process the takeover request of each operating system to resolve possible conflicts. Based on this, the arbitration unit selects an appropriate operating system to take over the access task, which can further guarantee the reliability of the device.
703、该目标服务器响应于接收到该第一接管请求,将该第一操作系统的访问任务发送至该第二操作系统。703. The target server sends the access task of the first operating system to the second operating system in response to receiving the first takeover request.
本步骤参考步骤504,在此不作赘述。For this step, refer to step 504, which will not be repeated here.
704、该第二操作系统接收并执行来自于该目标服务器的该访问任务。704. The second operating system receives and executes the access task from the target server.
本步骤参考步骤505,在此不作赘述。For this step, refer to step 505, which will not be repeated here.
在一些实施例中,该第一操作系统在排除故障之后,向其他操作系统以及管理设备发送心跳消息。该管理设备在重新接收到该第一操作系统的心跳消息的情况下,确定该第一操作系统故障恢复,重新拉起该第一操作系统,也即是,重新将该操作系统设置为运行状态。在另一些实施例中,在排除故障之后,该第一操作系统通过从内存中读取持久化的配置信息,恢复至运行状态,并向其他操作系统以及管理设备发送心跳消息,以告知接收方自身故障恢复。In some embodiments, the first operating system sends a heartbeat message to other operating systems and the management device after troubleshooting. When the management device receives the heartbeat message of the first operating system again, it determines that the first operating system has recovered from the failure, and restarts the first operating system, that is, re-sets the operating system to the running state . In other embodiments, after troubleshooting, the first operating system restores to the running state by reading the persistent configuration information from the memory, and sends a heartbeat message to other operating systems and management devices to inform the receiver Self-failure recovery.
通过上述技术方案,保证了数据存储系统的单个节点中多个操作系统之间的故障隔离,在设备发生故障的情况下,可以将访问任务迁移到互相隔离的其他操作系统中继续执行,而不会触发控制器复位,达到了前端对故障无感知的效果,大大提升了设备的可靠性。Through the above technical solution, the fault isolation between multiple operating systems in a single node of the data storage system is guaranteed. In the case of a device failure, the access task can be migrated to other isolated operating systems to continue execution without It will trigger the reset of the controller, achieving the effect that the front end is not aware of faults, and greatly improving the reliability of the equipment.
进一步地,通过上述技术方案,各个操作系统之间能够互相感知,从而在任一操作系统 发生故障的情况下,未发生故障的操作系统能够快速响应,主动发起接管请求,以灵活的方式保证业务的连续性,在有效提升设备的可靠性的同时,提升了设备的可用性。Further, through the above technical solution, each operating system can perceive each other, so that any operating system In the event of a failure, the non-faulty operating system can respond quickly and actively initiate a takeover request to ensure business continuity in a flexible manner, effectively improving the reliability of the device and improving the availability of the device.
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中的访问任务所涉及到的数据都是在充分授权的情况下获取的。It should be noted that the information (including but not limited to user equipment information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.) and signals involved in this application, All are authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data need to comply with the relevant laws, regulations and standards of the relevant countries and regions. For example, the data involved in the access tasks in this application are all obtained under full authorization.
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种所述示例的范围的情况下,第一操作系统可以被称为第二操作系统,并且类似地,第二操作系统可以被称为第一操作系统。第一操作系统和第二操作系统都可以是操作系统,并且在某些情况下,可以是单独且不同的操作系统。In this application, the terms "first" and "second" are used to distinguish the same or similar items with basically the same function and function. It should be understood that "first", "second" and "nth" There are no logical or timing dependencies, nor are there restrictions on quantity or order of execution. It should also be understood that although the following description uses the terms first, second, etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another. For example, a first operating system could be termed a second operating system, and, similarly, a second operating system could be termed a first operating system, without departing from the scope of the various described examples. Both the first operating system and the second operating system may be operating systems, and in some cases, separate and distinct operating systems.
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个操作系统是指两个或两个以上的操作系统。The meaning of the term "at least one" in this application refers to one or more, and the meaning of the term "multiple" in this application refers to two or more, for example, multiple operating systems refer to two or more operating system.
以上描述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。The above description is only the specific implementation of the application, but the scope of protection of the application is not limited thereto. Any person familiar with the technical field can easily think of various equivalent modifications within the technical scope disclosed in the application. Or replacement, these modifications or replacements should be covered within the protection scope of this application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以程序产品的形式实现。该程序产品包括一个或多个程序指令。在计算设备上加载和执行该程序指令时,全部或部分地产生按照本申请实施例中的流程或功能。In the above embodiments, all or part of them may be implemented by software, hardware, firmware or any combination thereof. When implemented using software, it may be implemented in whole or in part in the form of a program product. The program product includes one or more program instructions. When the program instructions are loaded and executed on the computing device, all or part of the processes or functions according to the embodiments of the present application will be generated.
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。Those of ordinary skill in the art can understand that all or part of the steps for implementing the above-mentioned embodiments can be completed by hardware, and can also be completed by instructing related hardware through a program. The program can be stored in a computer-readable storage medium. The above-mentioned The storage medium can be read-only memory, magnetic disk or optical disk and so on.
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。 As mentioned above, the above embodiments are only used to illustrate the technical solutions of the present application, and are not intended to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: it can still understand the foregoing The technical solutions described in each embodiment are modified, or some of the technical features are replaced equivalently; and these modifications or replacements do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the various embodiments of the application.

Claims (19)

  1. 一种存储设备,其特征在于,所述存储设备包括管理设备和硬件资源,所述硬件资源分为多个硬件资源组,每个所述硬件资源组上运行有一套操作系统;所述管理设备用于:A storage device, characterized in that the storage device includes a management device and hardware resources, the hardware resources are divided into multiple hardware resource groups, each of the hardware resource groups runs a set of operating systems; the management device Used for:
    当所述多个硬件资源组中的第一硬件资源组故障,将所述第一硬件资源组运行的第一操作系统执行的访问任务迁移到所述多个硬件资源组中的第二硬件资源组,由所述第二硬件资源组运行的第二操作系统执行所述访问任务。When a first hardware resource group in the multiple hardware resource groups fails, migrating an access task executed by the first operating system running on the first hardware resource group to a second hardware resource in the multiple hardware resource groups group, the second operating system run by the second hardware resource group executes the access task.
  2. 根据权利要求1所述的设备,其特征在于,所述第一硬件资源组和所述第二硬件资源组的规格相同。The device according to claim 1, wherein specifications of the first hardware resource group and the second hardware resource group are the same.
  3. 根据权利要求1或2所述的设备,其特征在于,所述管理设备还用于:监控所述多个硬件资源组的状态。The device according to claim 1 or 2, wherein the management device is further configured to: monitor the states of the multiple hardware resource groups.
  4. 根据权利要求1或2所述的设备,其特征在于,所述存储设备还包括网卡,所述网卡支持单根输入输出虚拟化SR-IOV功能,所述网卡的第一虚拟功能VF分配给所述第一硬件资源组,所述网卡的第二虚拟功能VF分配给所述第二硬件资源组。The device according to claim 1 or 2, wherein the storage device further includes a network card, the network card supports a single-root input-output virtualization SR-IOV function, and the first virtual function VF of the network card is allocated to the The first hardware resource group, the second virtual function VF of the network card is allocated to the second hardware resource group.
  5. 根据权利要求1所述的设备,其特征在于,所述管理设备还用于接收所述第一硬件资源组发送的故障信息;所述故障信息指示所述第一操作系统发生故障。The device according to claim 1, wherein the management device is further configured to receive fault information sent by the first hardware resource group; the fault information indicates that the first operating system is faulty.
  6. 根据权利要求1所述的设备,其特征在于,所述管理设备还用于接收所述第二操作系统发送的第一接管请求,所述第一接管请求用于接管所述第一操作系统执行的访问任务。The device according to claim 1, wherein the management device is further configured to receive a first takeover request sent by the second operating system, the first takeover request is used to take over execution of the first operating system access tasks.
  7. 根据权利要求6所述的设备,其特征在于,所述第二操作系统,用于若在第一时长内未接收到所述第一操作系统的心跳消息,则确定所述第一操作系统发生故障。The device according to claim 6, wherein the second operating system is configured to determine that a heartbeat message from the first operating system has occurred if no heartbeat message from the first operating system is received within a first duration Fault.
  8. 根据权利要求1所述的设备,其特征在于,所述管理设备还用于接收所述第一操作系统故障恢复后发送的第二接管请求,所述第二接管请求指示接管已经迁移至所述第二操作系统的所述访问任务。The device according to claim 1, wherein the management device is further configured to receive a second takeover request sent after the first operating system fails to recover, the second takeover request indicates that the takeover has been migrated to the Said access task for the second operating system.
  9. 一种存储方法,其特征在于,应用于存储设备中,所述存储设备包括管理设备和硬件资源,所述硬件资源分为多个硬件资源组,每个所述硬件资源组上运行有一套操作系统;所述方法包括:A storage method, characterized in that it is applied to a storage device, the storage device includes a management device and hardware resources, the hardware resources are divided into multiple hardware resource groups, each of the hardware resource groups runs a set of operations system; the method comprising:
    当所述多个硬件资源组中的第一硬件资源组故障,将所述第一硬件资源组运行的第一操作系统执行的访问任务迁移到所述多个硬件资源组中的第二硬件资源组,由所述第二硬件资源组运行的第二操作系统执行所述访问任务。When a first hardware resource group in the multiple hardware resource groups fails, migrating an access task executed by the first operating system running on the first hardware resource group to a second hardware resource in the multiple hardware resource groups group, the second operating system run by the second hardware resource group executes the access task.
  10. 根据权利要求9所述的方法,其特征在于,所述第一硬件资源组和所述第二硬件资源组的规格相同。The method according to claim 9, wherein the specifications of the first hardware resource group and the second hardware resource group are the same.
  11. 根据权利要求9或10所述的方法,其特征在于,所述方法还包括: The method according to claim 9 or 10, characterized in that the method further comprises:
    所述管理设备监控所述多个硬件资源组的状态。The management device monitors the states of the multiple hardware resource groups.
  12. 根据权利要求9或10所述的方法,其特征在于,所述存储设备还包括网卡,所述网卡支持单根输入输出虚拟化SR-IOV功能,所述网卡的第一虚拟功能VF分配给所述第一硬件资源组,所述网卡的第二虚拟功能VF分配给所述第二硬件资源组。The method according to claim 9 or 10, wherein the storage device further includes a network card, the network card supports a single-root input-output virtualization SR-IOV function, and the first virtual function VF of the network card is allocated to the The first hardware resource group, the second virtual function VF of the network card is allocated to the second hardware resource group.
  13. 根据权利要求9所述的方法,其特征在于,所述方法还包括:The method according to claim 9, characterized in that the method further comprises:
    所述管理设备接收所述第一硬件资源组发送的故障信息;所述故障信息指示所述第一操作系统发生故障。The management device receives the fault information sent by the first hardware resource group; the fault information indicates that the first operating system is faulty.
  14. 根据权利要求9所述的方法,其特征在于,所述方法还包括:The method according to claim 9, characterized in that the method further comprises:
    所述管理设备接收所述第二操作系统发送的第一接管请求,所述第一接管请求用于接管所述第一操作系统执行的访问任务。The management device receives a first takeover request sent by the second operating system, where the first takeover request is used to take over the access task executed by the first operating system.
  15. 根据权利要求14所述的方法,其特征在于,所述方法还包括:The method according to claim 14, characterized in that the method further comprises:
    所述第二操作系统若在第一时长内未接收到所述第一操作系统的心跳消息,则确定所述第一操作系统发生故障。If the second operating system does not receive a heartbeat message from the first operating system within a first time period, it is determined that the first operating system is faulty.
  16. 根据权利要求9所述的方法,其特征在于,所述方法还包括:The method according to claim 9, characterized in that the method further comprises:
    所述管理设备接收所述第一操作系统故障恢复后发送的第二接管请求,所述第二接管请求指示接管已经迁移至所述第二操作系统的所述访问任务。The management device receives a second takeover request sent after the first operating system recovers from a failure, and the second takeover request indicates to take over the access task that has been migrated to the second operating system.
  17. 一种计算设备,其特征在于,所述计算设备包括管理设备和硬件资源,所述硬件资源包括多个硬件资源组,所述硬件资源包括处理器和存储器,所述存储器用于存储所述管理设备和每个所述硬件资源组对应的至少一段程序代码,所述至少一段程序代码由所述处理器加载并执行如权利要求9至权利要求16中任一项所述的存储方法。A computing device, characterized in that the computing device includes a management device and hardware resources, the hardware resources include a plurality of hardware resource groups, the hardware resources include a processor and a memory, and the memory is used to store the management At least one piece of program code corresponding to the device and each of the hardware resource groups, the at least one piece of program code is loaded by the processor and executes the storage method according to any one of claims 9 to 16.
  18. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储至少一段程序代码,所述至少一段程序代码用于执行如权利要求9至权利要求16中任一项所述的存储方法。A computer-readable storage medium, characterized in that the computer-readable storage medium is used to store at least one piece of program code, and the at least one piece of program code is used to execute any one of claims 9 to 16. storage method.
  19. 一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求9至权利要求16中任一项所述的存储方法。 A computer program product, characterized in that, when the computer program product is run on a computer, the computer is made to execute the storage method according to any one of claims 9 to 16.
PCT/CN2023/074779 2022-02-24 2023-02-07 Storage device, storage method, computing device, and storage medium WO2023160378A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210184105.1A CN116700594A (en) 2022-02-24 2022-02-24 Storage device, storage method, computing device, and storage medium
CN202210184105.1 2022-02-24

Publications (1)

Publication Number Publication Date
WO2023160378A1 true WO2023160378A1 (en) 2023-08-31

Family

ID=87764820

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/074779 WO2023160378A1 (en) 2022-02-24 2023-02-07 Storage device, storage method, computing device, and storage medium

Country Status (2)

Country Link
CN (1) CN116700594A (en)
WO (1) WO2023160378A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850787A (en) * 2015-02-11 2015-08-19 数据通信科学技术研究所 Mobile terminal operation system based on high-assurance kernel module and realization method of mobile terminal operation system
US20170046236A1 (en) * 2015-08-11 2017-02-16 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Repairing a hardware component of a computing system while workload continues to execute on the computing system
CN109478050A (en) * 2016-07-19 2019-03-15 Abb瑞士股份有限公司 Programmable logic controller (PLC) with management system
CN112445609A (en) * 2019-09-05 2021-03-05 辉达公司 Techniques for configuring a processor to function as multiple independent processors

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850787A (en) * 2015-02-11 2015-08-19 数据通信科学技术研究所 Mobile terminal operation system based on high-assurance kernel module and realization method of mobile terminal operation system
US20170046236A1 (en) * 2015-08-11 2017-02-16 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Repairing a hardware component of a computing system while workload continues to execute on the computing system
CN109478050A (en) * 2016-07-19 2019-03-15 Abb瑞士股份有限公司 Programmable logic controller (PLC) with management system
CN112445609A (en) * 2019-09-05 2021-03-05 辉达公司 Techniques for configuring a processor to function as multiple independent processors
US20210073025A1 (en) * 2019-09-05 2021-03-11 Nvidia Corporation Techniques for configuring a processor to function as multiple, separate processors

Also Published As

Publication number Publication date
CN116700594A (en) 2023-09-05

Similar Documents

Publication Publication Date Title
JP5074274B2 (en) Computer system and communication path monitoring method
EP2951963B1 (en) Failover in response to failure of a port
US11194679B2 (en) Method and apparatus for redundancy in active-active cluster system
US9619311B2 (en) Error identification and handling in storage area networks
US7930511B2 (en) Method and apparatus for management between virtualized machines and virtualized storage systems
US8443232B1 (en) Automatic clusterwide fail-back
US8041987B2 (en) Dynamic physical and virtual multipath I/O
US9298566B2 (en) Automatic cluster-based failover handling
US11226753B2 (en) Adaptive namespaces for multipath redundancy in cluster based computing systems
US20100115329A1 (en) Storage Device, and Data path Failover Method of Internal Network of Storage Controller
US8707085B2 (en) High availability data storage systems and methods
EP2518627B1 (en) Partial fault processing method in computer system
US20190334990A1 (en) Distributed State Machine for High Availability of Non-Volatile Memory in Cluster Based Computing Systems
CN111147274B (en) System and method for creating a highly available arbitration set for a cluster solution
US10884878B2 (en) Managing a pool of virtual functions
CN108512753A (en) The method and device that message is transmitted in a kind of cluster file system
WO2023160378A1 (en) Storage device, storage method, computing device, and storage medium
JP6134720B2 (en) Connection method
CN112491570A (en) Method, device and storage medium for setting link state of virtual network card
US11755438B2 (en) Automatic failover of a software-defined storage controller to handle input-output operations to and from an assigned namespace on a non-volatile memory device
TWI756007B (en) Method and apparatus for performing high availability management of all flash array server
AU2021266891B2 (en) Fencing non-responding ports in a network fabric
US11093301B2 (en) Input output adapter error recovery concurrent diagnostics
US9143410B1 (en) Techniques for monitoring guest domains configured with alternate I/O domains
US11809268B1 (en) Discovering host-switch link and ISL issues from the storage array

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23759003

Country of ref document: EP

Kind code of ref document: A1