replace a working vinum drive in RAID-5 config

2003-09-10 Thread Stijn Hoop
Hi,

I'm trying to find out how to replace a drive in a vinum RAID-5 volume
that's still working. I have the following volume (copied by hand, sorry):

V local State: up   Plexes: 1 Size: 167 GB
P local.p0   R5 State: up   Subdisks:   4 Size: 167 GB
S local.p0.s0   State: up   PO:  0  B Size:  55 GB
S local.p0.s1   State: up   PO:512 kB Size:  55 GB
S local.p0.s2   State: up   PO:   1024 kB Size:  55 GB
S local.p0.s3   State: up   PO:   1536 kB Size:  55 GB

with s0..s3 on drives locala..d. Drive localc is on device /dev/ad14s1e,
and that's the IDE disk I want to replace.

So far, I've thought of doing the following:

- boot the system single user
- enter vinum
- issue 'start' to read the configuration and start all volumes
- issue 'stop localc'
- this sets the state of local.p0.s2 to degraded automatically
- stop vinum
- halt the system
- physically replace the drive
- boot the system single user
- fdisk / disklabel the new drive to include a 55GB sized vinum partition
- enter vinum
- issue 'start' to read the configuration and start all volumes
- issue 'start local.p0.s2' to revive the subdisk

Can anyone confirm that this procedure will work? Or do I have to add
a new drive to the system on the same device as the previous one?

--Stijn

-- 
The most reliable proof that there are extraterrestrial intelligent
lifeforms out there is that nobody actually tries to get in contact
with us.
-- Dirk Mueller


pgp0.pgp
Description: PGP signature


Re: replace a working vinum drive in RAID-5 config

2003-09-10 Thread Stijn Hoop
On Wed, Sep 10, 2003 at 12:16:09PM +0200, Stijn Hoop wrote:
 I'm trying to find out how to replace a drive in a vinum RAID-5 volume
 that's still working. I have the following volume (copied by hand, sorry):
 
 V local   State: up   Plexes: 1 Size: 167 GB
 P local.p0 R5 State: up   Subdisks:   4 Size: 167 GB
 S local.p0.s0 State: up   PO:  0  B Size:  55 GB
 S local.p0.s1 State: up   PO:512 kB Size:  55 GB
 S local.p0.s2 State: up   PO:   1024 kB Size:  55 GB
 S local.p0.s3 State: up   PO:   1536 kB Size:  55 GB
 
 with s0..s3 on drives locala..d. Drive localc is on device /dev/ad14s1e,
 and that's the IDE disk I want to replace.

Here's what I just did, for the record:

 - boot the system single user
 - enter vinum
 - issue 'start' to read the configuration and start all volumes
 - issue 'stop localc'

this gave me 'can't stop localc: Device Busy(16)'

Strange, because I had done that just before to test this without replacing
the drive, and at that time vinum really responded with:

 - this sets the state of local.p0.s2 to degraded automatically

Anyway, since that didn't appear to work, this time I thought I'd be brave and
I just went on:

 - stop vinum
 - halt the system
 - physically replace the drive
 - boot the system single user

I decided to skip the next step until after the 'vinum start':

 - fdisk / disklabel the new drive to include a 55GB sized vinum partition

So I did:

 - enter vinum
 - issue 'start' to read the configuration and start all volumes

Whereupon vinum complained that localc was referenced but non-existant,
and therefore local.p0.s2 was 'crashed' and local.p0 was 'stale' (IIRC).
My volume was still up and contained the data *phew*.

So then I did:

 - fdisk / disklabel the new drive to include a 55GB sized vinum partition

And I had to tell vinum that drive localc was now on that partition,
so I created a text file containing just the line

drive localc device /dev/ad14s1e

and issued

vinum create -f /tmp/drive.conf

And then vinum automatically found that the drive was back, and therefore
local.p0.s2 was 'stale'. After that, the next step was

 - issue 'start local.p0.s2' to revive the subdisk

And vinum started reviving the disk in the background.

To recap the necessary procedure:

- turn off pc
- physically replace drive
- boot single user
- issue 'vinum start'
- fdisk/disklabel new drive to include samesized vinum partition
- create the drive using the old name in the vinum configuration
- 'start' the associated subdisk to begin the revive process

Hope this helps others,

--Stijn

-- 
Nostalgia ain't what it used to be.


pgp0.pgp
Description: PGP signature