Mirror Discovery and Recovery Behavior

Mirror recovery is the resynchronizing of data that changed while one or more volumes of a virtual volume were in  ”Mirror Down” status. The Volume column (lower-right pane) in SANcentral Status tab displays Mirror Down until I/O has occurred on the mirror volume. A storage server polls a partner storage server at different intervals depending on the current volume’s status.

Mirror recovery can be either full or log-based. Full recovery is a block by block copy of all blocks from the “good” volume to the “bad” volume. Log recovery is recovering only the blocks that have changed since the volume went down. During recovery, I/O is written to the “up” volume while the other is “down” (until the recovery is complete).

If you create a mirror and it goes into recovery (this is normal behavior), you should not change the configuration of the virtual volumes until the recovery completes.

Volume Discovery – Through Volume Discovery polling, peer storage servers discover mirror volumes. The storage server will poll its peers for a secondary volume at intervals beginning at 30 seconds (doubling over time). Therefore, the longer the time that the mirror storage server is unavailable, the longer it will take for the peer storage server to recognize the status of the mirror volume.

Failed Volumes – Volumes that were previously discovered by the storage server but have failed (or are otherwise not visible to the peer storage servers) are polled at two-minute intervals and a rescan is done every 10 minutes. This means that for any mirrored volume that has been marked with a Mirror Down status, there will be a maximum of two minutes before any state change occurs. At boot time, failed volume status is not updated until I/O has occurred.  

The storage administrator needs to be aware that restarting the storage servers and starting the storage server software on a peer system at a later time will increase the time interval for volume discovery. The storage server with the primary volume will log writes until the mirror is discovered.

When either the primary or secondary virtual volume of a mirror is broken, or is in the process of recovery, (full or log-based), all Write I/Os will be acknowledged only when the storage array has acknowledged the I/O back to the storage server. This is to ensure that if a second failure should occur through the loss of a storage server or the remaining virtual volume of the mirror, then existing data is not compromised. Any Read I/Os will be queried from cache first before accessing the physical disk.

 

 

Mirror Discovery and Recovery Behavior