Will the recovery process for a mirrored volume restart from the beginning if the resynchronization process is stopped and restarted.

book

Article ID: 100004436

calendar_today

Updated On:

Resolution

If a system restarts after a system crash, Volume Manager will recover mirrored volumes that were open at the time of the crash to ensure consistency. The recovery consists of placing the volumes in a READ/WRITE BACK mode whereby any incoming writes will go to all data plexes and any read requests will read from a data plex then written back to all data plexes. In addition, recovery processes are executed to read the volumes (though not necessary all at the same time), such that the data read is written to the other data plexes.

If Dirty Region Logging (DRL) is enabled, only recently used regions will be resynchronized. If DRL is not enabled, the volume will undergo full recovery.

For each mirrored volume being recovered (non-DRL), Volume manager keeps an internal non-persistent record (recover_offset) which is used to track where the recovery process has got to in the volume. If the volume recovery process is killed or stopped, the recovery process can be re-started using vxrecover of vxvol. The new recovery process will read the value of recover_offset so that it can continue where the previous process finished.

The value of recover_offset and be viewed using the following command:

vxprint -g --mv | grep recover_offset

i.e

kylie# vxprint -g testdg -m | grep recover_offset
        recover_offset=5839744

If using vxtask to monitor the recovery process, the starting offset of the current recovery task is shown in the output:

kylie# vxtask list
TASKID  PTID TYPE/STATE    PCT   PROGRESS
   178           PARENT/R  0.00% 1/0(1) VXRECOVER 0.0 0.0
   179   178   RDWRBACK/R 00.65% 5839744/25165824/5964672 RESYNC 0.1157 1024.10
 

In the above example:

  • The current task started recovery at offset 5839744 (This was a re-started attempt).
  • The length of data to be recovered is 25165824 sectors
  • The current task is currently at offset 5964672 sectors

 Note: As the record is non-persistent, should the system be restarted, the offset will be reset to zero and that subsequent recovery attempts will start from the beginning (Full volume recovery)

 

 

Issue/Introduction

Will the recovery process for a mirrored volume restart from the beginning if the resynchronization process is stopped or killed and restarted.