Solved 3 way RAID1 gmirror mirror/swap degraded, how do I clear it, exactly?

Greetings all!

I previously wrote about a broken 3 way RAID 1 ZFS root pool.. I thought I had that all cleared up, but now I'm STILL getting file systems warnings. The problem appears to be rooted in the 3way RAID 1 gmirror that used to use the now dead ada0p2 device.

gmirror claims to be in a degraded state, and this is true - ada0 is toast, and I'm fine with that for now.. But no matter how I query it, I can't see how to clear the status? It will tell me about the CURRENT visible devices, but not about MISSING devices? I found one tiny little reference on the internet, that sort of inferred it's just not possible? "Since we can’t remove the dead disk from the gmirror setup, first we forget then add the new swap partition back in."

I'm not clear on the extent of "gmirror clear" does - if we're talking all the "metadata", does that just erase the entire mirror?

So... What, temporarily add a file a swap, remove swap, destroy gmirror, recreate gmirror, re-add to swap space? Is that the outline of what I'm looking at here?

Thanks in advance..


Code:
[asdfasdf@pavlevin:~]% gmirror status swap
       Name    Status  Components
mirror/swap  DEGRADED  ada1p2 (ACTIVE)
                       ada2p2 (ACTIVE)
[asdfasdfasdf@pavlevin:~]% gmirror list swap
Geom name: swap
State: DEGRADED
Components: 3
Balance: load
Slice: 4096
Flags: NONE
GenID: 0
SyncID: 1
ID: 1705168135
Type: AUTOMATIC
Providers:
1. Name: mirror/swap
   Mediasize: 2147483136 (2.0G)
   Sectorsize: 512
   Mode: r1w1e0
Consumers:
1. Name: ada1p2
   Mediasize: 2147483648 (2.0G)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 1048576
   Mode: r1w1e1
   State: ACTIVE
   Priority: 1
   Flags: (null)
   GenID: 0
   SyncID: 1
   ID: 643972881
2. Name: ada2p2
   Mediasize: 2147483648 (2.0G)
   Sectorsize: 512
   Stripesize: 0
   Stripeoffset: 1048576
   Mode: r1w1e1
   State: ACTIVE
   Priority: 0
   Flags: (null)
   GenID: 0
   SyncID: 1
   ID: 3965970421

[etimberl@pavlevin:~]% sudo gmirror forget ada0p2
gmirror: No such device: ada0p2.
[asdfasdf@pavlevin:~]%
 
You are supposed to run forget on the mirror, ie
Code:
gmirror forget swap
That should make the mirror look for all the providers and remove the ones that are not available.
 
You are supposed to run forget on the mirror, ie
Code:
gmirror forget swap
That should make the mirror look for all the providers and remove the ones that are not available.
Thank you, Lee! I looked HARD at the man page, but it was a little light on the effect of "forget", your expansion helps immensely! In my mind, "forget" is pretty closely alligned with DESTROY.. ;-)

Appreciate the time for posting an answer!

Sincerely,

-ET-
 
Code:
[adsfasdf@pavlevin:~]% sudo gmirror forget swap
[asdfasdf@pavlevin:~]% gmirror status swap
       Name    Status  Components
mirror/swap  COMPLETE  ada1p2 (ACTIVE)
                       ada2p2 (ACTIVE)
[adsfasdf@pavlevin:~]%

PERFECT! Thanks again!

-ET-
 
Back
Top