ONTAP Rest API Discussions

looking for the metrics of Ontap REST API to represent the delay of snapmirror sync

Daniel_66
1,452 Views

         in snapmirror synchronous Sync mode, the volume I/O will be committed first to the remote volume and can be delayed up to 10ms before the I/O is committed to the source volume. (refer to the link about snapmirror sync mode I/O mechanism:https://kb.netapp.com/onprem/ontap/dp/SnapMirror/What_is_the_latency_impact_for_IO_to_SnapMirror_Synchronous_Source_Volume%3F)

        I am looking for the metrics of Ontap REST API to represent the delay. I check the output of REST API about snapmirror sync mode, as following screenshot:

Daniel_66_0-1681138816910.png

        the value of lag_time parameter is "PT0S" in the screenshot, I wonder that what the value "PT0S" means in snapmirror sync mode?  Can this parameter represent the delay of snapmirror sync mode the same as  the column of "SM Sync" in the following  command output?

Daniel_66_1-1681138962799.png

 

1 ACCEPTED SOLUTION

steiner
1,442 Views

That KB article is incorrect. I just put in a request to remove it. 

 

SM-S operates in one of two modes - sync and strict sync.  The target customer for the "sync" option is customers who want RPO=0, but they do NOT want operations to screech to a halt if the replication link is lost. That applies to most customers. 

 

Some customers, however, want 100% guaranteed RPO=0. That's why we also included the option for strict sync. If a write cannot be replicated, an IO error is returned to the host OS, which typically results in an application shutdown.

 

In both cases, the timeout is around 15 seconds, but the precise number varies a little and I believe there are some options for tuning. In normal operations, you have RPO=0 synchronous mirroring. If you lose connectivity to the remote site for more than 15 seconds, then regular SM-S will carry on accepting writes in broken state and resync when it gets the opportunity, and StrictSync will throw an error. 

 

I believe that field you've asked about indicates the time since a SM-S Synchronous (not Strict) replica lost sync. 

View solution in original post

2 REPLIES 2

steiner
1,443 Views

That KB article is incorrect. I just put in a request to remove it. 

 

SM-S operates in one of two modes - sync and strict sync.  The target customer for the "sync" option is customers who want RPO=0, but they do NOT want operations to screech to a halt if the replication link is lost. That applies to most customers. 

 

Some customers, however, want 100% guaranteed RPO=0. That's why we also included the option for strict sync. If a write cannot be replicated, an IO error is returned to the host OS, which typically results in an application shutdown.

 

In both cases, the timeout is around 15 seconds, but the precise number varies a little and I believe there are some options for tuning. In normal operations, you have RPO=0 synchronous mirroring. If you lose connectivity to the remote site for more than 15 seconds, then regular SM-S will carry on accepting writes in broken state and resync when it gets the opportunity, and StrictSync will throw an error. 

 

I believe that field you've asked about indicates the time since a SM-S Synchronous (not Strict) replica lost sync. 

Daniel_66
1,393 Views

Thank you for your reply. It’s different about “lag_time” in REST API against “SM Sync” in the output of qos statistics command. As per your instruction, “lag_time:PT0S” should indicate RPO of snapmirror sync mode is zero. “SM Sync” should indicate source volume write I/O’s delay generated by snapmirror sync. Because the delay exists in between snapmirror source and destination(say network latency etc.) , there must be delay of source volume write I/O in order to guarantee RPO=0. If the delay is less than 10ms (indicated by “SM sync” field ), the snapmirror sync state is in good condition.

 

Additionally, I found “PS0T” definition at the link address: (https://en.wikipedia.org/wiki/ISO_8601#Durations). It indicates a duration of 0 seconds(that is RPO=0)

Public