Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Oct 1999 12:24:49 +0930
From:      Greg Lehey <grog@lemis.com>
To:        Barrett Richardson <barrett@phoenix.aye.net>
Cc:        FreeBSD-questions@FreeBSD.ORG
Subject:   Re: vinum failure simulation not working
Message-ID:  <19991006122449.E78191@freebie.lemis.com>
In-Reply-To: <Pine.BSF.4.01.9910021439460.12503-100000@phoenix.aye.net>
References:  <Pine.BSF.4.01.9910021439460.12503-100000@phoenix.aye.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday,  2 October 1999 at 15:18:12 -0400, Barrett Richardson wrote:
>
> I am running 3.3-RELEASE and have two 18GB drives that I want to mirror.
>
> I've set them up like this.
>
> --- /etc/vinum.rc ---
> drive d1 device /dev/da1e
> drive d2 device /dev/da2e
> volume mirror
>    plex org concat
>       sd length 17516m drive d1
>    plex org concat
>       sd length 17516m drive d2
> --- end ---
>
>
> I do these steps:
>
> libra# vinum create -f /etc/vinum.rc
>
> libra# vinum init mirror.p0
> libra# vinum init mirror.p1
>
>   Then wait till that finishes, and put these two lines in my rc.conf
>      start_vinum="YES"
>      vinum_drives="da1 da2"
>   and then reboot.
>
>   I notice that mirror.p1 is faulty and mirror.p1.s0 is reviving 

Correct.  From the man page:


     volume name [options]

           Define a volume with name name.

           Options are:

	   [snip]

           setupstate

                               When creating a multi-plex volume, assume that
                               the contents of all the plexes are consistent.
                               This is normally not the case, and correctly
                               you should use the init command to first bring
                               them to a consistent state.  In the case of
                               striped and concatenated plexes, however, it
                               does not normally cause problems to leave them
                               inconsistent: when using a volume for a file
                               system or a swap partition, the previous con-
                               tents of the disks are not of interest, so they
                               may be ignored.  If you want to take this risk,
                               use this keyword.  It will only apply to the
                               plexes defined immediately after the volume in
                               the configuration file.  If you add plexes to a
                               volume at a later time, you must integrate
                               them.



but
>   there is no activity on either drive, so I do this:
>
> libra# vinum start mirror.p1
>
>   The drives start humming and after a while mirror.p1 is up.

Good.

>   Next, I build a filesystem on /dev/vinum/rmirror:
>
> libra# newfs -v /dev/vinum/rmirror
>
>   and mount it
>
> libra# mount /dev/vinum/mirror /mnt
>
>   and copy some files to it
>
> libra# cd /usr;find src/sys -print | cpio -pdm /mnt
>
>   Then I stop mirror.p1
>
> libra# vinum stop mirror.p1
>
>   and commence to copy some more files
>
> libra# cd /usr;find src.old -print | cpio -pdm /mnt
>
>   All the copied files are ok, and 'vinum l' shows
>   mirror.p1.s0 to be obsolete.

That seems reasonable.  You should have seen some console messages
stating the fact.

>   I then unmount the filesystem, uncomment the lines out of
>   rc.conf that start vinum, and reboot. Once it comes
>   back up I have no vinum process running.

OK.

>   Here's what I do. I disklabel da2 and change slice e back to 4.2BSD
>   and build a filesystem on /dev/rda2s1e, copy some files to it ...
>   I then unmount it, disklabel da2 and change slice e back to vinum,
>   edit my rc.conf to launch vinum again, and reboot.
>
>   Once it comes back up, a 'vinum l' show mirror.p1 as faulty, and
>   mirror.p1.s0 as crashed. So I do this
>
> libra# vinum start mirror.p1
>
>   And mirror.p1.s0 changes to 'reviving', the drives are busy,
>   all is good.
>
>   I'm feeling brave, so I mount the filesystem
>
> libra# mount /dev/vinum/mirror /mnt
>
>   While it is reviving and have a look at /mnt
>
> libra# ls -l /mnt
>
>   and see my directories
>
> total 2
> drwxr-xr-x  3 root  wheel  512 Oct  2 14:31 src
> drwxr-xr-x  3 root  wheel  512 Oct  2 14:33 src.old
>
>   I keep doing 'ls -l' and after a while, src.old disappears.
>   Then it reappears. It disappears again a while later.
>   The files in src do the same. They keep appearing and
>   disappearing, but the directory src is always there,
>   just sometimes empty. The files in src.old which I
>   copied after I downed mirror.p1 have never been visible.
>
>   I've run this test several times with similar results
>   and haven't yet been able to rebuild the mirror.
>
>   Any hints or tips?

Well, you've certainly done a lot of things.  At the moment I'm
checking the revive code, and it looks as if there are some bogons in
there.  I'd recommend rebuilding offline until you hear otherwise.

Greg
--
When replying to this message, please copy the original recipients.
For more information, see http://www.lemis.com/questions.html
See complete headers for address, home page and phone numbers
finger grog@lemis.com for PGP public key


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19991006122449.E78191>