System and method for performing an incremental backup for a persistent storage system that stores data for a node cluster
A method for managing a persistent storage system includes obtaining, by a first node in a node cluster, a write request, wherein the node cluster comprises the first node and a second node, processing the write request, storing data associated with the write request in a persistent storage system, updating a block-based change list based on the storing, making a first determination that a synchronization schedule is triggered, and in response to the first determination: initiating a block-based change list synchronization to the second node.
1. A method for managing a persistent storage system, the method comprising:
obtaining, by a first node in a node cluster, a write request, wherein the node cluster comprises the first node and a second node;
processing the write request;
storing data associated with the write request in a persistent storage system;
updating a block-based change list based on the storing;
making a first determination that a synchronization schedule is triggered;
in response to the first determination: initiating a block-based change list synchronization to the second node;
after updating the block-based change list, obtaining a request from a backup agent for the block-based change list; and
in response to the request, sending a second copy of the block-based change list to the backup agent.
2. The method of claim 1 ,
wherein the data is stored in a first portion of the persistent storage system, and
wherein the block-based change list specifies the first portion of the persistent storage system.
3. The method of claim 1 , wherein initiating the block-based change list synchronization comprises:
generating at least a copy of the block-based change list; and
sending the copy of the block-based change list to the second node.
4. The method of claim 1 , wherein the block-based change list is used to generate an incremental backup of the persistent storage system.
5. The method of claim 1 , wherein the first node assumes a role of primary node.
6. The method of claim 5 , further comprising:
identifying an imminent failover of the first node; and
in response to the imminent failover, sending a failover notification to the second node, wherein the failover notification specifies the second node assuming the role of primary node.
7. A system, comprising:
a processor; and
memory comprising instructions which, when executed by the processor, perform a method, the method comprising:
obtaining, by a first node in a node cluster, a write request, wherein the node cluster comprises the first node and a second node;
processing the write request;
storing data associated with the write request in a persistent storage system;
updating a block-based change list based on the storing;
making a first determination that a synchronization schedule is triggered; and
in response to the first determination: initiating a block-based change list synchronization to the second node;
after updating the block-based change list, obtaining a request from a backup agent for the block-based change list; and
in response to the request, sending a second copy of the block-based change list to the backup agent.
8. The system of claim 7 ,
wherein the data is stored in a first portion of the persistent storage system, and wherein the block-based change list specifies the first portion of the persistent storage system.
9. The system of claim 7 , wherein initiating the block-based change list synchronization comprises:
generating at least a copy of the block-based change list; and
sending the copy of the block-based change list to the second node.
10. The system of claim 7 , wherein the block-based change list is used to generate an incremental backup of the persistent storage system.
11. The system of claim 7 , wherein the first node assumes a role of primary node.
12. The system of claim 11 , the method further comprising:
identifying an imminent failover of the first node; and
in response to the imminent failover, sending a failover notification to the second node, wherein the failover notification specifies the second node assuming the role of primary node.
13. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for performing a backup operation, the method comprising:
obtaining, by a first node in a node cluster, a write request, wherein the node cluster comprises the first node and a second node;
processing the write request;
storing data associated with the write request in a persistent storage system;
updating a block-based change list based on the storing;
making a first determination that a synchronization schedule is triggered; and
in response to the first determination: initiating a block-based change list synchronization to the second node;
after updating the block-based change list, obtaining a request from a backup agent for the block-based change list; and
in response to the request, sending a second copy of the block-based change list to the backup agent.
14. The non-transitory computer readable medium of claim 13 ,
wherein the data is stored in a first portion of the persistent storage system, and
wherein the block-based change list specifies the first portion of the persistent storage system.
15. The non-transitory computer readable medium of claim 13 , wherein initiating the block-based change list synchronization comprises:
generating at least a copy of the block-based change list; and
sending the copy of the block-based change list to the second node.
16. The non-transitory computer readable medium of claim 13 , wherein the block-based change list is used to generate an incremental backup of the persistent storage system.
17. The non-transitory computer readable medium of claim 13 , the method further comprising:
identifying an imminent failover of the first node; and
in response to the imminent failover, sending a failover notification to the second node, wherein the failover notification specifies the second node assuming a role of primary node.