Mirror write consistency check policy for logical volume manager system

By combining active and passive MWCC strategies and using vPMEM to track write operations, the problem of data mirroring and recovery performance in cloud-based environments is solved, and efficient and reliable data mirroring is achieved.

CN119998779APending Publication Date: 2025-05-13INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380067783.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-09-22
Filing Date
2023-07-12
Publication Date
2025-05-13

AI Technical Summary

Technical Problem

In a cloud-based environment, existing logical volume management systems are difficult to effectively ensure the correct image and recovery performance of data when performing mirror write operations, especially when processing large amounts of enterprise-related data.

Method used

Using a method combining active and passive mirror write consistency check (MWCC) strategy, write operations are tracked through virtual persistent memory disk (vPMEM) and correct and mirror error write operations if necessary.

Benefits of technology

Improves the correct mirroring and recovery performance of data between logical volume replicas, ensuring high reliability and efficiency of data in cloud environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119998779A_ABST
    Figure CN119998779A_ABST
Patent Text Reader

Abstract

The runtime and discovery recovery performance of a cloud-based logical volume management system when performing mirror write operations is improved. A mirroring write consistency check (MWCC) policy that combines aspects of an active MWCC policy and a passive MWCC policy is utilized to more effectively ensure that data is correctly mirrored from a first copy of a logical volume to a second copy of the logical volume (and potentially to multiple other copies of the logical volume).
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] The present invention relates generally to the field of logical volume managers, and more particularly to utilizing a logical volume manager to enable proper mirroring of large amounts of enterprise-related data in a cloud-based environment. Summary of the invention

[0002] According to one aspect of the present invention, there is a method, a computer program product and / or a system that performs the following operations (not necessarily in the following order): (i) receiving an original user data set from a first logical volume (LV) of a volume group (VG), wherein the original user data set is stored on a first virtual persistent memory disk; (ii) mirroring the original user data set from a first copy of the LV to a second copy of the LV through a mirror write consistency check (MWCC) policy; (iii) determining that a first portion of the original user data set is not mirrored from the first copy of the LV to the second copy of the LV; (iv) allocating a set of virtual persistent memory disks to each of a plurality of logical partitions, wherein each logical partition tracks a predefined number of write operations; (v) reviewing a first portion of the set of virtual persistent memory disks through a mirror write consistency check policy to determine which write operation among the predefined number of write operations is erroneous; and (vi) in response to the review, mirroring the write operation that is considered to be erroneous from the first copy of the LV to the second copy of the LV through the MWCC policy. BRIEF DESCRIPTION OF THE DRAWINGS

[0003] Figure 1 is a block diagram view of a first embodiment of a system according to the present invention;

[0004] Figure 2 is a flow chart illustrating a first embodiment method performed at least in part by a first embodiment system; and

[0005] Figure 3 is a block diagram illustrating the machine logic (eg, software) portion of the first embodiment system. DETAILED DESCRIPTION

[0006] Some embodiments of the present invention are directed to improving the runtime and discovery recovery performance of a cloud-based logical volume management system when performing mirror write operations. A mirror write consistency check (MWCC) strategy that combines aspects of active MWCC strategies and passive MWCC strategies is utilized to more effectively ensure that data is correctly mirrored from a first copy of a logical volume to a second copy of the logical volume (and potentially to multiple other copies of the logical volume).

[0007] The Detailed Description section is divided into the following subsections: (i) Hardware and Software Environment; (ii) Example Embodiments; (iii) Further Comments and / or Embodiments; and (iv) Definitions.

[0008] I. Hardware and Software Environment

[0009] The present invention may be a system, method and / or computer program product. The computer program product may include a computer-readable storage medium (or multiple media) having computer-readable program instructions thereon, the computer-readable program instructions being used to cause a processor to perform various aspects of the present invention.

[0010] Computer readable storage medium can be a tangible device that can retain and store instructions used by an instruction execution device. Computer readable storage medium can be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer readable storage medium includes the following: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device (such as a punch card or a convex structure in a groove on which instructions are recorded), and any suitable combination of the foregoing. Computer readable storage medium as used herein should not be interpreted as a temporary signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagated by a waveguide or other transmission medium (for example, a light pulse transmitted by an optical fiber cable), or an electrical signal transmitted by a wire.

