Re: Using mirroring to replace drive?

2008-10-18 Thread Chris Pratt

On Oct 18, 2008, at 7:03 PM, John Nielsen wrote:

On Saturday 18 October 2008, Chris Pratt wrote:


1. Is this an appropriate way to deal with this?


It could be. However if the new disks are not the same size as the  
failing

...
it. Worst case you end up booting from a single drive and have to  
manually

specify your root partition.



JN


Wow, I was asking a concept question and got what appears
to be a comprehensive plan. I appreciate the effort, it will save
me quite a bit of time.

Thanks very much,
Chris

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: Using mirroring to replace drive?

2008-10-18 Thread John Nielsen
On Saturday 18 October 2008, Chris Pratt wrote:
> Hi, For years I've been upgrading by building a temp
> server, transferring a production function to it and
> temporarily decommissioning the one server while
> I upgrade and rebuild it. I was thinking of trying a different
> approach since having tried out gvinum in the last
> couple of years.
>
> The current scenario is that I have a machine where the
> adaptec controller is suggesting I replace a failing SCSI
> drive which happens to be the system disk. I purchased
> a couple of new drives and thought I might just plug it in
> and mirror the failing drive on the new drive. Then
> pull the failing drive and plug in the other new drive as
> the second mirrored drive and be done with it. One
> obvious outcome would be a having a system drive
> mirror for future such issues. I have never built a mirror
> on the fly but it seems many have from what I've read
> and the cookbooks out there make it sound very
> easy. I was going to use GEOM Mirror on 6.2 (then
> upgrade to 7.0 after establishing the new good drives).
>
> 1. Is this an appropriate way to deal with this?

It could be. However if the new disks are not the same size as the failing 
disk (or perhaps even if they are) I would recommend using dump/restore to 
do the transfer rather than including the failing drive in the mirror. 
Assuming you can only have 2 disks attached at any given time and want to 
mirror at the disk level (as opposed to partition or slice), the sequence 
would be something like this:

Connect new disk.
Gmirror label ... (create a single-member ("broken") mirror on the new disk)
Partition (fdisk) and label (bsdlabel) the new mirror device, installing 
boot blocks as appropriate (fdisk -B and bsdlabel -wB, for example)
Newfs and mount (to a temporary location) each filesystem on the mirror.
Dump the contents of each filesystem from the original disk to the mirror 
device. Use the -L flag to dump to dump from a snapshot for "live" 
filesystems.
Edit /etc/fstab and change the relevant mountpoint entries to 
refer to the ones on the mirror.
Ensure that /boot/loader.conf contains 'geom_mirror_load="YES"'.
Shut down, remove the old disk and connect the second new disk.
Boot (from the first new disk). If this doesn't succeed switch back to the 
old disk and figure out why.
Gmirror insert ... (add the second disk to the mirror)
Wait for rebuild to complete
Finished!

> 2. Are there any high risk aspects of doing this while running
> a server in production? I'm thinking of things like how
> probable it is of trashing the original disk, making the
> system unbootable in the process etc?

Like other GEOM classes gmirror stores its metadata in the last sector of 
the provider (the disk, in this case). If you decide to include the old 
disk in a mirror there is a chance that this sector will have been in use 
by the filesystem, though in the whole-disk scenario this is somewhat rare. 
Using the approach I outlined above avoids the possibility altogether.

Other risks are minimal. The system will be I/O loaded during the 
dump/restore and mirror resync phases, though decent hardware can make this 
less obvious. If you manage to tickle a UFS snapshot bug during the dump 
the system could panic, though in my experience (on lightly-loaded systems 
without other snapshots and not using quotas) this has not happened.

Having a fallback plan (revert to the unmodified original disk) is another 
selling point of the method I outlined above.

> 3. Are there better approaches that are safer (aside from
> my normal hardware swap MO).

See my response to 1).

> 4. Does using GEOM Mirror RAID-1 make the upgrade from
> 6.2 to 7.0 a dangerous proposition. I do upgrades via
> cvsup and buildworld.

Not really. The gmirror module in 7.x will read and understand (and possibly 
update) the on-disk metadata as soon as it sees it. Just be sure to load 
it. Worst case you end up booting from a single drive and have to manually 
specify your root partition.

> The environment is
>   FreeBSD 6.2
>   Supermicro with Adaptec SCSI
>   All ~73 GB Maxtor and Seagate drives
>   Current da0 system is Maxtor, there
>   will be minor size differences, the
>   replacement Cheetah is a hair larger.
>   Apache, PHP5 and Mysql
>   No existing RAID Configuration

JN
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Using mirroring to replace drive?

2008-10-18 Thread Chris Pratt

Hi, For years I've been upgrading by building a temp
server, transferring a production function to it and
temporarily decommissioning the one server while
I upgrade and rebuild it. I was thinking of trying a different
approach since having tried out gvinum in the last
couple of years.

The current scenario is that I have a machine where the
adaptec controller is suggesting I replace a failing SCSI
drive which happens to be the system disk. I purchased
a couple of new drives and thought I might just plug it in
and mirror the failing drive on the new drive. Then
pull the failing drive and plug in the other new drive as
the second mirrored drive and be done with it. One
obvious outcome would be a having a system drive
mirror for future such issues. I have never built a mirror
on the fly but it seems many have from what I've read
and the cookbooks out there make it sound very
easy. I was going to use GEOM Mirror on 6.2 (then
upgrade to 7.0 after establishing the new good drives).

1. Is this an appropriate way to deal with this?

2. Are there any high risk aspects of doing this while running
a server in production? I'm thinking of things like how
probable it is of trashing the original disk, making the
system unbootable in the process etc?

3. Are there better approaches that are safer (aside from
my normal hardware swap MO).

4. Does using GEOM Mirror RAID-1 make the upgrade from
6.2 to 7.0 a dangerous proposition. I do upgrades via
cvsup and buildworld.

The environment is
FreeBSD 6.2
Supermicro with Adaptec SCSI
All ~73 GB Maxtor and Seagate drives
Current da0 system is Maxtor, there
will be minor size differences, the
replacement Cheetah is a hair larger.
Apache, PHP5 and Mysql
	No existing RAID Configuration 
___

freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"