replace a working vinum drive in RAID-5 config
Stijn Hoop
stijn at win.tue.nl
Wed Sep 10 04:52:01 PDT 2003
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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20030910/99a432ec/attachment.bin
More information about the freebsd-questions
mailing list