[0011] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device, or downloaded to an external computer or external storage device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network). The network can include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network, and forwards the computer-readable program instructions to be stored in a computer-readable storage medium in the corresponding computing / processing device.

[0012] The computer-readable program instructions for performing the operation of the present invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​(such as Smalltalk, C++, etc.) and conventional process programming languages ​​(such as "C" programming languages ​​or similar programming languages). The computer-readable program instructions may be executed completely on the user's computer, partially on the user's computer, executed as an independent software package, partially on the user's computer and partially on a remote computer, or completely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network (including a local area network (LAN) or a wide area network (WAN)), or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, in order to perform various aspects of the present invention, an electronic circuit including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) may perform computer-readable program instructions by personalizing the electronic circuit using the state information of the computer-readable program instructions.

[0013] Various aspects of the present invention are described herein with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products according to embodiments of the present invention. It will be understood that each frame of the flowchart and / or block diagram and the combination of frames in the flowchart and / or block diagram can be implemented by computer-readable program instructions.

[0014] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device create a device for implementing the functions / actions specified in one or more boxes of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, which can guide the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable storage medium having the instructions stored therein includes an article of manufacture, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes of the flowchart and / or block diagram.

[0015] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device, so that a series of operational steps are performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, so that the instructions executed on the computer, other programmable apparatus, or other device implement the functions / actions specified in one or more boxes of the flowchart and / or block diagram.

[0016] The flow chart and block diagram in the accompanying drawings illustrate the architecture, function and operation of the possible implementation of the system, method and computer program product according to various embodiments of the present invention.In this respect, each frame in the flow chart or block diagram can represent a module, segment or part of an instruction, which includes one or more executable instructions for realizing the specified logical function.In some alternative implementations, the function mentioned in the frame may not occur in the order mentioned in the figure.For example, the two frames shown in succession can actually be performed substantially at the same time, or these frames can sometimes be performed in reverse order, depending on the function involved.It will also be noted that each frame in the block diagram and / or flow chart and the combination of the frames in the block diagram and / or flow chart can be realized by a system based on dedicated hardware that performs a specified function or action or performs a combination of dedicated hardware and computer instructions.

[0017] Embodiments of possible hardware and software environments of the software and / or method according to the present invention will now be described in detail with reference to the accompanying drawings. Figure 1 1 is a functional block diagram showing various parts of the networked computer system 100, including: server subsystem 102; client subsystems 104, 106, 108, 110, 112; communication network 114; server computer 200; communication unit 202; processor group 204; input / output (I / O) interface group 206; memory device 208; persistent storage device 210; display device 212; external device group 214; random access memory (RAM) device 230; cache memory device 232; and program 300.

[0018] Subsystem 102 is representative in many respects of various computer subsystems in the present invention. Accordingly, several portions of subsystem 102 will now be discussed in the following paragraphs.

[0019] Subsystem 102 may be a laptop computer, a tablet computer, a netbook computer, a personal computer (PC), a desktop computer, a personal digital assistant (PDA), a smart phone, or any programmable electronic device capable of communicating with a client subsystem via network 114. Program 300 is a collection of machine-readable instructions and / or data for creating, managing, and controlling certain software functions that are discussed in detail in the Example Embodiments subsection of this Detailed Description section below.

[0020] Subsystem 102 is able to communicate with other computer subsystems via network 114. Network 114 may be, for example, a local area network (LAN), a wide area network (WAN) such as the Internet, or a combination of both, and may include wired, wireless, or fiber optic connections. In general, network 114 may be any combination of connections and protocols that will support communication between server and client subsystems.

[0021] Subsystem 102 is shown as a block diagram with many double arrows. These double arrows (without separate reference numbers) represent a communication structure that provides communication between the various components of subsystem 102. The communication structure can be implemented using any architecture designed to transfer data and / or control information between processors (such as microprocessors, communication and network processors, etc.), system memory, peripheral devices, and any other hardware components within the system. For example, the communication structure can be implemented at least in part using one or more buses.

