US 9,811,432 B2
Systems and methods for resynchronizing mirroring partners in a storage system
Harihara Kadayam, Fremont, CA (US); Vaiapuri Ramasubramaniam, Bangalore (IN); Rishabh Mittal, New Delhi (IN); and Hrishikesh Keremane, Bangalore (IN)
Assigned to NetApp, Inc., Sunnyvale, CA (US)
Filed by NetApp Inc., Sunnyvale, CA (US)
Filed on Nov. 24, 2015, as Appl. No. 14/950,508.
Application 14/950,508 is a continuation of application No. 13/784,601, filed on Mar. 4, 2013, abandoned.
Prior Publication US 2016/0085650 A1, Mar. 24, 2016
Int. Cl. G06F 11/20 (2006.01); G06F 12/08 (2016.01); G06F 12/0868 (2016.01)
CPC G06F 11/2082 (2013.01) [G06F 12/0868 (2013.01); G06F 11/2058 (2013.01); G06F 11/2074 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
establishing a disaster recovery mirroring relationship between a node and a disaster recovery node using a first transport and first protocol;
establishing a high availability mirroring relationship between the node and a high availability node using a second transport and second protocol;
concurrently mirroring data, written to a storage resource of the node, to a disaster recovery storage resource of the disaster recovery node and a high availability storage resource of the high availability node;
monitoring the node, the disaster recovery node, and the high availability node for interruptions in data mirroring activity;
responsive to detecting an interruption in data mirroring activity between the node and the disaster recovery node, ceasing mirroring operations between the storage resource and the disaster recovery storage resource without ceasing mirroring operations between the storage resource and the high availability storage resource; and
responsive to the node and the disaster recovery node being online with communication capabilities subsequent the interruption, resynchronizing the disaster recovery storage resource without ceasing mirroring operations between the primary storage resource and the high availability storage resource, comprising:
splitting a write cache into a first section and a second section;
utilizing the first section to synchronize metadata on an element-by-element basis to the disaster recovery storage resource; and
utilizing the second section to perform the mirroring operations between the storage resource and the high availability storage resource.