Management Method, Device, Equipment and Storage Medium for Storing Cluster Devices
By dividing the discovery domains in the storage cluster system and controlling request conflicts, the problems of low efficiency of external device discovery and the impact of failure are solved, and efficient and precise device management is achieved.
Patent Information
- Application Number
- CN202210910700.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-29
- Publication Date
- 2025-07-04
- Estimated Expiration
- 2042-07-29
AI Technical Summary
The existing storage cluster system lacks reasonable process distinction and isolation in external device discovery management, resulting in inefficient discovery, incorrect concurrent processing affects other devices, and the addition of new device types increases architectural complexity.
Different discovery domains are divided according to the preset properties of external devices, storage cluster management paths are generated, conflicts of multiple discovery requests are identified and controlled, and device type-specific update steps are performed when conditions are met.
It realizes efficient concurrent discovery and fault isolation, improves device feature matching and discovery tasks, and reduces the complexity of new device types to the system.
Smart Images

Figure CN115454329B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of device management, and in particular, to a management method, device, computer device, and storage medium for storage cluster devices. Background Art
[0002] In a storage cluster system, a large number of chassis (hard disk clusters, solid-state disk clusters, Ethernet-connected solid-state disk clusters), different types of disks, and heterogeneous virtualization devices are managed, and the hot-plug function is supported. Thus, the storage cluster needs to process a large number of requests for external device access. In previous solutions, there was no reasonable process differentiation and isolation for the discovery of external devices, resulting in low discovery efficiency due to an overly large discovery action scope or improper concurrent processing. Moreover, when a failure occurs in the discovery of a certain link or a certain type of external device, it will affect the discovery of other devices that have nothing to do with it. For different types of devices, their discovery and update step methods are different. Previous solutions did not have clear designs and customizations, which is somewhat unreasonable. Moreover, when a new device type is added, the complexity of the architecture will gradually increase, making it easy to introduce problems. Summary of the Invention
[0003] Based on this, in view of the above technical problems, it is necessary to provide a management method, device, computer device, and storage medium for storage cluster devices that can improve the robustness of discovery and update.
[0004] On the one hand, a management method for storage cluster devices is provided. The method includes:
[0005] Step A: Divide different discovery domains according to the preset attributes of external devices, and generate a storage cluster management path;
[0006] Step B: Based on the storage cluster management path, simultaneously identify the types of multiple discovery requests, and control the conflicts between the multiple discovery requests;
[0007] Step C: When the preset condition for initiating a new discovery is met after control, update the discovered device objects according to different discovery and update steps corresponding to different device types, so as to realize the management of external devices of the storage cluster.
[0008] In one embodiment, it further includes: dividing different discovery domains according to the preset attributes of external devices, and generating a storage cluster management path, including: dividing different discovery domains according to different link categories, different protocol types, and different device categories of the external devices. Specifically: ID: 0, name: FC domain, used for fc link storage virtualization discovery; ID: 1 - 4, name: SAS domain, used for chassis sas link disks and jbod discovery; ID: 6, name: ISCSI domain, used for Ethernet iscsi heterogeneous storage discovery; ID: 7 - 10, name: NVME domain, used for pcie link nvme disks and jbof in each chassis discovery; ID: 11 - 14, name: RDMA NVME domain, used for roce v2 link rdma nvme disks and ebof in each chassis discovery; generating the storage cluster management path based on the discovery domains, and deploying the storage cluster management path on one or more storage nodes.
[0009] In one embodiment, it further includes: the types of multiple discovery requests simultaneously identified based on the storage cluster management path include: the storage cluster management path identifies the types of the discovery requests through parameter acquisition, instruction interaction, and feature comparison. The types include: initiated by the internal logic of the management path, triggered by business path events. Among them, the requests triggered by the internal logic of the management path include at least one of the following: cluster node change, specific device object management error, specific feature implementation requirement. The requests triggered by business path events include at least one of the following: new external device access discovered on the hardware link, specific input / output error and timeout error occurred on the business path.
[0010] In one embodiment, it further includes: controlling the conflicts between the multiple discovery requests includes: detecting whether there are valid business nodes in the storage cluster and whether the status of the business nodes is normal; if there are valid business nodes and their status is normal, and there is no ongoing discovery action or the new discovery request is earlier than the ongoing discovery stage, that is, the condition for initiating a new discovery is met; when the condition for initiating a new discovery is met, notify each business path to perform condition detection and discovery preparation for the business path, and give feedback after the business path execution is completed.
[0011] In one embodiment, it further includes: controlling the discovery phase through discovery status. The discovery status includes a to-be-processed status, an active status, an update status, and an inactive status. Among them, the active status is used to control the actual discovery action, and the update status is used to update and report the device objects discovered by the service path. Specifically: after entering the active status, the management path starts a discovery timeout timer, notifies each service path to simultaneously discover all new devices on the associated hardware link. When the discovery times out, it delays and directly jumps to the active status for retry; after the status is updated to the update status, the cluster side sets an update timeout timer, and starts to notify the service path to complete each update and reporting step from the first phase registered in the discovery domain. When the update status times out, it delays and directly jumps to the update status during error handling and retries from the failed phase; after the status is updated to the inactive status, if specific external devices have been identified on the management path, it notifies each service path to perform initialization actions on the discovered external devices, and for the updated discovery of existing external devices, it notifies the service path to process the input and output of the blocked services.
[0012] In one embodiment, it further includes: the update of the discovered device object based on different discovery and update steps corresponding to different device types includes the update steps for disks and chassis, and the update steps for heterogeneous virtualization. Specifically: the update steps for disks and chassis: reporting of newly discovered disks and chassis, reporting of newly discovered ports, reporting of updated port attributes, reporting of updated disk attributes; the update steps for heterogeneous virtualization: reporting of newly discovered heterogeneous devices and reporting of updated device attributes, reporting of newly discovered ports, reporting of updated port attributes, reporting of newly discovered volumes and reporting of updated volume attributes, reporting of newly discovered port active antenna system path information or active antenna system path update information, service port selection, generation of heterogeneous virtualization device relationship diagram.
[0013] In one embodiment, it further includes: The updating of the discovered device object based on the different discovery update steps corresponding to different device types further includes: Based on the different registered stages of different device types, defining the following 6-stage process for the discovery domain control: Initial stage: There is no actual update action, only clearing the interaction events of the management path and service path that were not completed due to abnormal cluster nodes last time; After waiting for all service paths to complete the previous step, enter the creation stage: Notify all service paths to associate the newly discovered disks with the internal logic of the service path, and notify all service paths to report the newly generated disk objects; After waiting for all service paths to complete the previous step, enter the target creation stage: Notify all service paths to associate the newly discovered disk ports with the internal logic of the service path, and notify all service paths to report the newly generated disk port objects; After waiting for all service paths to complete the previous step, enter the target update stage: Compare the attributes of the newly discovered disk ports with the existing port attributes of the service path, and if there are changes, perform the target update action, update the internal logic of the service path related to the port, and report the updated port attributes to the management path; After waiting for all service paths to complete the previous step, enter the update stage: Compare the attributes of the newly discovered disks with the existing disk attributes of the service path, and if there are changes, perform the update action, update the internal logic of the service path related to the disk, and report the updated disk attributes to the management path; After waiting for all service paths to complete the previous step, enter the completion stage. There is no actual update action in the completion stage, only doing the finishing work of the update.
[0014] On the other hand, a management device for storage cluster devices is provided. The device includes:
[0015] A management path generation module, configured to divide different discovery domains according to the preset attributes of external devices and generate a storage cluster management path;
[0016] An identification and control module, configured to simultaneously identify the types of multiple discovery requests based on the storage cluster management path and control the conflicts between the multiple discovery requests;
[0017] An update module, configured to, when the preset condition for initiating a new discovery is met after control, perform an update based on different discovery update steps corresponding to different device types to implement the management of external devices of the storage cluster.
[0018] In still another aspect, a computer device is provided, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the computer program, the following steps are implemented:
[0019] Step A: Divide different discovery domains according to the preset attributes of external devices and generate a storage cluster management path;
[0020] Step B: Based on the storage cluster management path, simultaneously identify the types of multiple discovery requests, and control the conflicts between the multiple discovery requests;
[0021] Step C: When the preset condition for initiating a new discovery is met after control, update the discovered device object based on different discovery update steps corresponding to different device types, so as to manage the external devices of the storage cluster.
[0022] In another aspect, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:
[0023] Step A: Divide different discovery domains according to the preset attributes of external devices, and generate a storage cluster management path;
[0024] Step B: Based on the storage cluster management path, simultaneously identify the types of multiple discovery requests, and control the conflicts between the multiple discovery requests;
[0025] Step C: When the preset condition for initiating a new discovery is met after control, update the discovered device object based on different discovery update steps corresponding to different device types, so as to manage the external devices of the storage cluster.
[0026] For the above management method, device, equipment and storage medium for storage cluster devices, the method includes: dividing different discovery domains according to the preset attributes of external devices, and generating a storage cluster management path; based on the storage cluster management path, simultaneously identifying the types of multiple discovery requests, and controlling the conflicts between the multiple discovery requests; when the preset condition for initiating a new discovery is met after control, updating the discovered device object based on different discovery update steps corresponding to different device types, so as to manage the external devices of the storage cluster. In this application, different discovery domains are divided according to different link categories and different device categories, which can achieve efficient concurrent discovery, realize fault isolation and improve robustness, and will not affect other discovery domains. By developing different discovery update steps for different device types such as disks and heterogeneous virtualization based on the overall process of the active state and update state of the discovery function, the matching degree with device characteristics is improved. Through the dynamic management of discovery nodes, the accuracy of discovery task execution is improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] Figure 1 It is an application environment diagram of the management method for storage cluster devices in an embodiment;
[0028] Figure 2 It is a flowchart of the management method for storage cluster devices in an embodiment;
[0029] Figure 3Schematic diagram of the update phase process of the management method for storage cluster devices in an embodiment
[0030] Figure 4 Block diagram of the structure of the management device for storage cluster devices in an embodiment;
[0031] Figure 5 Internal structure diagram of a computer device in an embodiment. Detailed implementation manners
[0032] In order to make the objectives, technical solutions and advantages of the present application clearer and more understandable, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0033] The management method for storage cluster devices provided by the present application can be applied to an application environment as shown in Figure 1 wherein, the terminal 102 communicates with the server 104 through a network. The data processing center communicates with external devices on the server 104 through the terminal 102 through a network. Among them, the terminal 102 can be, but is not limited to, various personal computers, laptop computers, smart phones, tablet computers and portable wearable devices, and the server 104 can be implemented by an independent server or a server cluster composed of multiple servers.
[0034] Embodiment 1
[0035] In one embodiment, as shown in Figures 2 - 3 a management method for storage cluster devices is provided. Taking the case where this method is applied to the terminal in Figure 1 as an example, the method includes the following steps:
[0036] S1: Divide different discovery domains according to the preset attributes of external devices, and generate a storage cluster management path.
[0037] It should be noted that different discovery domains are divided according to different link categories, different protocol types, and different device categories of the external devices. Specifically:
[0038] ID: 0, Name: FC domain, used for fc link storage virtualization discovery;
[0039] ID: 1-4, Name: SAS domain, used for chassis sas link disks and jbod discovery;
[0040] ID: 6, Name: ISCSI domain, used for Ethernet iscsi heterogeneous storage discovery;
[0041] ID: 7 - 10, Name: NVME Domain, used for PCIe link NVME disks and JBOF discovery for each chassis;
[0042] ID: 11 - 14, Name: RDMA NVME Domain, used for RoCE v2 link RDMA NVME disks and EBOF discovery for each chassis;
[0043] Generate the storage cluster management path based on the discovery domain, and deploy the storage cluster management path on one or more storage nodes.
[0044] Among them, a storage cluster refers to aggregating the storage spaces in multiple storage devices into a storage pool that can provide a unified access interface and management interface for application servers.
[0045] By dividing different discovery domains according to different links, interface protocols, and device categories, when external devices are powered on and hot - inserted simultaneously, all discovery domains can perform discovery actions simultaneously, and there is no coupling and dependence on software logic, software resources, and hardware channels; within each domain, batch discovery is performed on the same category of devices to be discovered. The above two mechanisms achieve efficient concurrent discovery, limit the discovery of external devices with different link types, protocol types, and device types to different domains, avoid the mutual influence of different external devices due to differences in links, protocols, or device discovery steps, and achieve fault isolation when a certain discovery domain fails, without affecting other discovery domains.
[0046] S2: Based on the storage cluster management path, simultaneously identify the types of multiple discovery requests, and control the conflicts between the multiple discovery requests.
[0047] It should be noted that simultaneously identifying the types of multiple discovery requests based on the storage cluster management path includes:
[0048] The storage cluster management path identifies the types of the discovery requests through parameter acquisition, instruction interaction, and feature comparison. The types include: initiated by the internal logic of the management path, triggered by business path events. Among them, the requests triggered by the internal logic of the management path include at least one of the following: changes in cluster nodes, management errors of specific device objects, specific feature implementation requirements (formatting features, etc.), and the requests triggered by business path events include at least one of the following: discovery of newly connected external devices on the hardware link, occurrence of specific I / O (input / output) errors and timeout errors on the business path.
[0049] Furthermore, controlling the conflicts between the multiple discovery requests includes:
[0050] Detect whether there are valid business nodes in the storage cluster and whether the status of the business nodes is normal;
[0051] If there is a valid service node and its status is normal, and there is no ongoing discovery action or the new discovery request is earlier than the ongoing discovery phase, the condition for initiating a new discovery is met;
[0052] When the condition for initiating a new discovery is met, notify each service path to perform condition detection and discovery preparation for the service path, and after the service path finishes execution, give feedback.
[0053] Among them, the discovery phase is controlled by the discovery status, including PENDING (pending status), ACTIVE (active status), UPDATE (update status), and INACTIVE (inactive status). Among them, ACTIVE is used to control the actual discovery action, and UPDATE is used to update and report the device objects discovered by the service path. Specifically:
[0054] After entering the ACTIVE state, the management path starts a discovery timeout timer, notifies each service path to perform discovery on all new devices on the associated hardware link simultaneously. The discovery process includes instruction interaction, feature comparison, parameter acquisition, etc. When the discovery times out, delay and directly jump to the ACTIVE state to retry;
[0055] After the status is updated to UPDATE, the cluster end sets an update timeout timer, and starts to notify the service path to complete each update and reporting step from the first phase registered in the discovery domain. When the UPDATE times out, delay directly in the error handling and jump to the UPDATE state, and retry from the failed phase;
[0056] After the status is updated to INACTIVE, if specific external devices (disks, easy-to-purchase storage, chassis, etc.) have been identified on the management path, notify each service path to perform initialization actions on the discovered external devices. For the updated discovery of existing external devices, notify the service path to handle the blocked service I / O.
[0057] S3: When the preset condition for initiating a new discovery is met after control, update the discovered device objects based on the different discovery and update steps corresponding to different device types to realize the management of the external devices of the storage cluster.
[0058] It should be noted that when a new discovery request occurs and the preset conditions for initiating a new discovery are met after control, a request is directed to the valid local ports of the discovery node bitmap nodes. That is, when discovering, requests are sent according to the dynamically maintained discovery node bitmap, rather than sending requests to all nodes within the discovery domain. The implementation method is to monitor the changes of each local port (the initiating end of the protocol) of each service path and the changes of the nodes in the storage cluster that are online and in normal state. After changes occur, the intersection of the nodes with connection ports and the nodes in normal state in the cluster is calculated as the discovery node bitmap. When a new discovery request occurs, a request is directed to the valid local ports of the discovery node bitmap nodes.
[0059] Furthermore, updating the discovered device objects based on different discovery update steps corresponding to different device types includes the update steps for disks and chassis, and the update steps for heterogeneous virtualization. Specifically:
[0060] The update steps for disks and chassis: reporting of newly discovered disks and chassis, reporting of newly discovered ports, reporting of port update attributes, reporting of disk update attributes;
[0061] The update steps for heterogeneous virtualization: reporting of newly discovered heterogeneous devices and reporting of device attribute updates, reporting of newly discovered ports, reporting of port update attributes, reporting of newly discovered volumes and reporting of volume update attributes, reporting of newly discovered port AAS (active antenna system) path information or AAS path update information, selection of service ports, generation of heterogeneous virtualization device relationship diagrams.
[0062] Even further, based on the different stages registered for different device types, the following 6-stage processes are defined for the discovery domain control, as Figure 3 shown:
[0063] Initial stage: There are no actual update actions, only clearing the interaction events of the management paths and service paths that were not completed due to abnormal cluster node reasons last time;
[0064] After waiting for all service paths to complete the previous step, enter the creation stage. This step is used to report the disk objects discovered for the first time: First, notify all service paths to associate the newly discovered disks with the internal logic of the service paths, and then notify all service paths to report the newly generated disk objects;
[0065] After waiting for all service paths to complete the previous step, enter the target creation stage. This step is used to report the port objects newly discovered for dual-port disks: First, notify all service paths to associate the newly discovered disk ports (identifying an io path of a disk) with the internal logic of the service paths, and then notify all service paths to report the newly generated disk port objects;
[0066] After waiting for all service paths to complete the previous step, enter the target update phase. This step is used to report the update information of the dual-port disk ports, such as changes in disk port rates, etc.: Compare the newly discovered disk port attributes with the existing port attributes of the service paths. If there are changes, perform the target update action. First, update the internal logic of the service paths related to the ports, and then report the updated port attributes to the management path;
[0067] After waiting for all service paths to complete the previous step, enter the update phase. This step is used to report the update information of the disk objects, such as changes in configuration information such as newly added disk ports, the number of disk namespaces, and the size of blocks (the smallest storage and processing unit in the database): Compare the newly discovered disk attributes with the existing disk attributes of the service paths. If there are changes, perform the update action. First, update the internal logic of the service paths related to the disks, and then report the updated disk attributes to the management path;
[0068] After waiting for all service paths to complete the previous step, enter the completion phase. The completion phase has no actual update actions and only does the final work of the update.
[0069] This step realizes the overall processes of ACTIVE and UPDATE of the discovery function. Different discovery and update steps are developed for different device types. When a new device type is added, only new discovery and update steps need to be added.
[0070] In the above management method for storage cluster devices, the method includes: dividing different discovery domains according to the preset attributes of external devices, and generating a storage cluster management path; simultaneously identifying the types of multiple discovery requests based on the storage cluster management path, and controlling the conflicts between the multiple discovery requests; when the preset condition for initiating a new discovery is met after control, updating the discovered device objects based on different discovery and update steps corresponding to different device types to realize the management of external devices of the storage cluster. In this application, different discovery domains are divided for different link categories and different device categories, which can perform discovery efficiently and concurrently, achieve fault isolation and improve robustness, and will not affect other discovery domains. By the overall processes of ACTIVE and UPDATE of the discovery function and developing different discovery and update steps for different device types such as disks and heterogeneous virtualization, the matching degree with device characteristics is improved. Through the dynamic management of discovery nodes, the accuracy of discovery task execution is improved. When a new device type is connected, by adding support on a unified framework, the development efficiency is improved and the complexity of supporting multiple devices is reduced.
[0071] It should be understood that although Figures 2 - 3The steps in the flowchart are shown in sequence according to the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise clearly stated in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figures 2 - 3 At least a part of the steps may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed alternately or in turn with at least a part of other steps or sub-steps or stages of other steps.
[0072] Embodiment 2
[0073] In one embodiment, as Figure 4 shown, a management device for a storage cluster device is provided, including: a management path generation module, an identification and control module, and an update module, where:
[0074] The management path generation module is used to divide different discovery domains according to the preset attributes of external devices and generate a storage cluster management path;
[0075] The identification and control module is used to simultaneously identify the types of multiple discovery requests based on the storage cluster management path and control the conflicts between the multiple discovery requests;
[0076] The update module is used to, when the preset condition for initiating a new discovery is met after control, perform an update based on different discovery update steps corresponding to different device types to implement the management of external devices of the storage cluster.
[0077] As a preferred implementation manner, in the embodiment of the present invention, the management path generation module is specifically used for:
[0078] Dividing different discovery domains according to different link categories, different protocol types, and different device categories of the external devices, specifically:
[0079] ID: 0, Name: FC domain, for fc link storage virtualization discovery;
[0080] ID: 1 - 4, Name: SAS domain, for chassis sas link disks and jbod discovery;
[0081] ID: 6, Name: ISCSI domain, for Ethernet iscsi heterogeneous storage discovery;
[0082] ID: 7 - 10, Name: NVME domain, for pcie link nvme disks and jbof in each chassis discovery;
[0083] ID: 11 - 14, Name: RDMA NVME Domain, for roce v2 links rdma nvme disks and ebof discovery per chassis;
[0084] Generate the storage cluster management path based on the discovery domain, and deploy the storage cluster management path on one or more storage nodes.
[0085] As a preferred implementation manner, in the embodiments of the present invention, the identification and control module is specifically configured to:
[0086] The storage cluster management path identifies the type of the discovery request through parameter acquisition, instruction interaction, and feature comparison. The types include: initiated by the internal logic of the management path, triggered by business path events. Among them, the requests triggered by the internal logic of the management path include at least one of the following: cluster node change, specific device object management error, specific feature implementation requirement. The requests triggered by business path events include at least one of the following: new external device access found on the hardware link, specific IO error and timeout error occurred on the business path.
[0087] As a preferred implementation manner, in the embodiments of the present invention, the identification and control module is specifically further configured to:
[0088] Detect whether there are valid business nodes in the storage cluster and whether the status of the business nodes is normal;
[0089] If there are valid business nodes and their status is normal, and there is no ongoing discovery action or the new discovery request is earlier than the ongoing discovery stage, that is, the condition for initiating a new discovery is met;
[0090] When the condition for initiating a new discovery is met, notify each business path to perform condition detection and discovery preparation for the business path, and give feedback after the business path is executed.
[0091] As a preferred implementation manner, in the embodiments of the present invention, the identification and control module is specifically further configured to: control the discovery stage through the discovery status, including PENDING, ACTIVE, UPDATE, and INACTIVE, where ACTIVE is used to control the actual discovery action, and UPDATE is used to update and report the device objects discovered by the business path. Specifically:
[0092] After entering the ACTIVE state, the management path starts a discovery timeout timer, notifies each business path to simultaneously discover all new devices on the associated hardware link. When the discovery times out, delay and directly jump to the ACTIVE state for retry;
[0093] After the status is updated to UPDATE, the cluster side sets an update timeout timer, and notifies the service path to complete each update and reporting step from the first stage of discovery domain registration. When the UPDATE times out, in the error handling, it directly jumps to the UPDATE state after a delay and retries from the failed stage;
[0094] After the status is updated to INACTIVE, if a specific external device has been identified on the management path, each service path is notified to perform an initialization action on the discovered external device. For the updated discovery of an existing external device, the service path is notified to handle the blocked service I / O.
[0095] As a preferred implementation manner, in the embodiment of the present invention, the update module is specifically used for: updating the discovered device object based on different discovery update steps corresponding to different device types, including the update steps of disks and chassis, and the update steps of heterogeneous virtualization. Specifically:
[0096] The update steps of the disks and chassis: reporting of newly discovered disks and chassis, reporting of newly discovered ports, reporting of port updated attributes, reporting of disk updated attributes;
[0097] The update steps of the heterogeneous virtualization: reporting of newly discovered heterogeneous devices and reporting of device attribute updates, reporting of newly discovered ports, reporting of port updated attributes, reporting of newly discovered volumes and reporting of volume updated attributes, reporting of newly discovered port AAS path information or AAS path update information, selection of service ports, generation of a heterogeneous virtualization device relationship diagram.
[0098] As a preferred implementation manner, in the embodiment of the present invention, the update module is specifically further used for:
[0099] Based on the different stages registered for different device types, define the following 6-stage process for the discovery domain control:
[0100] Initial stage: There is no actual update action, only clear the interaction events of the uncompleted management path and service path caused by the abnormal reason of the cluster node last time;
[0101] After waiting for all service paths to complete the previous step, enter the creation stage: Notify all service paths to associate the newly discovered disks with the internal logic of the service path, and notify all service paths to report the newly generated disk objects;
[0102] After waiting for all service paths to complete the previous step, enter the target creation stage: Notify all service paths to associate the newly discovered disk ports with the internal logic of the service path, and notify all service paths to report the newly generated disk port objects;
[0103] After waiting for all service paths to complete the previous step, enter the target update phase: compare the newly discovered disk port attributes with the existing port attributes of the service paths. If there are changes, perform the target update action, update the internal logic of the service paths related to the ports, and report the updated port attributes to the management path;
[0104] After waiting for all service paths to complete the previous step, enter the update phase: compare the newly discovered disk attributes with the existing disk attributes of the service paths. If there are changes, perform the update action, update the internal logic of the service paths related to the disks, and report the updated disk attributes to the management path;
[0105] After waiting for all service paths to complete the previous step, enter the completion phase. There is no actual update action in the completion phase, and only the follow-up work of the update is done.
[0106] For the specific limitations of the management device for storage cluster devices, reference can be made to the limitations of the management method for storage cluster devices in the above text, which will not be elaborated here. Each module in the above management device for storage cluster devices can be implemented in whole or in part by software, hardware, and their combination. The above modules can be embedded in the processor of the computer device in hardware form or independent of it, or stored in the memory of the computer device in software form, so that the processor can call and execute the operations corresponding to the above modules.
[0107] Embodiment 3
[0108] In one embodiment, a computer device is provided. The computer device can be a terminal, and its internal structure diagram can be as Figure 5 shown. The computer device includes a processor, a memory, a network interface, a display screen, and an input device connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, it implements a management method for storage cluster devices. The display screen of the computer device can be a liquid crystal display screen or an electronic ink display screen. The input device of the computer device can be a touch layer covered on the display screen, or a button, a trackball, or a touchpad set on the shell of the computer device, or an external keyboard, a touchpad, or a mouse, etc.
[0109] Those skilled in the art can understand, Figure 5The structure shown is only a block diagram of some structures related to the solution of this application, and does not constitute a limitation on the computer device to which the solution of this application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine some components, or have a different component layout.
[0110] In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the following steps are implemented:
[0111] Step A: Divide different discovery domains according to the preset attributes of external devices, and generate a storage cluster management path;
[0112] Step B: Based on the storage cluster management path, simultaneously identify the types of multiple discovery requests, and control the conflicts between the multiple discovery requests;
[0113] Step C: When the preset condition for initiating a new discovery is met after control, update the discovery device object based on different discovery update steps corresponding to different device types to implement the management of external devices in the storage cluster.
[0114] In one embodiment, when the processor executes the computer program, the following steps are further implemented:
[0115] Divide different discovery domains according to different link categories, different protocol types, and different device categories of the external devices, specifically:
[0116] ID: 0, Name: FC domain, used for fc link storage virtualization discovery;
[0117] ID: 1 - 4, Name: SAS domain, used for chassis sas link disks, jbod discovery;
[0118] ID: 6, Name: ISCSI domain, used for Ethernet iscsi heterogeneous storage discovery;
[0119] ID: 7 - 10, Name: NVME domain, used for pcie link nvme disks, jbof in each chassis discovery;
[0120] ID: 11 - 14, Name: RDMA NVME domain, used for roce v2 link rdma nvme disks, ebof in each chassis discovery;
[0121] Generate the storage cluster management path based on the discovery domain, and deploy the storage cluster management path on one or more storage nodes.
[0122] In one embodiment, when the processor executes the computer program, the following steps are further implemented:
[0123] The storage cluster management path identifies the type of the discovery request through parameter acquisition, instruction interaction, and feature comparison. The types include: internal logic initiation of the management path and business path event triggering. Among them, the requests triggered by the internal logic of the management path include at least one of the following: cluster node change, specific device object management error, and specific feature implementation requirement. The requests triggered by business path events include at least one of the following: discovery of newly connected external devices on the hardware link, occurrence of specific IO errors and timeout errors on the business path.
[0124] In one embodiment, when the processor executes the computer program, the following steps are further implemented:
[0125] Detect whether there are valid business nodes in the storage cluster and whether the status of the business nodes is normal;
[0126] If there are valid business nodes and their status is normal, and there is no ongoing discovery action or the new discovery request is earlier than the ongoing discovery phase, that is, the condition for initiating a new discovery is met;
[0127] When the condition for initiating a new discovery is met, notify each business path to perform condition detection and discovery preparation for the business path, and after the business path execution is completed, give feedback.
[0128] In one embodiment, when the processor executes the computer program, the following steps are further implemented:
[0129] Control the discovery phase through the discovery status, including PENDING, ACTIVE, UPDATE, and INACTIVE. Among them, ACTIVE is used to control the actual discovery action, and UPDATE is used to update and report the device objects discovered by the business path. Specifically:
[0130] After entering the ACTIVE state, the management path starts a discovery timeout timer, notifies each business path to simultaneously discover all new devices on the associated hardware link. When the discovery times out, delay and directly jump to the ACTIVE state for retry;
[0131] After the status is updated to UPDATE, the cluster side sets an update timeout timer, and starts to notify the business path to complete each update and reporting step from the first stage registered in the discovery domain. When the UPDATE times out, delay directly in the error handling and jump to the UPDATE state, and retry from the failed stage;
[0132] After the status is updated to INACTIVE and specific external devices are identified on the management path, each service path is notified to perform initialization actions on the discovered external devices. For the updated discovery of existing external devices, the service path is notified to process blocked service I / O.
[0133] In one embodiment, when the processor executes the computer program, the following steps are further implemented:
[0134] Updating the discovered device object based on different discovery and update steps corresponding to different device types, including the update steps for disks and chassis, and the update steps for heterogeneous virtualization. Specifically:
[0135] The update steps for disks and chassis: reporting newly discovered disks and chassis, reporting newly discovered ports, reporting updated port attributes, reporting updated disk attributes;
[0136] The update steps for heterogeneous virtualization: reporting newly discovered heterogeneous devices and reporting updated device attributes, reporting newly discovered ports, reporting updated port attributes, reporting newly discovered volumes and reporting updated volume attributes, reporting newly discovered port AAS path information or updated AAS path information, selecting service ports, generating a heterogeneous virtualization device relationship diagram.
[0137] In one embodiment, when the processor executes the computer program, the following steps are further implemented:
[0138] Based on the different registered stages of different device types, the discovery domain is defined to control the following six-stage process:
[0139] Initial stage: There is no actual update action, only clearing the incomplete interaction events between the management path and the service path caused by abnormal cluster nodes last time;
[0140] After waiting for all service paths to complete the previous step, enter the creation stage: Notify all service paths to associate the newly discovered disks with the internal logic of the service path, and notify all service paths to report the newly generated disk objects;
[0141] After waiting for all service paths to complete the previous step, enter the target creation stage: Notify all service paths to associate the newly discovered disk ports with the internal logic of the service path, and notify all service paths to report the newly generated disk port objects;
[0142] After waiting for all service paths to complete the previous step, enter the target update stage: Compare the attributes of the newly discovered disk ports with the existing port attributes of the service path. If there are changes, perform the target update action, update the internal logic of the service path related to the ports, and report the updated port attributes to the management path;
[0143] After waiting for all service paths to complete the previous step, enter the update phase: compare the newly discovered disk attributes with the existing disk attributes of the service paths. If there are changes, perform the update action, update the internal logic of the service paths related to the disk, and report the updated attributes of the disk to the management path;
[0144] After waiting for all service paths to complete the previous step, enter the completion phase. There is no actual update action in the completion phase, only the final work of the update is done.
[0145] Embodiment 4
[0146] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:
[0147] Step A: Divide different discovery domains according to the preset attributes of external devices, and generate a storage cluster management path;
[0148] Step B: Based on the storage cluster management path, simultaneously identify the types of multiple discovery requests, and control the conflicts between the multiple discovery requests;
[0149] Step C: When the preset condition for initiating a new discovery is met after control, update the discovered device objects according to different discovery update steps corresponding to different device types, so as to realize the management of external devices of the storage cluster.
[0150] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0151] Divide different discovery domains according to different link categories, different protocol types, and different device categories of the external devices, specifically:
[0152] ID: 0, Name: FC domain, used for fc link storage virtualization discovery;
[0153] ID: 1 - 4, Name: SAS domain, used for chassis sas link disk, jbod discovery;
[0154] ID: 6, Name: ISCSI domain, used for Ethernet iscsi heterogeneous storage discovery;
[0155] ID: 7 - 10, Name: NVME domain, used for pcie link nvme disk, jbof discovery of each chassis;
[0156] ID: 11 - 14, Name: RDMA NVME domain, used for roce v2 link rdma nvme disk, ebof discovery of each chassis;
[0157] Generate the storage cluster management path based on the discovery domain and deploy the storage cluster management path on one or more storage nodes.
[0158] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0159] The storage cluster management path identifies the type of the discovery request through parameter acquisition, instruction interaction, and feature comparison. The types include: initiated by the internal logic of the management path and triggered by business path events. Among them, the requests triggered by the internal logic of the management path include at least one of the following: cluster node change, specific device object management error, and specific feature implementation requirement. The requests triggered by business path events include at least one of the following: discovery of newly connected external devices on the hardware link, occurrence of specific IO errors and timeout errors on the business path.
[0160] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0161] Detect whether there are valid business nodes in the storage cluster and whether the status of the business nodes is normal;
[0162] If there are valid business nodes and their status is normal, and there is no ongoing discovery action or the new discovery request is earlier than the ongoing discovery phase, that is, the condition for initiating a new discovery is met;
[0163] When the condition for initiating a new discovery is met, notify each business path to perform condition detection and discovery preparation for the business path, and after the business path is executed, give feedback.
[0164] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0165] Control the discovery phase through the discovery status, including PENDING, ACTIVE, UPDATE, and INACTIVE. Among them, ACTIVE is used to control the actual discovery action, and UPDATE is used to update and report the device objects discovered by the business path. Specifically:
[0166] After entering the ACTIVE state, the management path starts a discovery timeout timer, notifies each business path to simultaneously discover all new devices on the associated hardware link. When the discovery times out, delay and directly jump to the ACTIVE state for retry;
[0167] After the status is updated to UPDATE, the cluster side sets an update timeout timer, and starts from the first phase registered in the discovery domain to notify the business path to complete each update and reporting step. When the UPDATE times out, in error handling, delay and directly jump to the UPDATE state, and retry from the failed phase;
[0168] After the status is updated to INACTIVE and specific external devices are identified on the management path, each service path is notified to perform initialization actions on the discovered external devices. For the updated discovery of existing external devices, the service path is notified to process blocked service I / O.
[0169] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0170] Updating the discovered device object based on different discovery update steps corresponding to different device types, including update steps for disks and chassis, and update steps for heterogeneous virtualization. Specifically:
[0171] The update steps for disks and chassis: reporting newly discovered disks and chassis, reporting newly discovered ports, reporting port update attributes, reporting disk update attributes;
[0172] The update steps for heterogeneous virtualization: reporting newly discovered heterogeneous devices and reporting device attribute updates, reporting newly discovered ports, reporting port update attributes, reporting newly discovered volumes and reporting volume update attributes, reporting newly discovered port AAS path information or AAS path update information, selecting service ports, generating a heterogeneous virtualization device relationship diagram.
[0173] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0174] Based on the different registered stages of different device types, the discovery domain is defined to control the following 6-stage process:
[0175] Initial stage: There is no actual update action, only clearing the uncompleted interaction events between the management path and the service path caused by abnormal cluster nodes last time;
[0176] After waiting for all service paths to complete the previous step, enter the creation stage: Notify all service paths to associate the newly discovered disks with the internal logic of the service path, and notify all service paths to report the newly generated disk objects;
[0177] After waiting for all service paths to complete the previous step, enter the target creation stage: Notify all service paths to associate the newly discovered disk ports with the internal logic of the service path, and notify all service paths to report the newly generated disk port objects;
[0178] After waiting for all service paths to complete the previous step, enter the target update stage: Compare the attributes of the newly discovered disk ports with the existing port attributes of the service path. If there are changes, perform the target update action, update the internal logic of the service path related to the ports, and report the updated port attributes to the management path;
[0179] After waiting for all service paths to complete the previous step, enter the update phase: compare the newly discovered disk attributes with the existing disk attributes of the service paths. If there are changes, perform the update action, update the internal logic of the service paths related to the disk, and report the updated attributes of the disk to the management path;
[0180] After waiting for all service paths to complete the previous step, enter the completion phase. There is no actual update action in the completion phase, only the follow-up work of the update is done.
[0181] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, storage, database, or other medium used in the various embodiments provided in the present application can include non-volatile and / or volatile memories. Non-volatile memories can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memories can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0182] The technical features of the above embodiments can be combined arbitrarily. For the sake of concise description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope described in this specification.
[0183] The above-described embodiments only represent several implementation manners of the present application. Their descriptions are relatively specific and detailed, but they should not be construed as limiting the scope of the invention patent. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present application, several modifications and improvements can still be made, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application should be subject to the appended claims.
Claims
1. A management method for a storage cluster device, characterized in that, The method includes: Dividing different discovery domains according to the preset attributes of external devices, and generating a storage cluster management path; simultaneously identifying the types of multiple discovery requests based on the storage cluster management path, and controlling the conflicts between the multiple discovery requests; When the preset condition for initiating a new discovery is met after control, updating the discovered device object based on different discovery update steps corresponding to different device types to implement the management of external devices in the storage cluster; The dividing different discovery domains according to the preset attributes of external devices and generating a storage cluster management path includes: Dividing different discovery domains according to different link categories, different protocol types, and different device categories of the external devices, specifically: ID: 0, Name: FC domain, used for fc link storage virtualization discovery; ID: 1 - 4, Name: SAS domain, used for chassis sas link disks, jbod discovery; ID: 6, Name: ISCSI domain, used for Ethernet iscsi heterogeneous storage discovery; ID: 7 - 10, Name: NVME domain, used for PCIe link nvme disks, jbof in each chassis discovery; ID: 11 - 14, Name: RDMA NVME domain, used for roce v2 link rdma nvme disks, ebof in each chassis discovery; Generating the storage cluster management path based on the discovery domain, and deploying the storage cluster management path on one or more storage nodes; The simultaneously identifying the types of multiple discovery requests based on the storage cluster management path includes: The storage cluster management path identifies the type of the discovery request through parameter acquisition, instruction interaction, and feature comparison. The types include: initiated by the internal logic of the management path, triggered by business path events. Among them, the requests triggered by the internal logic of the management path include at least one of the following: cluster node change, specific device object management error, specific feature implementation requirement. The requests triggered by business path events include at least one of the following: new external device access found on the hardware link, specific input / output error and timeout error occurred on the business path; The controlling the conflicts between the multiple discovery requests includes: Detecting whether there are valid business nodes in the storage cluster and whether the status of the business nodes is normal; If there are valid business nodes and their status is normal, and there is no ongoing discovery action or the new discovery request is earlier than the ongoing discovery stage, that is, the condition for initiating a new discovery is met; When the condition for initiating a new discovery is met, notify each business path to perform condition detection and discovery preparation for the business path, and give feedback after the business path is executed.
2. The management method for a storage cluster device according to claim 1, wherein Controlling the discovery stage through the discovery status. The discovery status includes a pending state, an active state, an update state, and an inactive state. Among them, the active state is used to control the actual discovery action, and the update state is used to update and report the device objects discovered by the business path. Specifically: After entering the active state, the management path starts a discovery timeout timer, notifies each business path to simultaneously discover all new devices on the associated hardware link. When the discovery times out, delay and directly jump to the active state to retry; After the status is updated to the update status, the cluster side sets an update timeout timer, and notifies the service path to complete each update and reporting step from the first stage of discovery domain registration. When the update status times out, it directly jumps to the update status after a delay in error handling and retries from the failed stage; After the status is updated to the inactive state, if a specific external device has been identified on the management path, each service path is notified to perform an initialization action on the discovered external device. For the update discovery of existing external devices, the service path is notified to process the input and output of blocked services.
3. The management method for a storage cluster device according to claim 1, wherein The update of the discovered device object based on different discovery update steps corresponding to different device types includes the update steps for disks and chassis, and the update steps for heterogeneous virtualization, specifically: The update steps for disks and chassis: reporting of newly discovered disks and chassis, reporting of newly discovered ports, reporting of updated port attributes, reporting of updated disk attributes; The update steps for heterogeneous virtualization: reporting of newly discovered heterogeneous devices and reporting of updated device attributes, reporting of newly discovered ports, reporting of updated port attributes, reporting of newly discovered volumes and reporting of updated volume attributes, reporting of newly discovered port active antenna system path information or updated active antenna system path information, service port selection, generation of heterogeneous virtualization device relationship diagram.
4. The management method for a storage cluster device according to claim 1, characterized in that, The update of the discovered device object based on different discovery update steps corresponding to different device types also includes: Based on the different registered stages for different device types, the discovery domain is defined to control the following 6-stage process: Initial stage: There is no actual update action, only clearing the interaction events of the unfinished management path and service path caused by abnormal cluster nodes last time; After waiting for all service paths to complete the previous step, enter the creation stage: Notify all service paths to associate the newly discovered disks with the internal logic of the service path, and notify all service paths to report the newly generated disk objects; After waiting for all service paths to complete the previous step, enter the target creation stage: Notify all service paths to associate the newly discovered disk ports with the internal logic of the service path, and notify all service paths to report the newly generated disk port objects; After waiting for all service paths to complete the previous step, enter the target update stage: Compare the newly discovered disk port attributes with the existing port attributes of the service path. If there are changes, perform the target update action, update the internal logic of the service path related to the port, and report the updated port attributes to the management path; After waiting for all service paths to complete the previous step, enter the update stage: Compare the newly discovered disk attributes with the existing disk attributes of the service path. If there are changes, perform the update action, update the internal logic of the service path related to the disk, and report the updated disk attributes to the management path; After waiting for all service paths to complete the previous step, enter the completion stage. There is no actual update action in the completion stage, only doing the finishing work of the update.
5. A storage cluster device management apparatus for implementing the method according to claim 1, characterized in that, The device includes: A management path generation module, used to divide different discovery domains according to the preset attributes of external devices and generate a storage cluster management path; An identification and control module, configured to identify types of multiple discovery requests simultaneously based on the storage cluster management path, and control conflicts among the multiple discovery requests; An update module, configured to perform an update based on different discovery update steps corresponding to different device types when the preset condition for initiating a new discovery is met after control, so as to implement management of external devices of the storage cluster.
6. A computer device, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, When the processor executes the computer program, the steps of the method according to any one of claims 1 to 4 are implemented.
7. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 4 are implemented.
Citation Information
Patent Citations
Transaction processing method and device, computer equipment and storage medium
CN111444027A
Method for realizing high availability of server host
CN112994977A