From owner-freebsd-questions Thu Sep 9 12:49:30 1999 Delivered-To: freebsd-questions@freebsd.org Received: from ns.clientlogic.com (ns.clientlogic.com [207.51.66.75]) by hub.freebsd.org (Postfix) with ESMTP id 1D1A41506A for ; Thu, 9 Sep 1999 12:49:26 -0700 (PDT) (envelope-from ChrisMic@clientlogic.com) Received: by site0s1 with Internet Mail Service (5.5.2448.0) id ; Thu, 9 Sep 1999 15:48:36 -0400 Message-ID: <6C37EE640B78D2118D2F00A0C90FCB4401105C3A@site2s1> From: Christopher Michaels To: 'Daniel Harms' , freebsd-questions@freebsd.org Subject: RE: Vinum recovery procedure Date: Thu, 9 Sep 1999 15:37:09 -0400 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2448.0) Content-Type: text/plain; charset="iso-8859-1" Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG OK, I'm not the best person to go into detail on this, but I noticed something that jumped out at me. You're setting up the drives as concat? (concatenate), that's not the same thing as mirrored. I think this is part of the problem. -Chris > -----Original Message----- > From: Daniel Harms [SMTP:dharms98@yahoo.com] > Sent: Wednesday, September 08, 1999 11:07 AM > To: freebsd-questions@freebsd.org > Subject: Vinum recovery procedure > > > I posted this on dejanews on sol.lists.freebsd.questions, but I don't > think it gets to the list. Sorry if you're seeing this twice. > > > > I am trying to set up a very reliable server in a very remoten > location, and I thought vinum would be the perfect tool to provide > resiliance at not too much cost. I'm having some problems in my testing > it, however: > > I have a server (compaq 1850r) with two host-swappable drives. I am > trying to simulate a drive failure and figure out how I would recover > from it. I couldn't find too much documenation on how to do this, so > I'm making some guesses in the process. > > I am running 3.2-RELEASE as it comes on the walnut creek cdrom. > > Here are all the steps I take: > > My vinum config looks like this: > > drive d1 device /dev/da0g > drive d2 device /dev/da1e > volume tezzt > plex org concat > sd length 0 drive d1 > plex org concat > sd length 0 drive d2 > > Both /dev/da0g and /dev/da1e are 200MB partitions pe "vinum". > > 1. vinum create -f /etc/vinum.conf > > This is where the first strange thing comes in - tezzt.p1.s0 state is > "initializing", but I see no disk activity. Having lost patience > waiting, I do: > > 2. vinum stop tezzt.p1 ; init tezzt.p1 > ... lots of disk activity on the 2nd drive this time... > ... tezzt.p1.s0 is up > ... tezzt.p1 is up. > > Good! > > 3. newfs -v /dev/vinum/tezzt ... OK, 199.9MB > > 4. mount /dev/vinum/tezzt /mnt > > 5. Now I run a script that creates some I/O activity on it, from here > on referred to as the "io script": > > while /usr/bin/true; do > cp -R /usr/src/release/picobsd > cat `find /mnt` > /dev/null > done > > ... I see lots of I/O on both drives > > 5. Now I YANK THE SECOND DRIVE while this is going on!!! > ... the system seems to pause for a few seconds > ... kernel spits out a bunch of messages > ..invalidating pack.. > ..fatal write error.. etc... > ... the systems comes back to life and I can see the drive going, io > script still running. > > Excellent!!! (so far) > > "vinum lv -r" reports > tezzt.p1 faulty > tezzt.p1.s0 stale > > At this point in a real world situation I would presumably notice the > failure. From here on I'm guessing I should do this: > > 6. vinum stop tezzt.p1 > > 7. reboot, reinsert the drive > > 8. "vinum lv -r" reports tezzt.p1 is "down" > > The goal is to mirror all my partitions, including root (I have an MFS > root whith symlinks to "root" which I'll mirror). So if this were for > real, that filesystem would be mounted before I get a chance to fix it. > To simulate this, I mount it first, then see how I'm going to fix it. > > 9. fsck /dev/vinum/rtezzt ...OK > mount /dev/vinum/tezzt /mnt > ls -l /mnt ...files are there, good. > > 10. I start my io script again. Lots of disk activity on the fisrt > drive. (The second one is down.) > > 11. vinum init tezzt.p1 > ... initializing > ... initialized > > This is where things get *really* strange.... > > ... tezzt.p1.s0 is reviving (<- makes sense) > ... tezzt.p1 is faulty (<- understandable) > > BUT I see *NO* I/O on the second drive. > > "vinum ls -v" shows tezzt.p1.s0 > revive pointer: 64KB (0%) > > Loosing patience waiting again, resorting to crapshoots: > > 12. kill the io script > 13. vinum stop tezzt.p1 ; vinum init tezzt.p1 > ... initializing > ... is up > > 14. umount /mnt > mount /mnt > ls /mnt: Bad file descriptor (??????????) > > trying again... > > 15. umount /mnt > mount /mnt > ls /mnt/* > > syncing disks..... ***total system crash*** > > > What did I do wrong? What am I supposed to do to recover from a drive > failure? Could the fact that /mnt lives on an MFS root be part of the > problem? > > Thanks! > > Dan > > __________________________________________________ > Do You Yahoo!? > Bid and sell for free at http://auctions.yahoo.com > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-questions" in the body of the message To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message