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