[0022] Memory 208 and persistent storage 210 are computer-readable storage media. In general, memory 208 may include any suitable volatile or non-volatile computer-readable storage media. It should also be noted that now and / or in the near future: (i) external device 214 may be able to provide some or all of the memory for subsystem 102; and / or (ii) a device external to subsystem 102 may be able to provide memory for subsystem 102.

[0023] Program 300 is stored in persistent storage 210 for access and / or execution by one or more corresponding computer processors 204, typically through one or more memories in memory 208. Persistent storage 210: (i) is at least more permanent than a signal in transit; (ii) stores the program (including its soft logic and / or data) on a tangible medium (such as a magnetic or optical domain); and (iii) is much less permanent than permanent storage. Alternatively, data storage may be more permanent and / or more permanent than the type of storage provided by persistent storage 210.

[0024] Program 300 may include machine-readable and executable instructions and / or substantive data (i.e., the type of data stored in a database). In this particular embodiment, persistent storage device 210 includes a magnetic hard drive. To name some possible variations, persistent storage device 210 may include a solid-state hard drive, a semiconductor memory device, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.

[0025] The media used by persistent storage 210 may also be removable. For example, a removable hard drive may be used for persistent storage 210. Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into a drive for transfer to another computer-readable storage medium that is also part of persistent storage 210.

[0026] In these examples, communications unit 202 provides communications with other data processing systems or devices external to subsystem 102. In these examples, communications unit 202 includes one or more network interface cards. Communications unit 202 can provide communications using one or both of physical and wireless communications links. Any software modules discussed herein can be downloaded to a persistent storage device, such as persistent storage device 210, through a communications unit, such as communications unit 202.

[0027] The I / O interface group 206 allows data input and output with other devices that can be locally connected to the server computer 200 in a data communication manner. For example, the I / O interface group 206 provides a connection to the external device group 214. The external device group 214 will generally include devices such as a keyboard, a keypad, a touch screen and / or some other suitable input device. The external device group 214 may also include a portable computer readable storage medium, such as, for example, a thumb drive, a portable optical disk or disk, and a memory card. Software and data (e.g., program 300) for implementing an embodiment of the present invention may be stored on such a portable computer readable storage medium. In these embodiments, the relevant software may (or may not) be loaded in whole or in part onto the persistent storage device 210 via the I / O interface group 206. The I / O interface group 206 is also connected to the display device 212 in a data communication manner.

[0028] Display device 212 provides a mechanism for displaying data to a user and may be, for example, a computer monitor or a smartphone display screen.

[0029] The programs described herein are identified based on the applications in which they are implemented in specific embodiments of the invention. However, it should be understood that any specific program terminology herein is used only for convenience, and thus the present invention should not be limited to use only in any specific application identified and / or implied by such terminology.

[0030] The description of various embodiments of the present invention has been given for the purpose of illustration, but it is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope of the described embodiments. The terms used herein are selected to best explain the principles of the embodiments, practical applications or technical improvements over technologies found on the market, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

[0031] II. Example Embodiments

[0032] Figure 2 A flow chart 250 depicting a method according to the present invention is shown. Figure 3A procedure 300 is shown for performing at least some of the method operations of flowchart 250. In the course of the following paragraphs, reference will now be made extensively to Figure 2 (for method action boxes) and Figure 3 (for software boxes) to discuss the method and associated software.

[0033] Processing begins at operation S255, where a data receiving module ("mod") 305 receives an original user data set. In some embodiments of the present invention, the original user data set includes any data originated and / or otherwise obtained by an enterprise for use in a cloud computing environment. In some embodiments, the original user data set is a large data set (i.e., the original user data set is a data set that is too large or too complex to be utilized by traditional data processing methods). Additionally or alternatively, the original user data set is an application data set configured to run on a physical server or a virtual server.

