Hybrid synchronization using a shadow component
Abstract
Hybrid synchronization using a shadow component includes detecting a first component of a plurality of mirrored components of a distributed data object becoming unavailable. The mirrored components include a delta component (a special shadow component) and a regular mirror (shadow) component. The delta component indicates a shorter history of changes to data blocks of a log-structured file system (LFS) than is indicated by the regular mirror component. During the unavailability of the first component, at least one write I/O is committed by the delta component. The commit is tracked by the delta component in a first tracking bitmap associated with the delta component. Based at least on detecting the first component becoming available, the first component is synchronized with data from the delta component, based at least on changed data blocks indicated in the first tracking bitmap.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method comprising:
associating an initially-empty delta component with a base component for use in synchronizing the base component after an upcoming planned outage for a maintenance operation to be performed on the base component, the delta component and the base component having a same address space, the base component having a regular mirror component associated therewith, the delta component having a shorter lifespan than the base component and the regular mirror component; upon the base component going offline, receiving a guest write input/output (I/O) by the delta component and the regular mirror component, the delta component having a shorter history of changes than the regular mirror component which has accumulated additional written blocks before the base component goes offline; and upon the base component becoming available, synchronizing the base component using the delta component by filtering out the accumulated additional written blocks of the regular mirror component using a written status check of data blocks of the delta component.
2 . The method of claim 1 , further comprising creating a tracking bitmap to track the guest write I/O for the base component when the base component goes offline.
3 . The method of claim 1 , further comprising synchronizing another mirror component using the delta component.
4 . The method of claim 1 , further comprising assigning a log sequence number (LSN) to each instance of a write I/O.
5 . The method of claim 4 , wherein the base component is associated with a stale LSN and a last committed LSN when the base component becomes offline, the stale LSN indicating a last write I/O committed on all active mirror components including the regular mirror component and the delta component, the last committed LSN indicating a last write I/O that was committed by the base component.
6 . The method of claim 5 , wherein the stale LSN and the last committed LSN have a same value.
7 . The method of claim 5 , wherein the stale LSN and the last committed LSN have a different value.
8 . A computer system comprising:
a processor; and a non-transitory computer readable medium having stored thereon program code, the program code causing the processor to:
associate an initially-empty delta component with a base component for use in synchronizing the base component after an upcoming planned outage for a maintenance operation to be performed on the base component, the delta component and the base component having a same address space, the base component having a regular mirror component associated therewith, the delta component having a shorter lifespan than the base component and the regular mirror component;
upon the base component going offline, receive a guest write input/output (I/O) by the delta component and the regular mirror component, the delta component having a shorter history of changes than the regular mirror component which has accumulated additional written blocks before the base component goes offline; and
upon the base component becoming available, synchronize the base component using the delta component by filtering out the accumulated additional written blocks of the regular mirror component using a written status check of data blocks of the delta component.
9 . The computer system of claim 8 , wherein the program code is further operative to create a tracking bitmap to track the guest write I/O for the base component when the base component goes offline.
10 . The computer system of claim 8 , wherein the program code is further operative to synchronize another mirror component using the delta component.
11 . The computer system of claim 8 , wherein the program code is further operative to assign a log sequence number (LSN) to each instance of a write I/O.
12 . The computer system of claim 11 , wherein the base component is associated with a stale LSN and a last committed LSN when the base component becomes offline, the stale LSN indicating a last write I/O committed on all active mirror components including the regular mirror component and the delta component, the last committed LSN indicating a last write I/O that was committed by the base component.
13 . The computer system of claim 12 , wherein the stale LSN and the last committed LSN have a same value.
14 . The computer system of claim 12 , wherein the stale LSN and the last committed LSN have a different value.
15 . A non-transitory computer storage medium having stored thereon program code executable by a processor, the program code embodying a method comprising:
associating an initially-empty delta component with a base component for use in synchronizing the base component after an upcoming planned outage for a maintenance operation to be performed on the base component, the delta component and the base component having a same address space, the base component having a regular mirror component associated therewith, the delta component having a shorter lifespan than the base component and the regular mirror component; upon the base component going offline, receiving a guest write input/output (I/O) by the delta component and the regular mirror component, the delta component having a shorter history of changes than the regular mirror component which has accumulated additional written blocks before the base component goes offline; and upon the base component becoming available, synchronizing the base component using the delta component by filtering out the accumulated additional written blocks of the regular mirror component using a written status check of data blocks of the delta component.
16 . The computer storage medium of claim 15 , wherein the program code further comprises creating a tracking bitmap to track the guest write I/O for the base component when the base component goes offline.
17 . The computer storage medium of claim 15 , wherein the program code further comprises synchronizing another mirror component using the delta component.
18 . The computer storage medium of claim 15 , wherein the program code further comprises assigning a log sequence number (LSN) to each instance of a write I/O.
19 . The computer storage medium of claim 18 , wherein the base component is associated with a stale LSN and a last committed LSN when the base component becomes offline, the stale LSN indicating a last write I/O committed on all active mirror components including the regular mirror component and the delta component, the last committed LSN indicating a last write I/O that was committed by the base component.
20 . The computer storage medium of claim 19 , wherein the stale LSN and the last committed LSN have a same value.Join the waitlist — get patent alerts
Track US2023281167A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.