Is there a "disconnected" state for geom_mirror providers?
Pawel Jakub Dawidek
pjd at FreeBSD.org
Sun Apr 24 11:09:08 PDT 2005
On Sun, Apr 24, 2005 at 01:49:49PM -0400, Paul Mather wrote:
+> > So you want me to count number of failures of every sector and mark
+> > component as broken if I've 2 failures related to the same sector or
+> > something like that?:)
+> No, I was just pointing out that the "endless loop" scenario you gave
+> might well not hold for certain common classes of read-induced failures.
I've no way to detect what kind of failure EIO is, that's why I need
a general solution.
+> > +> The shame about it being deleted from the mirror as opposed to marked as
+> > +> "broken" is you lose info (shown in "gmirror list") about the broken
+> > +> component priority, etc., which is useful for when you add a replacement
+> > +> device (or re-add the same one, as in my case).
+> > You can use 'gmirror dump /dev/<your_component>'.
+> Thanks! I guess I missed that in the man page.
Maybe because it wasn't documented:) I missed this command in gmirror
manual page, but it is fixed in HEAD and RELENG_5 already.
+> > +> If you marked a component as "broken" (but still listed as part of the
+> > +> mirror), you could add a "-f" option to "gmirror rebuild" to force
+> > +> rebuilding onto it a la RAIDframe. :-)
+> > This is not so simple. I don't store any info on broken component, that it
+> > is broken, because e.g. bad sector could be the sector with metadata.
+> > Other components are informed that something wrong is going on.
+> > How one can remove such broken component for good? Let's say you was able
+> > to read metadata from the component, but you cannot write there any more.
+> > How you can easily replace this component?
+> If "gmirror rebuild -f" was used, it would imply autosynchronisation was
+> turned off. So, if you had real hardware problems with the provider, it
+> would remain broken because the rebuild would fail, too, with some
+> hardware error. Eventually, as an operator, you'd get the hint that the
+> provider really had lasting problems, and replace it with something that
+> really worked. ;-)
Imagine something like this:
- da1 is broken, but still connected to the mirror.
- gmirror rebuild -f da1 doesn't work.
- gmirror remove da1 also doesn't work, because we've an error when
- gmirror insert da4 (spare disk) also doesn't work, because I cannot
update metadata on all components.
Pawel Jakub Dawidek http://www.wheel.pl
pjd at FreeBSD.org http://www.FreeBSD.org
FreeBSD committer Am I Evil? Yes, I Am!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-geom/attachments/20050424/01a0bcdc/attachment.bin
More information about the freebsd-geom