Mirror Write Consistency Checking Policy for Logical Volume Manager Systems
The hybrid MWCC policy with vPMEM disks addresses inefficiencies in cloud-based data mirroring by combining active and passive policies, improving data consistency and recovery efficiency.
Patent Information
- Application Number
- JP2025514130
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-09-22
- Filing Date
- 2023-07-12
- Publication Date
- 2025-09-19
AI Technical Summary
Existing cloud-based logical volume management systems face inefficiencies in mirror write operations, particularly in ensuring data mirroring consistency and recovery performance, especially when errors occur during data transfer.
A hybrid mirror write consistency check (MWCC) policy that combines active and passive MWCC policies, utilizing virtual persistent memory (vPMEM) disks to efficiently detect and correct errors in data mirroring, ensuring consistent data replication across multiple copies.
Enhances runtime and disaster recovery performance by efficiently detecting and correcting errors in data mirroring, reducing resource utilization and time required for synchronization.
Smart Images

Figure 2025531088000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates generally to the field of logical volume managers, and more particularly to utilizing logical volume managers to enable the proper mirroring of large amounts of enterprise-related data in cloud-based environments. Summary of the Invention
[0002] According to one aspect of the present invention, a method for managing a volume group (VG) includes (not necessarily in the following order): (i) receiving an original user data set by 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 the first copy of the LV to a second copy of the LV according to 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; and (iv) configuring a plurality of logical partitions. and (vi) in response to the checking, mirroring, in accordance with the MWCC policy, the write operations deemed erroneous from the first copy of the LV to the second copy of the LV. [Brief explanation of the drawings]
[0003] [Figure 1] 1 is a block diagram of a first embodiment of a system according to the present invention;
[0004] [Figure 2]a flowchart illustrating the method of the first embodiment, which is performed at least in part by the system of the first embodiment; and
[0005] [Figure 3] FIG. 2 is a block diagram showing the machine logic (eg, software) portion of the system of the first embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0006] Some embodiments of the present invention are directed to improving the runtime and discovery recovery performance of cloud-based logical volume management systems when performing mirror write operations. A mirror write consistency check (MWCC) policy incorporates aspects of an active MWCC policy and a passive MWCC policy and is utilized to more efficiently ensure that data is properly mirrored from a first copy of a logical volume to a second copy of the logical volume (and potentially multiple other copies of the logical volume).
[0007] This Detailed Description section is divided into the following subsections: (i) Hardware and Software Environment; (ii) Exemplary Embodiments; (iii) Further Comments and / or Embodiments; and (iv) Definitions. I. Hardware and Software Environment
[0008] The present invention may be a system, a method, and / or a computer program product, which may include one or more computer-readable storage media having computer-readable program instructions for causing a processor to perform aspects of the present invention.
[0009] A computer-readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. The computer-readable storage medium may be, for example, but is 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 media includes the following: portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, punch cards, or mechanically encoded devices such as ridge structures in grooves in which instructions are recorded, and any suitable combination of the foregoing. Computer-readable storage medium, as used herein, should not be construed as a transitory signal per se, such as an electric wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse passing through a fiber optic cable), or an electrical signal transmitted through a wire.
[0010] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may comprise copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions to a computer-readable storage medium in the respective computing / processing device for storage.
[0011] The computer-readable program instructions that carry out the operations of the present invention may be source code or object code written in any combination of one or more programming languages, including assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or object-oriented programming languages such as Smalltalk, C++, or the like, and conventional procedural programming languages such as the "C" programming language or similar. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, a field programmable gate array (FPGA), or a programmable logic array (PLA) may execute computer readable program instructions to personalize the electronic circuitry by utilizing state information of the computer readable program instructions to perform aspects of the present invention.
[0012] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0013] These computer-readable program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, executed by the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions, which can direct a computer, programmable data processing apparatus, and / or other device to function in a particular manner, may be stored on a computer-readable storage medium, such that the computer-readable storage medium having the instructions stored thereon comprises an article of manufacture containing instructions that implement aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0014] The computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be executed on the computer, other programmable apparatus, or other device to generate a computer-implemented process, such that the instructions executing on the computer, other programmable apparatus, or other device implement the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0015] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, including one or more executable instructions, that implements a specified logical function. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, may be implemented by a dedicated hardware-based system that performs the specified functions or operations or executes a combination of dedicated hardware and computer instructions.
[0016]
[0013] Embodiments of possible hardware and software environments for software and / or methods according to the present invention will now be described in detail with reference to the figures. Figure 1 is a functional block diagram illustrating various portions of a networked computer system 100, including a server subsystem 102; client subsystems 104, 106, 108, 110, 112; a communications network 114; a server computer 200; a communications unit 202; a processor set 204; an input / output (I / O) interface set 206; a memory device 208; a persistent storage device 210; a display device 212; an external device set 214; a random access memory (RAM) device 230; a cache memory device 232; and programs 300.
[0017] Subsystem 102 is in many respects representative of various computer subsystems in the present invention, and therefore, several portions of subsystem 102 will now be described in the following paragraphs.
[0018] Subsystem 102 may be a laptop computer, tablet computer, notebook computer, personal computer (PC), desktop computer, personal digital assistant (PDA), smartphone, or any programmable electronic device capable of communicating with a client subsystem over network 114. Program 300 is a collection of machine-readable instructions and / or data used to create, manage, and control specific software functions that will be described in detail below in the "Illustrative Embodiments" subsection of the Detailed Description section.
[0019] Subsystem 102 can communicate with other computer subsystems via network 114. Network 114 can be, for example, a local area network (LAN), a wide area network (WAN) such as the Internet, or a combination of the two, and can include wired, wireless, or fiber optic connections. In general, network 114 can be any combination of connections and protocols that support communication between server and client subsystems.
[0020] Subsystem 102 is shown as a block diagram with multiple double-headed arrows. These double-headed arrows (without individual reference numbers) represent a communications fabric, which provides communication between the various components of subsystem 102. This communications fabric may be implemented using any architecture designed to communicate data and / or control information between a processor (e.g., a microprocessor, a communications network processor, etc.), system memory, peripheral devices, and any other hardware components in the system. For example, the communications fabric may be implemented at least in part using one or more buses.
[0021] 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 medium. It is further noted that, currently and / or in the near future, (i) external devices 214 may be able to provide some or all of the memory for subsystem 102; and / or (ii) devices external to subsystem 102 may be able to provide memory for subsystem 102.
[0022] The program 300 is stored in persistent storage 210 and is accessed and / or executed by one or more of the respective computer processors 204, typically through one or more memories in memory 208. Persistent storage 210 (i) is at least more persistent than signals in transmission; (ii) stores the program (including its soft logic and / or data) on a tangible medium (e.g., magnetic or optical domain); and (iii) is substantially less persistent than permanent storage. Alternatively, data storage may be more persistent and / or permanent than the type of storage provided by persistent storage 210.
[0023] Program 300 may include both machine-readable and executable instructions and / or tangible data (i.e., the type of data stored in a database). In this particular embodiment, persistent storage 210 includes a magnetic hard disk drive. To name a few possible variations, persistent storage 210 may include a solid-state hard drive, a semiconductor storage device, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.
[0024] 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.
[0025] Communications unit 202, in these examples, provides for communication 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 may provide for communication through the use of either or both physical and wireless communications links. Any of the software modules described herein may be downloaded to a persistent storage device (e.g., persistent storage device 210) through a communications unit (e.g., communications unit 202).
[0026] The I / O interface set 206 enables data input and output with other devices that may be locally connected and in data communication with the server computer 200. For example, the I / O interface set 206 provides connection to the external device set 214. The external device set 214 typically includes devices such as a keyboard, a keypad, a touchscreen, and / or some other suitable input device. The external device set 214 may also include portable computer-readable storage media, such as thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to implement embodiments of the present invention, such as the program 300, may be stored on such portable computer-readable storage media. In these embodiments, the associated software may (or may not) be loaded, in whole or in part, into the persistent storage device 210 via the I / O interface set 206. The I / O interface set 206 also connects to the display device 212 for data communication.
[0027] The 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.
[0028] The programs described herein are identified based on the applications for which they are implemented in specific embodiments of the invention. However, it should be understood that any particular program names herein are used merely for convenience, and therefore the present invention should not be limited to use in only any particular application identified and / or suggested by such names.
[0029] The description of various embodiments of the present invention has been presented for illustrative purposes, and is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the described embodiments. The terminology used in this specification has been selected to best explain the principles of the embodiments, practical applications, or technical improvements to technology found in the market, or to enable others skilled in the art to understand the embodiments disclosed herein. II. Illustrative Embodiments
[0030] Figure 2 shows a flowchart 250 illustrating a method in accordance with the present invention. Figure 3 shows a program 300 for performing at least some of the operations of the method of flowchart 250. This method and associated software will now be described throughout the following paragraphs with general reference to Figure 2 (for the operational blocks of the method) and Figure 3 (for the software blocks).
[0031] Processing begins at operation S255, where a data receiving module ("mod") 305 receives an original user data set. In some embodiments of the invention, the original user data set includes any data created and / or otherwise acquired 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 or virtual server.
[0032] Processing continues to operation S260, where the mirroring data mod 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 invention, the mirroring data mod 310 mirrors the original user data set from the first copy of the logical volume to the second copy of the logical volume using a “hybrid” mirror write consistency checking (MWCC) policy. In some embodiments, the mirroring data mod 310 mirrors the original user data set from at least the first copy of the logical volume to multiple other copies of the logical volume using the “hybrid” MWCC policy (i.e., in at least one example, the “hybrid” MWCC policy does not necessarily require a one-to-one association between copies of the logical volume).
[0033] Processing continues 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 can occur if an incomplete set of data is mirrored. In some cases, a data set with 99% of its contents mirrored from a first location to at least a second location can be problematic (especially when the data includes sensitive data, such as health-related or time-sensitive data). In such cases, this incomplete and erroneous mirroring of the data can result in the entire logical volume being resynchronized, which is inefficient in terms of properly utilizing computing resources and minimizing computing time.
[0034] In these cases, it is important that the mirror detection mod 315 determine not only that at least a first portion of the original user data set is not mirrored, but also to what extent that same data is not mirrored. This determination allows a "hybrid" MWCC policy to efficiently detect which data (i.e., write data) is erroneous without having to read through the entire data set (as described in more detail below in subsection III).
[0035] Processing continues to operation S270, where virtual persistent memory (vPMEM) allocation mod 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 invention, these logical partitions are structured and configured to track a predefined number of write operations (e.g., 510 writes, as described below in Subsection III). Additionally or alternatively, vPMEM allocation mod 320 is structured and configured to add a signature to the volume group.
[0036] This signature (e.g., "LVM MWCC vPMEM" as described below in Subsection III) is used by a logical volume manager (in this case, mod 320 acting as a logical volume manager) to add at least one virtual persistent memory disk to at least a first volume group compatible with the signature (i.e., add at least one virtual persistent memory disk to a volume group that will not become non-functional when used for any MWCC purposes).
[0037] Processing continues to operation S275, where vPMEM checkmod 325 examines the first portion of the original user data that was not mirrored (as described above in connection with operation S265). In some embodiments, vPMEM checkmod 325 determines which subset of write operations included in the first portion of the original user data are erroneous (i.e., which write operations were not mirrored, as described in more detail above in connection with operation S265). In some embodiments, vPMEM checkmod 325 uses a “hybrid” MWCC to reexamine previous write operations, up to the earliest 510 writes. This set of 510 writes is used as a basis for vPMEM checkmod 325 to efficiently and comprehensively identify all writes that were not mirrored from the first copy of the logical volume to at least the second copy of the logical volume.
[0038] Processing finally proceeds to operation S280, where the mirroring data mod 310 mirrors the write operation deemed erroneous from the first copy of the logical volume to at least the second copy of the logical volume. In some embodiments of the invention, the mirroring data mod 310 mirrors the "erroneous" data from the original user data set (as described above in connection with operation S255) using the same "hybrid" MWCC policy. III. Further Comments and / or Embodiments
[0039] As used throughout this specification, virtual persistent memory (vPMEM) is an extension of the proprietary advanced virtualization platform that introduces the ability to configure persistent volumes using traditional dynamic random access memory (DRAM) memory modules available on all IBM POWER9 systems and later. Because vPMEM is built on DRAM technology, it has the same performance characteristics as DRAM, allowing IBM POWER9 users to accelerate their applications. In some cases, virtual persistent memory volumes persist across LPAR (logical partition) reboots, but lose their contents across CEC (physical server) reboots.
[0040] In some embodiments, AIX will add support for using vPMEM as a disk. In some embodiments, asynchronous GLVM (geographic logical volume manager) provides mirroring of AIX-based data over distances over the network. Asynchronous GLVM can be deployed with a proprietary high-availability system mirror used with a proprietary operating system or as a standalone feature. The proprietary high-availability system mirror provides an interface to easily set up asynchronous GLVM and a disk management system. GLVM features are used to provide replication in the cloud. AIX is a trademark of IBM Corporation.
[0041] Mirror Write Consistency Checking (MWCC) is a logical volume policy that ensures that mirrors are in a consistent state (not out of date) after a system crash and / or reboot.
[0042] There are two types of MWCC policies: active MWCC and passive MWCC.
[0043] With respect to active MWCC, this LV (logical volume) policy includes the following aspects: (i) an MWCC record resides on each disk in the volume group; (ii) the last 510 writes to the mirrored volume group are tracked; (iii) when a logical volume uses an active MWCC, write requests to this logical volume are held off until the MWCC record is updated on disk; (iv) the MWCC record is updated after the actual write request is completed; and (v) if an LPAR (logical partition) crashes while a write is in progress, upon restart the last 510 writes to the mirrors are examined and one of the mirrors is used as a "source" to synchronize the mirrors.
[0044] The active MWCC policy impacts runtime performance. In some embodiments, a large number of random writes going to an active MWCC logical volume can fill all MWCC cache slots, causing remaining I / O to enter a pending queue.
[0045] Regarding passive MWCC, this LVM policy involves 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 negatively impacts disaster recovery performance. For example, after a crash when a volume group is varied on, the vary-on process will automatically initiate a forced synchronization of all open logical volumes. Synchronizing the entire LV will impact application performance after a system crash. Until the synchronization is complete, any reads to the LV will be redirected to writes to the other mirror. Additionally, since GLVM is widely used in clouds, even a minor network outage can have a significant impact on performance as SyncVG IO overlaps with Cache I / O, causing synchronization to start over from scratch.
[0046] An embodiment of the present invention defines a new MWCC policy that uses a combination of both active and passive MWCC policies that leverage vPMEM disks.
[0047] In one embodiment, this "hybrid" MWCC policy utilizes the following operations (not necessarily in the following order): (i) adding a vPMEM disk per logical partition (LPAR) that can be used to track active mirror requests for all volume groups (VGs) within the LPAR; (ii) adding the vPMEM to the root VG; (iii) adding a new signature "LVM MWCC vPMEM" to the disk; (iv) before adding the disk to the VG, LVM checks the disk's signature; and (v) defining a new MWCC policy that uses a combination of both active and passive MWCC policies that utilize virtual persistent memory (vPMEM) disks.
[0048] In some embodiments, the disk driver will not fulfill any non-LVM requests if the disk has an "LVM MWCC vPMEM" signature. This allows the disk to be used solely for MWCC purposes. In some embodiments, LVM provides commands to mark and / or clear an "LVM MWCC vPMEM" disk. According to some aspects of the "active" MWCC policy, the vPMEM will be split into 1 megabyte (MB) chunks. This split track tracks 127,500 requests per volume group (VG), which corresponds to 250 instances of 510 writes.
[0049] Additionally, this new "hybrid" policy tracks the open state of logical volumes. If a logical partition (LPAR) crashes while a write operation is in progress, upon reboot the last write to the mirror is recovered from the vPMEM disk and synchronized with the mirror. Additionally, if the system is rebooted, the entire logical volume is synchronized. IV. Definition
[0050] The present invention: The subject matter described by the term "the present invention" should not be taken as an absolute indication that it is covered by either the claims at the time of filing or any claims that may eventually be issued after patent prosecution; the term "the present invention" is used to help the reader get a general sense that the disclosures herein are believed to be potentially new, but as indicated by the use of the term "the present invention," this understanding is hypothetical and provisional, and is subject to change during the course of patent prosecution as relevant information develops, as the claims are potentially amended.
[0051] Embodiments: See definition of "present invention" above. A similar caution applies to the term "embodiments."
[0052] "And / or": Inclusive or; for example, A, B, and / or C means that at least one of A or B or C is true and applicable.
[0053] Including / include / includes: means "including but not necessarily limited to," unless expressly stated otherwise.
[0054] User / Subscriber: Includes, but is not necessarily limited to: (i) a single individual; (ii) an artificially intelligent entity with sufficient intelligence to act as a user or subscriber; and / or (iii) a group of related users or subscribers.
[0055] Data Communications: Any type of data communication method now known or later developed, including wireless communication, wired communication, and communication paths that include wireless and wired portions; data communications is not necessarily limited to: (i) direct data communications; (ii) indirect data communications; and / or (iii) data communications in which the format, packetization status, medium, encryption status, and / or protocol remain constant throughout the course of the data communications.
[0056] Receive / Provide / Send / Input / Output / Report: Unless otherwise expressly specified, these words should not be construed as implying (i) any particular degree of directness regarding the relationship between their subject and object, and / or (ii) the absence of intervening intermediate components, actions, and / or things between their subject and object.
[0057] Without Substantial Human Intervention: A process that occurs automatically (often through the operation of machine logic such as software) with little or no human input; some examples that involve "without substantial human intervention" include (i) a computer performing a complex process and a grid power outage causes a human to switch the computer to an alternate power source so that the process continues uninterrupted; (ii) a computer is about to perform a resource-intensive process and a human confirms that the resource-intensive process should actually be performed (in this case, the confirmation process, considered in isolation, involves substantial human intervention, but the resource-intensive process does not involve any substantial human intervention, despite a simple yes-no style confirmation that must be made by a human); and (iii) using machine logic, a computer makes an important decision (e.g., a decision to ground all planes in anticipation of bad weather), but before implementing the important decision, the computer must obtain a simple yes-no style confirmation from a human source.
[0058] Automatic: Without any human intervention.
[0059] Module / Sub-Module: Any set of hardware, firmware, and / or software that operates to perform a certain function, 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; (iv) located within a single software code; (v) located within a single storage device, memory, or medium; (vi) mechanically connected; (vii) electrically connected; and / or (viii) connected by data communication.
[0060] Computer: Any device having 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, smartphones, personal digital assistants (PDAs), body-worn or body-insertable computers, embedded device-style computers, and application-specific integrated circuit (ASIC)-based devices.
Claims
1. receiving an original user data set by 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; mirroring the original user data set from the first copy of the LV to a second copy of the LV according to a mirror write consistency check (MWCC) policy; 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; assigning a set of virtual persistent memory disks to each logical partition of a plurality of logical partitions, wherein each logical partition tracks a predefined number of write operations; examining a first portion of the set of virtual persistent memory disks according to the mirror write consistency checking policy to determine which write operations of the predefined number of write operations were erroneous; and mirroring the write operation deemed erroneous by the MWCC policy from the first copy of the LV to the second copy of the LV in response to the checking; A computer-implemented method (CIM) comprising:
2. assigning, by the logical volume manager, a mirror write signature to the first virtual persistent memory disk such that the first virtual persistent memory disk is configured for mirror write purposes only; The CIM of claim 1 further comprising:
3. checking, by the logical volume manager, the mirror write signature of the first virtual persistent memory disk; and adding, by the logical volume manager, the first virtual persistent memory disk to the first volume group in response to the checking. The CIM of claim 1 further comprising:
4. The CIM of claim 1 , wherein a disk driver of the first virtual persistent memory disk does not fulfill non-LVM requests if the first virtual persistent memory disk has the mirror write signature.
5. 2. The CIM of claim 1, wherein the mirror write consistency check policy enables each logical partition of the plurality of partitions to be structured and configured to synchronize the last 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 mirror writes from the first copy of the LV to at least the second copy of the LV.
7. a machine-readable storage device; and computer code stored on the machine-readable storage device, wherein the computer code causes a processor set to: receiving an original user data set by 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; mirroring the original user data set from the first copy of the LV to a second copy of the LV according to a mirror write consistency check (MWCC) policy; 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; assigning a set of virtual persistent memory disks to each logical partition of a plurality of logical partitions, wherein each logical partition tracks a predefined number of write operations; inspecting a first portion of the set of virtual persistent memory disks according to the mirror write consistency checking policy to determine which write operations of the predefined number of write operations were erroneous; and mirroring the write operation deemed erroneous by the MWCC policy from the first copy of the LV to the second copy of the LV in response to the checking. and instructions and data for performing operations including A computer program product (CPP) comprising:
8. assigning, by the logical volume manager, a mirror write signature to the first virtual persistent memory disk such that the first virtual persistent memory disk is configured for mirror write purposes only; 8. The CPP of claim 7, further comprising:
9. checking, by the logical volume manager, the mirror write signature of the first virtual persistent memory disk; and adding, by the logical volume manager, the first virtual persistent memory disk to the first volume group in response to the checking.
8. The CPP of claim 7, further comprising:
10. 8. The CPP of claim 7, wherein a disk driver of the first virtual persistent memory disk does not fulfill non-LVM requests if the first virtual persistent memory disk has the mirror write signature.
11. 8. The CPP of claim 7, wherein the mirror write consistency check policy enables each logical partition of the plurality of partitions to be structured and configured to synchronize a last 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 of claim 7 , wherein the mirror write consistency check policy monitors a consistent state of mirror writes from the first copy of the LV to at least the second copy of the LV.
13. Processor set; a machine-readable storage device; and computer code stored on said machine-readable storage device, said computer code causing said processor set to: receiving an original user data set by 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; mirroring the original user data set from the first copy of the LV to a second copy of the LV according to a mirror write consistency check (MWCC) policy; 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; assigning a set of virtual persistent memory disks to each logical partition of a plurality of logical partitions, wherein each logical partition tracks a predefined number of write operations; inspecting a first portion of the set of virtual persistent memory disks according to the mirror write consistency checking policy to determine which write operations of the predefined number of write operations were erroneous; and mirroring the write operation deemed erroneous by the MWCC policy from the first copy of the LV to the second copy of the LV in response to the checking. and instructions and data for performing operations including A computer system (CS) comprising:
14. assigning, by the logical volume manager, a mirror write signature to the first virtual persistent memory disk such that the first virtual persistent memory disk is configured for mirror write purposes only; The CS of claim 13 further comprising:
15. checking, by the logical volume manager, the mirror write signature of the first virtual persistent memory disk; and adding, by the logical volume manager, the first virtual persistent memory disk to the first volume group in response to the checking. The CS of claim 13 further comprising:
16. 14. The CS of claim 13, wherein a disk driver of the first virtual persistent memory disk does not fulfill a non-LVM request if the first virtual persistent memory disk has the mirror write signature.
17. 14. The CS of claim 13, wherein the mirror write consistency check policy enables each logical partition of the plurality of partitions to be structured and configured to synchronize a last 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 of claim 13 , wherein the mirror write consistency check policy monitors a consistent state of mirror writes from the first copy of the LV to at least the second copy of the LV.