[0034] Processing proceeds to operation S260, where the mirror data module 310 mirrors the original user data set from the first copy of the logical volume to the second copy of the logical volume. In some embodiments of the present invention, the mirror data module 310 uses a "hybrid" mirror write consistency check (MWCC) strategy to mirror the original user data set from the first copy of the logical volume to the second copy of the logical volume. In some embodiments, the mirror data module 310 mirrors using a "hybrid" MWCC strategy to mirror the original user at least from the first copy of the logical volume to multiple other copies of the logical volume (i.e., in at least one instance, the "hybrid" MWCC strategy does not necessarily require a one-to-one association between copies of the logical volume).

[0035] Processing proceeds to operation S265, where the mirror detection module 315 determines that at least a first portion of the original user data set is not mirrored from the first volume group to the second volume group due to an error. Typically, when mirroring data in a cloud computing environment, errors sometimes occur where an incomplete data set is mirrored. In some cases, a data set that has 99% of its content mirrored from a first location to at least a second location may be problematic (especially when the data includes sensitive data such as health-related data or time-sensitive data). In such a case, such incomplete and erroneous mirroring of the data may cause the entire logical volume to be resynchronized, which is inefficient in terms of properly utilizing computing resources and inefficient in terms of minimizing computing time.

[0036] In these cases, it is important that the mirror detection module 315 not only determines that at least a first portion of the original user data set is not mirrored, but also determines the extent to which the same data is not mirrored. This determination allows the "hybrid" MWCC strategy to effectively detect which data (i.e., write data) is erroneous without having to read through the entire data set (as discussed in more detail in Subsection III below).

[0037] Processing proceeds to operation S270, where the virtual persistent memory (vPMEM) allocation module 320 allocates a set of virtual persistent memory disks to each logical partition included in at least the first volume group. In some embodiments of the present invention, these logical partitions are constructed and configured to track a predefined number of write operations (such as 510 writes, as mentioned below in subsection III). Additionally or alternatively, the vPMEM allocation module 320 is constructed and configured to add a signature to the volume group.

[0038] The logical volume manager (in this case, module 320 acts as the logical volume manager) uses the signature (such as "LVMMWCC vPMEM", as mentioned below in subsection III) to add at least one virtual persistent memory disk to at least a first volume group that is compatible with the signature (i.e., adds at least one virtual persistent memory disk to a volume group that cannot fail when it is used for any MWCC purpose).

[0039] Processing proceeds to operation S275, where the vPMEM checking module 325 reviews the first portion of the original user data that is not mirrored (discussed above in conjunction with operation S265). In some embodiments, the vPMEM checking module 325 determines which subset of the write operations included in the first portion of the original user data are erroneous (i.e., which write operations are not mirrored, as discussed in more detail above in conjunction with operation S265). In some embodiments, the vPMEM checking module 325 uses a "hybrid" MWCC to review previous write operations up to the most recent previous 510 writes. The set of these 510 writes is used as the basis for the module 325 to effectively and comprehensively identify all writes that are not mirrored from the first copy of the logical volume to at least the second copy of the logical volume.

[0040] The process eventually proceeds to operation S280, where the mirror data module 310 mirrors the write operation considered to be erroneous from the first copy of the logical volume to at least the second copy of the logical volume. In some embodiments of the present invention, the mirror data module 310 uses the same "hybrid" MWCC strategy to mirror the "erroneous" data from the original user data set (as discussed above in conjunction with operation S255).

[0041] III. Further Comments and / or Examples

[0042] As used throughout this document, Virtual Persistent Memory (vPMEM) is an enhancement of the proprietary advanced virtualization platform and introduces the ability to configure persistent volumes using conventional DRAM (Dynamic Random Access Memory) memory modules available in every IBM POWER9 and later system. Since vPMEM is built on DRAM technology, it has the same performance characteristics as DRAM, which enables IBM POWER9 users to accelerate their applications. In some cases, virtual persistent memory volumes are persistent across LPAR (logical partition) restarts, but the contents are lost on CEC (physical server) restarts.

[0043] In some embodiments, AIX will add support for using vPMEM as disks. In some embodiments, asynchronous GLVM (Geographic Logical Volume Manager) provides AIX-based data mirroring across distances over the network. Asynchronous GLVM can be deployed with a dedicated high-availability system image for use with a dedicated operating system or as a standalone feature. The dedicated high-availability system image provides an easy-to-setup interface for asynchronous GLVM and disk management systems. The GLVM feature is used to provide replication in the cloud.

