Saturday, 7 September 2013

NetApp SyncMirror Part 2/2: How to do Data Recovery with SyncMirror

Carrying on from Part 1...

The Resynchronize Process is in three steps:

1. Split the aggregate
2. Change the state of the plex
3. Rejoin a plex (which resynchronizes the mirrored aggregate)

1. Split the aggregate

To check the current status of the volumes, aggregate, and their plexes:

NTAP> vol status
NTAP> aggr status
NTAP> aggr status -v

NOTE: In this lab, both volume vol0, and aggregate syncmirror_aggr1, show State=online, and Status=mirrored. Abridged outputs from the CLI are in the Appendix B below.

To perform the split:

NTAP> aggr split syncmirror_aggr1/plex0 aggr1_split

To review the new status of the volumes, aggregate, and their plexes:

NTAP> vol status
NTAP> aggr status
NTAP> aggr status -v

Image: Splitting Aggregates

2. Change the state of the plex

In my lab, I only had the root volume on the mirrored aggregate. I’m going to set the volume that exists on aggr1_split as root - since there was already a vol0, on splitting the aggregate the volume on the split mirror was called vol0(1) - then reboot the node to set the volume as root; and then offline the syncmirror_aggr1 plex1.

vol options vol0(1) root
reboot

{System reboots}

vol status
vol offline vol0
vol destroy vol0
vol rename vol0(1) vol0
vol status
aggr status -v
aggr offline syncmirror_aggr1

3. Rejoin a Plex

Here you have to choose which aggregate is to be the victim. The victim aggregate is overwritten (re-synced to) and needs to be offline first. We already have syncmirror_aggr1 offline, so:

aggr status
aggr mirror aggr1_split -v syncmirror_aggr1
This will destroy the contents of syncmirror_aggr1.  Are you sure? Y
aggr status
aggr status -V

APPENDIX A: States of a Plex

Active =The plex is online and available for use
Failed =One or more of the RAID groups in the plex have failed
Inactive =The plex is not available for use
Normal =All RAID groups are functional
Out-of-Date =The plex is not available for reads or writes
Re-synching =The plex contents are resynchronizing with the contexts of the other plex in the aggregate

APPENDIX B: Lab CLI Output (Abridged)

ntap> vol status

         Volume State           Status            Options
           vol0 online          raid_dp, flex     root
                                mirrored
                                64-bit

ntap> aggr status

           Aggr State           Status            Options
syncmirror_aggr1 online         raid_dp, aggr     root
                                mirrored
                                64-bit
ntap> aggr status -v

           Aggr State           Status            Options
syncmirror_aggr1 online         raid_dp, aggr     root...
                                mirrored
                                64-bit

Volumes: vol0

Plex /syncmirror_aggr1/plex0: online, normal, active
RAID group /syncmirror_aggr1/plex0/rg0: normal, block checksums

Plex /syncmirror_aggr1/plex1: online, normal, active
RAID group /syncmirror_aggr1/plex1/rg0: normal, block checksums

ntap> aggr split syncmirror_aggr1/plex0 aggr1_split

ntap> vol status

         Volume State           Status            Options
           vol0 online          raid_dp, flex     root
                                64-bit
        vol0(1) online          raid_dp, flex
                                64-bit
ntap> aggr status

           Aggr State           Status            Options
    aggr1_split online          raid_dp, aggr
                                64-bit
syncmirror_aggr1 online         raid_dp, aggr     root
                                64-bit
ntap> aggr status -v

           Aggr State           Status            Options
    aggr1_split online          raid_dp, aggr     ...
                                64-bit

Volumes: vol0(1)

Plex /aggr1_split/plex0: online, normal, active
RAID group /aggr1_split/plex0/rg0: normal, block checksums

syncmirror_aggr1 online         raid_dp, aggr     root...
                                64-bit

Volumes: vol0

Plex /syncmirror_aggr1/plex1: online, normal, active
RAID group /syncmirror_aggr1/plex1/rg0: normal, block checksums

ntap> vol options vol0(1) root
ntap> reboot

login as: root

ntap> vol status

         Volume State           Status            Options
           vol0 online          raid_dp, flex
                                64-bit
        vol0(1) online          raid_dp, flex     root
                                64-bit
ntap> vol offline vol0

Volume 'vol0' is now offline.

ntap> vol destroy vol0

Are you sure you want to destroy volume 'vol0'? y
Volume 'vol0' destroyed.

ntap> vol rename vol0(1) vol0

ntap> vol status

         Volume State           Status            Options
           vol0 online          raid_dp, flex     root
                                64-bit
ntap> aggr status

           Aggr State           Status            Options
    aggr1_split online          raid_dp, aggr     root
                                64-bit
syncmirror_aggr1 online          raid_dp, aggr
                                64-bit

ntap> aggr status -v

           Aggr State           Status            Options
    aggr1_split online          raid_dp, aggr     root...
                                64-bit

Volumes: vol0

Plex /aggr1_split/plex0: online, normal, active
RAID group /aggr1_split/plex0/rg0: normal, block checksums

syncmirror_aggr1 online         raid_dp, aggr     ...
                                64-bit

Volumes:

Plex /syncmirror_aggr1/plex1: online, normal, active
RAID group /syncmirror_aggr1/plex1/rg0: normal, block checksums

ntap> aggr offline syncmirror_aggr1

Aggregate 'syncmirror_aggr1' is now offline.

ntap> aggr status

           Aggr State           Status            Options
    aggr1_split online          raid_dp, aggr     root
                                64-bit
syncmirror_aggr1 offline        raid_dp, aggr     lost_write_protect=off
                                64-bit

ntap> aggr mirror aggr1_split -v syncmirror_aggr1

This will destroy the contents of syncmirror_aggr1. Are you sure? Y

ntap> aggr status

           Aggr State           Status            Options
    aggr1_split online          raid_dp, aggr     root
                                resyncing
                                64-bit

ntap> aggr status -v

           Aggr State           Status            Options
    aggr1_split online          raid_dp, aggr     root...
                                resyncing        
                                64-bit

Volumes: vol0

Plex /aggr1_split/plex0: online, normal, active
RAID group /aggr1_split/plex0/rg0: normal, block checksums

Plex /aggr1_split/plex1: online, normal, resyncing
RAID group /aggr1_split/plex1/rg0: normal, block checksums

ntap> aggr status

           Aggr State           Status            Options
    aggr1_split online          raid_dp, aggr     root
                                mirrored
                                64-bit

THE END!

No comments:

Post a Comment