A method, system, device and storage medium for dual-active arbitration
Patent Information
- Application Number
- CN202311586420.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-24
- Publication Date
- 2026-10-23
- Estimated Expiration
- 2043-11-24
AI Technical Summary
[0003]而无论是哪种仲裁方式,在典型的双活应用拓扑场景下,在单个站点FC交换机异常触发的双活链路故障的情况下,都存在导致主机业务中断的问题
[0036]本申请实施例提供的一种双活仲裁的方法,该方法应用于仲裁服务器,该方法包括:在双活存储站点存储失联的情况下,双活存储站点中的各个存储站点发出包括仲裁信息的仲裁请求;仲裁服务器接收到各个存储站点发出的包括仲裁信息的仲裁请求;根据接收到的各个存储站点各自的仲裁请求,确定提供后续服务的目标存储站点;根据确定的该目标存储站点,控制该目标存储站点提供后续服务。通过引入包括仲裁信息的仲裁请求,对双活存储站点中的各个存储站点进行多条件的判断,从而确定到正常存储站点提供后续的存储业务,从而提高双活存储系统提供主机业务和存储业务的稳定性,避免主机业务中断。
Smart Images

Figure CN117743218B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of storage technology, and in particular to a method, system, device and storage medium for dual-active arbitration. Background Technology
[0002] In a centralized storage dual-active architecture, storage is deployed in two data centers to achieve dual-active storage. Each data center deploys one storage system. When the storage in one data center fails, computing resources access the storage in the other data center to avoid service interruption. The two storage systems deployed in dual-active can be located in the same data center, the same city, or within 300km of each other, supporting FC or IP deployment. Data from the two LUNs from the two storage systems is synchronized in real time, and both can provide read and write access to the host. In the event of a complete failure of storage on either end, the host will switch its access path to the healthy end to continue service access. When the inter-site link fails, which data center provides service depends on the arbitration result. An arbitration server is deployed at a third-party site to provide arbitration services when the inter-site link is interrupted. One common arbitration method is that when configuring dual-active, the user specifies a priority site. When the inter-site link fails, dual-active selects the priority site to continue providing storage services according to the set priority site policy. Another common method is to determine which site continues to provide storage services based on the order in which the arbitration server receives the arbitration request.
[0003] Regardless of the arbitration method, in a typical dual-active application topology scenario, a dual-active link failure triggered by an abnormal FC switch at a single site will result in the interruption of host services. Summary of the Invention
[0004] In view of this, this application provides a method, system, device, and storage medium for dual-active arbitration. The aim is to improve the stability of dual-active storage systems in providing host and storage services, thereby effectively avoiding host service interruptions.
[0005] In a first aspect of this application, a method for dual-active arbitration is provided, applied to an arbitration server, the method comprising:
[0006] In the event of a storage failure at a dual-active storage site, the system receives arbitration requests, including arbitration information, from each of the dual-active storage sites.
[0007] Based on the arbitration information in the arbitration requests received from each of the respective storage sites, the target storage site for providing subsequent services is determined;
[0008] Based on the determined target storage site, control the target storage site to provide subsequent services.
[0009] Optionally, determining the target storage site for providing subsequent services based on the arbitration information in the arbitration requests received from each of the respective storage sites includes:
[0010] By parsing the arbitration requests received from each of the storage sites, the arbitration information corresponding to each storage site can be obtained.
[0011] Based on the connection status information in each arbitration message, determine whether there is a storage site that is normally connected to the corresponding host;
[0012] If there is a single storage site with a normal connection to the corresponding host, the storage site with a normal connection to the corresponding host will be identified as the target storage site for providing subsequent services.
[0013] The step of controlling the target storage site to provide subsequent services based on the determined target storage site includes:
[0014] Based on the site identifier information in the arbitration information corresponding to the target storage site, control the target storage site corresponding to the site identifier information to provide subsequent services.
[0015] Optionally, the method further includes:
[0016] In the absence of a storage site that is normally connected to the corresponding host, the existence of a priority storage site among the various storage sites is determined based on the priority site identifier information in each arbitration information.
[0017] If a priority storage site exists, the priority storage site will be identified as the target storage site for providing subsequent services;
[0018] In the absence of a priority storage site, the storage site that initiated the arbitration earliest is determined based on the arbitration time in each of the arbitration information.
[0019] The storage site that initiated the arbitration earliest will be identified as the target storage site for providing subsequent services.
[0020] Optionally, the method further includes:
[0021] If each storage site is a storage site that is normally connected to its corresponding host, then based on the read / write performance data in each arbitration information, it is determined whether there is a storage site among the storage sites that is normally capable of reading and writing.
[0022] If a single storage site exists that is functioning correctly for reading and writing, that storage site will be identified as the target storage site for providing subsequent services.
[0023] Optionally, the method further includes:
[0024] If all storage sites are functioning normally or are experiencing read / write anomalies, determine whether there is a priority storage site among the storage sites based on the priority site identifier information in each arbitration information.
[0025] If a priority storage site exists, the priority storage site will be identified as the target storage site for providing subsequent services.
[0026] Optionally, the method further includes:
[0027] In the absence of a priority storage site, the storage site that initiated the arbitration earliest is determined based on the arbitration time in each of the arbitration information.
[0028] The storage site that initiated the arbitration earliest will be identified as the target storage site for providing subsequent services.
[0029] Optionally, the site identification information in the arbitration information includes: node name, sequence number, and IP address; the read / write performance data in the arbitration information includes: IOPS and / or latency data.
[0030] In a second aspect of the embodiments of this application, this application provides a dual-active arbitration system, the system including an arbitration server and a dual-active storage site;
[0031] The dual-active storage site is used to issue an arbitration request, including arbitration information, in the event of a storage disconnection at the dual-active storage site.
[0032] The arbitration server is configured to receive arbitration requests, including arbitration information, from each of the active-active storage sites in the event of a storage disconnection; and to determine a target storage site for providing subsequent services based on the arbitration information in the respective arbitration requests received from each storage site; and to control the target storage site to provide subsequent services based on the determined target storage site.
[0033] In a third aspect of the embodiments of this application, this application provides an electronic device, characterized in that it includes: a processor, a memory, and a computer program stored in the memory and running on the processor, wherein when the computer program is executed by the processor, it implements the steps in the dual-active arbitration method as described in the first aspect of this application.
[0034] In a fourth aspect of this application, a computer non-volatile readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the steps of the dual-active arbitration method as described in the first aspect of this invention.
[0035] Compared with prior art, this application has the following advantages:
[0036] This application provides a method for active-active arbitration, applied to an arbitration server. The method includes: in the event of a storage failure at an active-active storage site, each storage site in the active-active storage site issues an arbitration request including arbitration information; the arbitration server receives the arbitration requests from each storage site; based on the received arbitration requests from each storage site, a target storage site for providing subsequent services is determined; and based on the determined target storage site, the target storage site is controlled to provide subsequent services. By introducing arbitration requests including arbitration information, multiple conditions are assessed on each storage site in the active-active storage site to determine which normal storage site will provide subsequent storage services, thereby improving the stability of the active-active storage system in providing host and storage services and avoiding host service interruptions.
[0037] The above description is only an overview of the technical solution of this application. In order to better understand the technical means of this application and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of this application more obvious and understandable, the following are specific embodiments of this application. Attached Figure Description
[0038] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below.
[0039] Figure 1 This application provides a dual-active network topology diagram for a dual-active arbitration method.
[0040] Figure 2 This is another dual-active network topology diagram in a dual-active arbitration method provided in an embodiment of this application;
[0041] Figure 3 A flowchart illustrating a dual-active arbitration method provided in this application embodiment;
[0042] Figure 4 Another flowchart of a dual-active arbitration method provided in this application embodiment;
[0043] Figure 5 A schematic diagram of a dual-active arbitration system provided in an embodiment of this application;
[0044] Figure 6 This is a schematic diagram of an electronic device provided in an embodiment of this application. Detailed Implementation
[0045] The exemplary embodiments of this application will now be described in more detail with reference to the accompanying drawings.
[0046] Before describing this application, the relevant terms used thereafter will be explained to facilitate understanding of the implementation methods.
[0047] Active-active LUN: Active-active storage provides readable and writable volume resources to the outside world.
[0048] Active-active arbitration: Active-active arbitration refers to resolving conflicts or failures in a cluster system through communication and cooperation between two nodes.
[0049] Before explaining this application, let me first explain the current standard dual-active arbitration method.
[0050] Currently, relatively complete active-active network topologies include: Figure 1 As shown, the interconnect links between the two storage sites forming a dual-active storage system and the service links between the storage and the host are independent. This means that a failure of the management switch interconnecting the storage systems will not affect the connection between the host and the storage. However, in actual deployments, customers often use methods such as... Figure 2 More dual-active network topologies are shown, such as... Figure 2 As shown, when the FC switch of a single storage site fails, it will not only affect the interconnection between storage sites, but also the connection between the storage and the host.
[0051] In the first type of active-active network topology, when the link between the two storage systems providing the active-active LUN fails, real-time mirroring and synchronization of the storage cannot be achieved. To ensure data consistency, only one storage system can continue to provide services, and the arbitration mechanism of the arbitration server will determine which storage system continues to provide storage services. In the second type of active-active network topology, when a failure of the FC switch at a single storage site between the two storage systems providing the active-active LUN causes a link failure, the single storage site with the failed FC switch cannot continue to provide storage services. Arbitration is required to select the unfailed single storage site to continue providing storage services.
[0052] Currently, a common arbitration method is that when configuring a dual-active system, the user designates a priority site. When the link between storage sites fails, the dual-active storage system arbitrates according to the set priority site policy and selects the priority site to continue providing storage services. Another common arbitration method is that the arbitration server determines which storage site can continue to provide storage services based on the order in which each storage site submits its arbitration request.
[0053] For the first arbitration method based on priority sites, if an anomaly occurs between the priority site and the host server, causing service disruptions for the priority site's host, users' services will still be affected even if the priority site's storage has obtained arbitration and continues to provide storage services. As for the second arbitration method based on the order of application, if both the host and the FC switch connecting the storage in storage site A's data center malfunction in a given scenario, even if site A initiates arbitration first and wins, site A still cannot provide host services, thus failing to effectively resolve the issue of dual-active site anomalies.
[0054] In view of this, this application provides a method, system, device, and storage medium for active-active arbitration. It aims to solve the problem of host service interruption caused by active-active link failure triggered by an FC switch malfunction connecting a single storage site to the host in a typical active-active network topology scenario. Figure 2 As shown, the storage devices in storage site A, the hosts connected to the storage devices in storage site A, and the FC switch connecting the storage devices and hosts in storage site A are in one data center; the storage devices in storage site B, the hosts connected to the storage devices in storage site B, and the FC switch (Fibre Channel) connecting the storage devices and hosts in storage site B are in another data center. If the FC switch in the data center where storage site A is located fails abnormally, the active-active communication between storage site A and storage site B will be interrupted. Storage site A's hosts also provide services externally through the FC switch, so the services provided by storage site A's hosts will also be interrupted. The arbitration server, based on the two commonly used arbitration methods mentioned above, may allow storage site A to obtain arbitration to provide subsequent host services (if the user sets storage site A as the priority site, or storage site A initiates the arbitration request first due to network problems). However, in this case, the user's services are affected because the hosts of storage site A are also unusable. The active-active arbitration method proposed in this application solves this scenario, ensuring that the arbitration server always allows the site that can provide host services to obtain arbitration, thereby guaranteeing that the host services are not affected.
[0055] Figure 3 A flowchart of a dual-active arbitration method provided in this application embodiment is shown below. Figure 3 As shown, applied to an arbitration server, the method includes:
[0056] Step S1: In the event of a storage disconnection at a dual-active storage site, receive arbitration requests, including arbitration information, from each of the dual-active storage sites.
[0057] In this embodiment, two storage sites in the active-active network topology form an active-active storage site. Each storage site includes a host, an FC switch, and storage devices. For example, storage site A includes host a1, FC switch a2, and storage device a3; storage site B includes host b1, FC switch b2, and storage device b3. The host and storage device in one storage site are connected via an FC switch. The host provides an FC protocol access channel to the outside world through the FC switch, and upper-layer applications such as databases and email services are configured on the host. The storage devices establish a storage FC interconnect link between the two storage sites through the FC switch, creating an active-active pair. The storage devices in each storage site are also connected to IP switches, and the storage devices in the two sites are connected to an IP arbitration server of a third site through the IP switches. The IP arbitration server is a server with arbitration software installed. The storage devices in the two storage sites also have built-in arbitration service software. The two storage sites and the arbitration server exchange arbitration messages via IP links. After the active-active pair is created in the storage devices of the two storage sites, arbitration servers are added to each site to complete the active-active arbitration configuration.
[0058] In this embodiment, after completing the dual-active arbitration configuration of the dual-active storage sites, if either of the two storage sites detects that the storage device on the other end is disconnected, that is, when the storage devices on both storage sites fail due to an intermediate link failure or a single storage device failure, both storage sites will detect that they cannot connect to the storage device on the other end. At this time, both storage sites will initiate an arbitration request to the arbitration server via the IP link. The arbitration request carries arbitration information, which is used to determine which storage site is in a normal state, so that it can provide subsequent host services and storage services to the outside world.
[0059] Step S2: Determine the target storage site for providing subsequent services based on the arbitration information in the arbitration requests received from each of the storage sites.
[0060] In this embodiment, after the arbitration server receives arbitration requests from each of the two storage sites in the dual-active storage site, it obtains the arbitration information from the two arbitration requests. Based on the arbitration information in the two arbitration requests, it determines which storage site is currently in a normal state. This storage site in a normal state is then designated as the target storage site, which will be used to provide subsequent host and storage services.
[0061] Step S3: Based on the determined target storage site, control the target storage site to provide subsequent services.
[0062] In this embodiment, after the arbitration server determines the target storage site, the arbitration server controls the target storage site to provide subsequent host services and storage services through the IP link between the arbitration server and the storage site.
[0063] This application provides a method for active-active arbitration, applied to an arbitration server. The method includes: in the event of a storage failure at one of the active-active storage sites, each storage site in the active-active storage site sends an arbitration request including arbitration information; the arbitration server receives the arbitration requests from each storage site; based on the received arbitration requests from each storage site, a target storage site for providing subsequent services is determined; and based on the determined target storage site, the target storage site is controlled to provide subsequent services. By introducing arbitration requests including arbitration information, multiple conditions are assessed on each storage site in the active-active storage site to determine which normal storage site will provide subsequent storage services, thereby improving the stability of the active-active storage system in providing host and storage services and effectively avoiding host service interruptions.
[0064] In conjunction with the above embodiments, in one implementation, this application also provides a method for dual-active arbitration. In this dual-active arbitration method, step S2 may include steps S21 to S23:
[0065] Step S21: By parsing the arbitration requests received from each of the storage sites, the arbitration information corresponding to each of the storage sites is obtained.
[0066] In this embodiment, after the arbitration server receives the arbitration requests from the two storage sites, it parses the two arbitration requests to obtain the arbitration information carried in each of the two arbitration requests.
[0067] Step S22: Based on the connection status information in each arbitration message, determine whether there is a storage site that is normally connected to the corresponding host.
[0068] In this embodiment, the arbitration information includes at least connection status information and site identification information. The connection status information indicates whether the connection between the storage device and the host in the corresponding storage site is normal. Based on the connection status information carried in each of the two arbitration requests, it is determined whether the connection between the storage device in each storage site and its corresponding host is normal. The arbitration server stores standard connection status information indicating a normal connection between the storage device and the host. This standard connection status information allows the arbitration server to determine whether the received connection status information specifically indicates a normal or abnormal connection between the storage device and the host in each storage site.
[0069] For example, a dual-active storage site includes storage site A and storage site B. The arbitration server receives an arbitration request X from storage site A and obtains connection status information x1 by parsing the request. Similarly, the arbitration server receives an arbitration request Y from storage site B and obtains connection status information y1 by parsing the request. The connection status information indicates whether the connection between the storage device and the host in the corresponding storage site is normal. After obtaining these two connection status information pieces, the arbitration server compares them with standard connection status information indicating a normal connection. If the compared connection status information matches the standard connection status information, it is determined that the host and storage device in the storage site corresponding to the compared connection status information are connected normally. If connection status information x1 matches the standard connection status information, but connection status information y1 differs, it is determined that only the connection between the storage device and the host in storage site A is normal, while the connection between the storage device and the host in storage site B is abnormal. Storage site B will at least be unable to perform normal storage services.
[0070] Step S23: If there is a single storage site with a normal connection to the corresponding host, the storage site with a normal connection to the corresponding host is identified as the target storage site for providing subsequent services.
[0071] In this embodiment, since there are only two connection status information for judgment, if the storage device in one storage site is connected normally to the host, and the connection between the storage device in the other storage site and the host is abnormal, the abnormal storage site will at least be unable to perform normal storage services. Therefore, the storage site where the storage device is connected normally to the host is identified as the target storage site for subsequent host services and storage services.
[0072] In conjunction with the above embodiments, in one implementation, this application also provides a method for dual-active arbitration. In this dual-active arbitration method, if step S2 may include steps S21 to S23, then step S3 includes step S31: based on the site identifier information in the arbitration information corresponding to the target storage site, control the target storage site corresponding to the site identifier information to provide subsequent services.
[0073] In this embodiment, after determining the target storage site through the above step S23, the arbitration server obtains the site identification information in the arbitration information of the arbitration request corresponding to the target storage site. Based on the site identification information, the arbitration server controls the target storage site corresponding to the site identification information to provide subsequent host services and storage services.
[0074] In conjunction with the above embodiments, in one implementation, this application also provides a method for dual-active arbitration. In this dual-active arbitration method, the site identification information includes: node name, sequence number, and IP address.
[0075] In this embodiment, since the arbitration server needs to control the target storage site corresponding to the site identification information to provide subsequent host and storage services based on the site identification information, the site identification information needs to uniquely identify the corresponding storage site. This application generates corresponding site identification information based on the node name of the storage site, the serial number (SN code SerialNumber) of the storage device, and the IP address of the storage device to uniquely identify the corresponding storage site, so that when the arbitration server needs to control the corresponding storage site to perform subsequent host and storage services, it can control the uniquely corresponding storage site based on the site identification information.
[0076] In conjunction with the above embodiments, in one implementation, this application also provides a method for dual-active arbitration. This dual-active arbitration method further includes steps S24 to S25:
[0077] Step S24: If there is no storage site that is normally connected to the corresponding host, determine whether there is a priority storage site among the various storage sites based on the priority site identifier information in each arbitration information.
[0078] In this embodiment, the arbitration information in the arbitration request may further include priority site identification information, which is used to indicate whether the corresponding storage site is a priority storage site. If it is determined that the hosts in both storage sites are abnormally connected to their respective storage devices, the arbitration server further identifies the priority site identification information in the two arbitration messages corresponding to the two storage sites to determine whether there is a priority storage site pre-designated by the engineers. For example, if the priority site identification information is z0, it is determined that the storage site corresponding to this priority site identification information is not a priority storage site; if the priority site identification information is z1, it is determined that the storage site corresponding to this priority site identification information is a priority storage site.
[0079] Step S25: If a priority storage site exists, the priority storage site is determined as the target storage site for providing subsequent services.
[0080] In this embodiment, when the arbitration server identifies the priority site identifier information in the two arbitration information corresponding to the two storage sites and determines that one of the two storage sites has been pre-designated as the priority storage site by the engineers, the priority storage site is determined as the target storage node to provide subsequent host services and storage services.
[0081] In this embodiment, the arbitration information may further include the arbitration time, which characterizes the order in which the corresponding storage sites initiated the arbitration request. If the arbitration server identifies the priority site identifier information in the two arbitration messages corresponding to the two storage sites and determines that there is no priority storage site pre-specified by the engineers, the arbitration server further identifies the arbitration time in the two arbitration messages corresponding to each of the two storage sites, compares the two arbitration times, and determines the earliest arbitration time. Based on the earliest arbitration time, it can be determined that the storage site corresponding to the earliest arbitration time initiated the arbitration earliest. After determining the storage node that initiated the arbitration earliest, this storage node is designated as the target storage node for providing subsequent host and storage services.
[0082] In conjunction with the above embodiments, in one implementation, this application also provides a method for dual-active arbitration. This dual-active arbitration method further includes steps S26 to S27:
[0083] Step S26: If each storage site is a storage site that is normally connected to its corresponding host, determine whether there is a storage site with normal read and write performance among the various storage sites based on the read and write performance data in each arbitration information.
[0084] In this embodiment, the arbitration information in the arbitration request may further include read / write performance data, which characterizes whether the data read / write performance between the corresponding connected host and storage device is normal. When the arbitration server determines that the hosts in both storage sites are normally connected to their respective storage devices, the arbitration server further identifies the read / write performance data in the two arbitration messages corresponding to the two storage sites to determine the data read / write performance between the hosts corresponding to each of the two storage sites and the connected storage devices. The arbitration server stores a set threshold for judging whether the read / write performance data is normal. Based on the relationship between each read / write performance data point and this set threshold, the normality of the data read / write performance corresponding to each read / write performance data point can be determined.
[0085] In conjunction with the above embodiments, in one implementation, this application also provides a method for dual-active arbitration. In this dual-active arbitration method, the read / write performance data in the arbitration information includes: IOPS and / or latency data.
[0086] In this embodiment, the read / write performance data in this application includes IOPS and / or latency data. IOPS (Input / Output Operations Per Second) is a measurement method used for performance testing of computer storage devices (such as hard disks (HDDs), solid-state drives (SSDs), or storage area networks (SANs), and can be considered as the number of read / write operations per second. It should be understood that the above-mentioned read / write performance data IOPS and latency data are only a preferred embodiment of the read / write performance data in this application, and the read / write performance data can also be other data, which are not specifically limited here. When the read / write performance data is IOPS, the arbitration server sets a corresponding first threshold for the read / write performance data of the IOPS data type. When the read / write performance data in the arbitration information corresponding to the storage site is IOPS, the IOPS data in the arbitration information corresponding to the storage site is compared with the first threshold. When the IOPS data exceeds the first threshold, it is determined that the data read / write between the storage device and the host in the storage site corresponding to the IOPS data is normal. When read / write performance data is latency data, the arbitration server sets a corresponding second threshold for latency data used as read / write performance data. When the read / write performance data in the arbitration information corresponding to a storage site is latency data, the latency data in the arbitration information corresponding to the storage site is compared with the second threshold. If the latency data is lower than the second threshold, it is determined that the data read / write between the storage device and the host in the storage site corresponding to the latency data is normal. When read / write performance data is both IOPS and latency data, the IOPS in the arbitration information corresponding to each storage site is compared with the first threshold, and the latency data in the arbitration information corresponding to each storage site is compared with the second threshold. If both the IOPS exceed the first threshold and the latency data is lower than the second threshold, it is determined that the data read / write between the storage device and the host in that storage site is normal. The first and second thresholds can be set according to the actual application scenario and are not specifically limited here.
[0087] Step S27: If there is a single storage site with normal read and write operation, determine the storage site with normal read and write operation as the target storage site for providing subsequent services.
[0088] In this embodiment, if there is a single storage site with normal read and write operation, that single storage site with normal read and write operation is identified as the target storage site, which is used to provide subsequent host services and storage services.
[0089] In conjunction with the above embodiments, in one implementation, this application also provides a method for dual-active arbitration. This dual-active arbitration method further includes steps S28 to S29:
[0090] Step S28: If all storage sites are read and write normally or all are read and write abnormally, determine whether there is a priority storage site among the storage sites based on the priority site identifier information in each arbitration information.
[0091] In this embodiment, if it is determined that the data read and write operations of the two storage sites are both normal or abnormal, the arbitration server further identifies the priority site identification information in the two arbitration information corresponding to the two storage sites to determine whether there is a priority storage site pre-specified by the engineers among the two storage sites.
[0092] Step S29: If a priority storage site exists, the priority storage site is determined as the target storage site for providing subsequent services.
[0093] In this embodiment, when the arbitration server identifies the priority site identifier information in the two arbitration information corresponding to the two storage sites and determines that one of the two storage sites has been pre-designated as the priority storage site by the engineers, the priority storage site is determined as the target storage node to provide subsequent host services and storage services.
[0094] In conjunction with the above embodiments, in one implementation, this application also provides a method for dual-active arbitration. This dual-active arbitration method further includes steps S210 to S211:
[0095] Step S210: In the absence of a priority storage site, determine the storage site that initiated the arbitration earliest among the various storage sites based on the arbitration time in each arbitration information.
[0096] In this embodiment, the arbitration information may further include the arbitration time, which is used to characterize the order in which the corresponding storage sites initiate arbitration requests. If the arbitration server identifies the priority site identifier information in the two arbitration messages corresponding to the two storage sites and determines that there is no priority storage site pre-specified by the engineers, the arbitration server further identifies the arbitration time in the two arbitration messages corresponding to each of the two storage sites, compares the two arbitration times, and determines the earliest arbitration time. Based on the earliest arbitration time, it can be determined that the storage site corresponding to the earliest arbitration time initiated the arbitration earliest.
[0097] Step S211: The storage site that initiated the arbitration earliest is identified as the target storage site for providing subsequent services.
[0098] In this embodiment, after determining the earliest storage node to initiate arbitration in step S210, the earliest storage node to initiate arbitration is determined as the target storage node, which is used to provide subsequent host services and storage services.
[0099] In this embodiment, Figure 4 Another flowchart of a dual-active arbitration method provided in this application embodiment is shown below. Figure 4 As shown, the process first determines whether the hosts of each storage site are properly connected to their respective storage devices based on the connection status information in their respective arbitration information. If both hosts are properly connected, the read / write performance data in the arbitration information further determines whether the read / write performance of the storage devices is normal. If both read / write performances are normal or abnormal, the process further determines whether a priority storage site exists based on the priority site identifier information in the arbitration information. If a priority storage site exists, it is designated as the target storage site for providing subsequent host and storage services. If no priority storage site exists, the storage site that initiated the arbitration request earliest is designated as the target storage site for providing subsequent host and storage services based on the arbitration time in the arbitration information. Finally, if a storage site has normal read / write performance, it is designated as the target storage site for providing subsequent host and storage services. If it is determined that only one of the two storage sites has a normal connection between its host and the corresponding storage device, then that storage site is designated as the target storage site for providing subsequent host and storage services. If it is determined that both hosts at each storage site have abnormal connections to their respective storage devices, the system further determines whether a priority storage site exists based on the priority site identifier information in the arbitration information of each storage site. If a priority storage site exists, it is designated as the target storage site for providing subsequent host and storage services. If no priority storage site exists, the system further determines the storage site that initiated the arbitration request earliest based on the arbitration time in the arbitration information of each storage site, and this earliest-initiating storage site is designated as the target storage site for providing subsequent host and storage services.
[0100] Based on the same inventive concept, a second aspect of this application provides a dual-active arbitration system, such as... Figure 5 As shown, the system 500 includes an arbitration server 501 and a dual-active storage site 502;
[0101] The dual-active storage site 502 is used to issue an arbitration request including arbitration information in the event of a storage disconnection at the dual-active storage site.
[0102] The arbitration server 501 is configured to receive arbitration requests, including arbitration information, from each of the active-active storage sites when the storage connection of the active-active storage sites is lost; and to determine the target storage site for providing subsequent services based on the arbitration information in the arbitration requests from each of the storage sites; and to control the target storage site to provide subsequent services based on the determined target storage site.
[0103] Optionally, the arbitration server 501 includes:
[0104] The arbitration information determination module can also parse the arbitration requests received from each of the storage sites to obtain the arbitration information corresponding to each storage site.
[0105] The first storage site determination module is used to determine whether there is a storage site that is normally connected to the corresponding host based on the connection status information in each arbitration message.
[0106] The first target storage site determination module is used to determine the storage site with normal connection to the corresponding host as the target storage site for providing subsequent services when there is a single storage site with normal connection to the corresponding host.
[0107] The control module is used to control the target storage site corresponding to the site identification information to provide subsequent services based on the site identification information in the arbitration information corresponding to the target storage site.
[0108] Optionally, the system 500 further includes:
[0109] The second storage site determination module is used to determine whether there is a priority storage site among the various storage sites based on the priority site identification information in the various arbitration information when there is no storage site that is normally connected to the corresponding host.
[0110] The second target storage site determination module is used to determine the priority storage site as the target storage site for providing subsequent services when a priority storage site exists.
[0111] Optionally, the system 500 includes:
[0112] The third storage site determination module is used to determine, based on the read / write performance data in each arbitration information, whether there is a storage site with normal read / write operation among the various storage sites when all storage sites are storage sites that are normally connected to their respective hosts.
[0113] The third target storage site determination module is used to determine the storage site with normal read and write operation as the target storage site for providing subsequent services when there is a single storage site with normal read and write operation.
[0114] Optionally, the system 500 further includes:
[0115] The fourth storage site determination module is used to determine whether there is a priority storage site among the storage sites based on the priority site identifier information in the arbitration information when all storage sites are normal to read and write or abnormal to read and write.
[0116] The fourth target storage site determination module is used to determine the priority storage site as the target storage site for providing subsequent services when a priority storage site exists.
[0117] Optionally, the system 500 further includes:
[0118] The fifth storage site determination module is used to determine the storage site that initiated the arbitration earliest among the various storage sites based on the arbitration time in the various arbitration information when there is no priority storage site.
[0119] The fifth target storage site determination module is used to determine the storage site that initiated the arbitration earliest as the target storage site to provide subsequent services.
[0120] Optionally, the site identification information in the arbitration information of the arbitration server 501 includes: node name, sequence number and IP address; the read / write performance data in the arbitration information includes: IOPS and / or latency data.
[0121] Based on the same inventive concept, in a third aspect of the embodiments of this application, such as Figure 6 As shown, Figure 6 This is a schematic diagram of an electronic device provided in an embodiment of this application. This application provides an electronic device 600, including: a processor 601, a memory 602, and a computer program stored in the memory and running on the processor. When executed by the processor, the computer program implements the steps in the dual-active arbitration method described in the first aspect of this application.
[0122] Based on the same inventive concept, in a fourth aspect of the embodiments of this application, this application provides a computer non-volatile readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the dual-active arbitration method described in the first aspect of this application.
[0123] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer non-volatile readable storage medium or transmitted from one computer non-volatile readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer non-volatile readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid state disks (SSDs)).
[0124] It should be noted that, for the sake of simplicity, the method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments of the present invention are not limited to the described order of actions, because according to the embodiments of the present invention, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions involved are not necessarily essential to the embodiments of the present invention.
[0125] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0126] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0127] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application are included within the scope of protection of this application.
Claims
1. A method for dual-live arbitration, characterized in that, Applied to an arbitration server, the method includes: In the event of a storage failure at a dual-active storage site, the system receives arbitration requests, including arbitration information, from each of the dual-active storage sites. Based on the arbitration information in the arbitration requests received from each of the respective storage sites, the target storage site for providing subsequent services is determined; Based on the determined target storage site, control the target storage site to provide subsequent services; The step of determining the target storage site for providing subsequent services based on the arbitration information in the arbitration requests received from each of the respective storage sites includes: By parsing the arbitration requests received from each of the storage sites, the arbitration information corresponding to each storage site can be obtained. Based on the connection status information in each arbitration message, determine whether there is a storage site that is normally connected to the corresponding host; If there is a single storage site with a normal connection to the corresponding host, the storage site with a normal connection to the corresponding host will be identified as the target storage site for providing subsequent services. The step of controlling the target storage site to provide subsequent services based on the determined target storage site includes: Based on the site identifier information in the arbitration information corresponding to the target storage site, control the target storage site corresponding to the site identifier information to provide subsequent services; In the absence of a storage site that is normally connected to the corresponding host, the existence of a priority storage site among the various storage sites is determined based on the priority site identifier information in each arbitration information. If a priority storage site exists, the priority storage site will be identified as the target storage site for providing subsequent services.
2. The dual-live arbitration method according to claim 1, characterized in that, The method further includes: If each storage site is a storage site that is normally connected to its corresponding host, then based on the read / write performance data in each arbitration information, it is determined whether there is a storage site among the storage sites that is normally capable of reading and writing. If a single storage site exists that is functioning correctly for reading and writing, that storage site will be identified as the target storage site for providing subsequent services.
3. The dual-live arbitration method according to claim 2, characterized in that, The method further includes: If all storage sites are functioning normally or are experiencing read / write anomalies, determine whether there is a priority storage site among the storage sites based on the priority site identifier information in each arbitration information. If a priority storage site exists, the priority storage site will be identified as the target storage site for providing subsequent services.
4. The dual-live arbitration method according to claim 3, characterized in that, The method further includes: In the absence of a priority storage site, the storage site that initiated the arbitration earliest is determined based on the arbitration time in each of the arbitration information. The storage site that initiated the arbitration earliest will be identified as the target storage site for providing subsequent services.
5. The method for dual-live arbitration according to claim 2, characterized in that, The site identification information in the arbitration information includes: node name, sequence number, and IP address; the read / write performance data in the arbitration information includes: IOPS and / or latency data.
6. A dual-active arbitration system, characterized in that, The system is applied to a dual-active arbitration method according to any one of claims 1 to 5, wherein the system includes an arbitration server and a dual-active storage site; The dual-active storage site is used to issue an arbitration request, including arbitration information, in the event of a storage disconnection at the dual-active storage site. The arbitration server is used to receive arbitration requests, including arbitration information, from each of the dual-active storage sites in the event of a storage disconnection. And, for determining the target storage site for providing subsequent services based on the arbitration information in the arbitration requests received from each of the respective storage sites; And, for controlling the target storage site to provide subsequent services based on the determined target storage site.
7. An electronic device, characterized in that, include: A processor, a memory, and a computer program stored in the memory and running on the processor, wherein the computer program, when executed by the processor, implements the steps of the method for dual-active arbitration as described in any one of claims 1 to 5.
8. A computer non-volatile readable storage medium, characterized in that, The computer non-volatile readable storage medium stores a computer program that, when executed by a processor, implements the steps of the dual-active arbitration method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Dual-active storage system and dual-active storage method based on host arbitration
CN110688262A
Storage active-active and test system and method
CN114416501A