[0044] Mirror Write Consistency Check (MWCC) is a logical volume policy that ensures that a mirror is in a consistent (not up-to-date) state after a system crash and / or restart.

[0045] There are two types of MWCC strategies: active MWCC and passive MWCC.

[0046] Regarding active MWCC, the LV (logical volume) strategy includes the following aspects: (i) MWCC records are located on each disk of the volume group; (ii) the last 510 writes to the mirrored volume group are tracked; (iii) when a logical volume is using active MWCC, write requests to the logical volume are maintained until the MWCC records are updated on the disk; (iv) the MWCC records are updated after the actual write request is completed; and (v) if the LPAR (logical partition) crashes in the middle of performing a write operation, the last 510 write operations to the mirror are reviewed upon restart, and one of the mirrors is used as the "source" for synchronizing the mirror.

[0047] The active MWCC strategy has runtime performance impact. In some embodiments, a large number of random writes to the active MWCC logical volume may fill up all MWCC cache slots. This results in the remaining I / O being in the pending queue.

[0048] With respect to passive MWCC, this LVM policy includes the following aspects: (i) the volume group (VG) tracks the first open and last close of each logical volume in the volume group metadata; and (ii) the policy has a negative impact on disaster recovery performance. For example, after a crash occurs when the volume group is varied on, the vary on process will automatically start a forced synchronization of the entire logical volume that is in the open state. Synchronizing the entire LV affects application performance after a system crash. Until the synchronization is complete, any read to the LV will become a write to the other mirror. In addition, because GLVM is widely used in the cloud, even a small network outage will cause a significant performance impact due to the overlap of SyncVG IO with cache I / O, and the synchronization will start from the beginning.

[0049] An embodiment of the present invention defines a new MWCC strategy that uses a combination of both an active MWCC strategy using a vPMEM disk and a passive MWCC strategy.

[0050] In one embodiment, the "hybrid" MWCC policy utilizes the following operations (not necessarily in the following order): (i) add a vPMEM disk to each logical partition (LPAR), which can be used to track active mirroring requests for all volume groups (VGs) in the LPAR; the VG is in the LPAR; (ii) add vPMEM to the root VG; (iii) add a new signature "LVM MWCC vPMEM" to the disk; (iv) have LVM check the signature of the disk before adding the disk to the VG; and (v) define a new MWCC policy that uses a combination of both active MWCC policies that utilize virtual persistent memory (vPMEM) disks and passive MWCC policies.

[0051] In some embodiments, if the disk has an "LVM MWCC vPMEM" signature, the disk driver fails any non-LVM requests. This allows the disk to be used only for MWCC purposes. In some embodiments, LVM provides commands for marking and / or clearing "LVMMWCC vPMEM" disks. According to some aspects of the "active" MWCC strategy, the vPMEM will be divided into multiple chunks of one (1) megabyte (MB). This division tracks 127,500 requests per volume group (VG), which is 250 instances of 510 writes.

[0052] Additionally, this new "hybrid" strategy tracks the open state of the logical volume. If the logical partition (LPAR) crashes in the middle of performing a write operation, then on restart, the last write to the mirror is recovered from the vPMEM disk and synchronized with the mirror. Additionally, if the system restarts, the entire logical volume is synchronized.

[0053] IV. Definitions

[0054] The present invention: should not be taken as an absolute indication that the subject matter described by the term "the present invention" is covered by the claims at the time the claims are filed, or by claims that may eventually issue subsequent to the patent application; while the term "the present invention" is used to help the reader gain a general sense that the disclosure herein is believed to be potentially novel, that understanding, as indicated by the use of the term "the present invention," is tentative and provisional, and is subject to change during the course of a patent application as relevant information develops and the claims are potentially amended.

[0055] Embodiment: See above definition of "the present invention" - similar considerations apply to the term "embodiment".

[0056] And / or: inclusive or; for example, A, B "and / or" C means at least one of A or B or C is actual and applicable.

[0057] including / include / includes: unless expressly stated otherwise, means “including but not necessarily limited to”.

[0058] User / Subscriber: includes but is not necessarily limited to: (i) a single individual person; (ii) an artificial intelligence entity with sufficient intelligence to act as a user or subscriber; and / or (iii) a group of related users or subscribers.

[0059] Data Communication: Any type of data communication scheme now known or developed in the future, including wireless communication, wired communication, and communication routes having wireless and wired portions; data communication is not necessarily limited to: (i) direct data communication; (ii) indirect data communication; and / or (iii) data communication in which the format, packetization state, medium, encryption state, and / or protocol remain unchanged throughout the data communication process.

[0060] Receive / Provide / Send / Input / Output / Report: Unless expressly specified otherwise, these words should not be taken to imply: (i) any particular degree of directness regarding the relationship between its object and subject; and / or (ii) the absence of intervening components, actions and / or things between its object and subject.

[0061] No substantial human intervention: A process that occurs automatically (typically through the operation of machine logic, such as software) with little or no human input; some examples involving "no substantial human intervention" include: (i) a computer is performing complex processing, and due to a power outage in the grid power, a human switches the computer to an alternate power source so that processing continues uninterrupted; (ii) a computer is performing resource-intensive processing, and a human confirms that the resource-intensive processing should indeed be performed (in this case, the confirmation process considered in isolation is with substantial human intervention, but the resource-intensive processing does not include any substantial human intervention, although a simple yes-no style confirmation by a human is required); and (iii) using machine logic, a computer has made a significant decision (e.g., a decision to land all aircraft in anticipation of severe weather), but before implementing the significant decision, the computer must obtain a simple yes-no style confirmation from a human source.

[0062] Automatically: without any human intervention.

[0063] Module / Sub-module: Any collection of hardware, firmware, and / or software that works operatively to perform a function, regardless of whether the module is: (i) in a single local proximity; (ii) distributed over a wide area; (iii) in a single proximity within a larger software code segment; (iv) located within a single software code segment; (v) located in a single storage device, memory, or medium; (vi) mechanically connected; (vii) electrically connected; and / or (viii) connected in a data communication manner.

[0064] Computer: Any device with significant data processing and / or machine-readable instruction reading capabilities, including but not limited to: desktop computers, mainframe computers, laptop computers, field programmable gate array (FPGA) based devices, smart phones, personal digital assistants (PDAs), body-mounted or plug-in computers, embedded device type computers, and application-specific integrated circuit (ASIC) based devices.

Claims

1. A computer-implemented method CIM, comprising: Receiving an original user data set from a first logical volume LV of a volume group VG, wherein the original user data set is stored on a first virtual persistent storage disk; Mirroring the original user data set from the first copy of the LV to the second copy of the LV through a mirror write consistency check MWCC strategy; determining that a first portion of the original user data set is not mirrored from the first copy of the LV to the second copy of the LV; allocating a set of virtual persistent storage disks to each logical partition of a plurality of logical partitions, wherein each logical partition tracks a predefined number of write operations; reviewing a first portion of the set of virtual persistent storage disks through the mirror write consistency check policy to determine which write operation of the predefined number of write operations is erroneous; as well as In response to the review, write operations that are considered to be erroneous are mirrored from the first copy of the LV to the second copy of the LV through the MWCC policy.

2. The CIM of claim 1, further comprising: A mirror write signature is assigned by a logical volume manager to the first virtual persistent storage disk so that the first virtual persistent storage disk is configured only for mirror write purposes.

3. The CIM of claim 1 , further comprising: checking, by the logical volume manager, the image write signature of the first virtual persistent storage disk; as well as In response to the checking, the first virtual persistent storage disk is added, by the logical volume manager, to a first volume group.

4. The CIM according to claim 1, wherein: If the first virtual persistent storage disk has the mirror write signature, a disk driver of the first virtual persistent storage disk fails non-LVM requests.

5. The CIM of claim 1, wherein: The mirror write consistency check policy allows each logical partition of the plurality of partitions to be constructed and configured to synchronize a most recent set of write operations from the first copy of the LV to the second copy of the LV if a client partition crashes during a write operation.

6. The CIM of claim 1, wherein: The mirror write consistency check policy monitors a consistent state of a mirror write from the first copy of the LV to at least the second copy of the LV.

7. A computer program product (CPP), comprising: a machine-readable storage device; as well as Computer code stored on the machine-readable storage device, wherein the computer code includes instructions and data for causing one or more processor groups to perform operations including the following steps: receiving an original user data set from a first logical volume LV of a volume group VG, wherein the original user data set is stored on a first virtual persistent storage disk, The original user data set is mirrored from the first copy of the LV to the second copy of the LV through the mirror write consistency check MWCC strategy, determining that a first portion of the original user data set is not mirrored from the first copy of the LV to the second copy of the LV, allocating a set of virtual persistent storage disks to each logical partition of a plurality of logical partitions, wherein each logical partition tracks a predefined number of write operations, reviewing a first portion of the set of virtual persistent storage disks through the mirror write consistency check policy to determine which write operation of the predefined number of write operations is erroneous, and In response to the review, write operations that are considered to be erroneous are mirrored from the first copy of the LV to the second copy of the LV through the MWCC policy.

8. The CPP according to claim 7, further comprising: A mirror write signature is assigned by a logical volume manager to the first virtual persistent storage disk so that the first virtual persistent storage disk is configured only for mirror write purposes.

9. The CPP according to claim 7, further comprising: checking, by the logical volume manager, the image write signature of the first virtual persistent storage disk; as well as In response to the checking, the first virtual persistent storage disk is added, by the logical volume manager, to a first volume group.

10. The CPP according to claim 7, wherein: If the first virtual persistent storage disk has the mirror write signature, a disk driver of the first virtual persistent storage disk fails non-LVM requests.

11. The CPP according to claim 7, wherein: The mirror write consistency check policy allows each logical partition of the plurality of partitions to be constructed and configured to synchronize a most recent set of write operations from the first copy of the LV to the second copy of the LV if a client partition crashes during a write operation.

12. The CPP according to claim 7, wherein: The mirror write consistency check policy monitors a consistent state of a mirror write from the first copy of the LV to at least the second copy of the LV.

13. A computer system CS comprising: one or more processor groups; a machine-readable storage device; as well as Computer code stored on the machine-readable storage device, wherein the computer code includes instructions and data for causing the one or more processor groups to perform operations including the following steps: receiving an original user data set from a first logical volume LV of a volume group VG, wherein the original user data set is stored on a first virtual persistent storage disk, The original user data set is mirrored from the first copy of the LV to the second copy of the LV through the mirror write consistency check MWCC strategy, determining that a first portion of the original user data set is not mirrored from the first copy of the LV to the second copy of the LV, allocating a set of virtual persistent storage disks to each logical partition of a plurality of logical partitions, wherein each logical partition tracks a predefined number of write operations, reviewing a first portion of the set of virtual persistent storage disks through the mirror write consistency check policy to determine which write operation of the predefined number of write operations is erroneous, and In response to the review, write operations that are considered to be erroneous are mirrored from the first copy of the LV to the second copy of the LV through the MWCC policy.

14. The CS according to claim 13, further comprising: A mirror write signature is assigned by a logical volume manager to the first virtual persistent storage disk so that the first virtual persistent storage disk is configured only for mirror write purposes.

15. The CS according to claim 13, further comprising: checking, by the logical volume manager, the image write signature of the first virtual persistent storage disk; as well as In response to the checking, the first virtual persistent storage disk is added, by the logical volume manager, to a first volume group.

16. The CS according to claim 13, wherein: If the first virtual persistent storage disk has the mirror write signature, a disk driver of the first virtual persistent storage disk fails non-LVM requests.

17. The CS according to claim 13, wherein: The mirror write consistency check policy allows each logical partition of the plurality of partitions to be constructed and configured to synchronize a most recent set of write operations from the first copy of the LV to the second copy of the LV if a client partition crashes during a write operation.

18. The CS according to claim 13, wherein: The mirror write consistency check policy monitors a consistent state of a mirror write from the first copy of the LV to at least the second copy of the LV.