Hi James,
Thanks for the very informative response.

James Manning wrote:
> 
> [root]
> > Hi,
> 
> Hello.
> 
> > I've created mirrored striped arrays (Raid10) and am not confident that
> > my first striped set is in fact being mirrored on my second striped set.
> 
> First question: did you make backups? :)

This is not a production system, but a test-bed to prove production
methods.  My motto here is "break it early and often."  I am also fairly
new to Linux, so I am climbing up the curve.  Gotta have those
command-line
skills.

> 
> > When the mirrored mdX devices are created, cat /proc/mdstat does show
> > that re-synching is taking place.  However, if I mount an mdX that is
> > part of my second striped set, I see NO files, just a lost+found
> > directory. Hmm, I didn't mount as read-only.  It this significant?
> 
> Any chance we could see your /proc/mdstat output?

I'm not on-site today, but I will send a copy ASAP.

> 
> > What techniques can I use to verify that the second striped set is being
> > mirrored?  Is there a raidtool to force resynching?
> 
> mkraid'ing md10-14 will need to write to the ends of md0-9, possibly
> corrupting the filesystems already in place (with the blessed data
> being on md0-4, it would appear).

I created all the mdx devices at the same time. I formatted md0 - md9 as
ext2, but did not run mk2fs on the mirrored devices (md10 -md 14) Next,
I mounted md 0 - 4, copied over the data, changed my fstab and rebooted.

At one point I "raidstop"-ed the mirrored devices and then had to
"force" ;) the mkraid to recreate them.  I am able to switch back and
forth between the hda mount points and the mdX mount points (md0 -
md4)by changing fstab and rebooting.

> 
> Although it's not broken out as a separate section, the method for getting
> a mirror made of already in-place data isn't extremely nice, but it has
> been effective for many in the past.  It's covered as "Method 2" at:
> 
> http://www.linuxdoc.org/HOWTO/Software-RAID-HOWTO-4.html#ss4.12
> 
> If you have an ext2 resizer that you trust to shrink the fs enough for
> the raid superblock, you can try that and avoid the step of copying over
> data manually.  Not recommended, of course, but it's a possibility.
> 
> > If, perchance, an mdX on the first-striped set has a problem, will the
> > mirrored device kick in and re-synch the striped mdX with the problem?
> > When this happens (as I'm sure it probably will at some point), how will
> > I know that it is occurring?  I am guessing that the first striped set
> > will be out of operation until it is repaired by re-synching with the
> > mirrored set.
> >
> > How can mirroring be effectively used & monitored?
> 
> The major problem here is that once you create (via the failed-disk method)
> the raid10, you *need* to start mounting the md10-14 devices.  Manually
> dealing with the underlying md0-9 devices isn't supported after that point.
> 
> It boils down to the fact that raid1 is "write to md10, mirror the
> writes across md0 and md5" and not "the raid1 module should catch all
> writes to md0 and automatically mirror them to md5".  You have to use the
> raid1 mdX device you created or you best-case lose raid1 functionality,
> worst-case lose data.

I guess I was under the impression that I could use the Raid0 devices as
my mountpoints and have the mirrored devices take care of the 2nd stripe
set as some kind of a backup or fail-over.

Essentially, what you are saying is that I must mount the mirrored
devices.  Unfortunately, the mirrored mdX performance I'm seeing using
hdparm is from 4 - 6 MBps, as opposed to 35 MBps from the striped
devices.

Thanks for taking the time to explain how mirroring works. FWIW, my goal
is
to set up a test environment of our production system.  When I have
confidence 
in our apps on the test environment I will apply the lessons learned to
migrating our servers from NT to Linux. At least for the test
environment, I think that using the 3ware card with their fast mirroring
is looking very attractive on a cost/performance basis. 
> 
> > fstab file:
> >
> > /dev/md1                /local                  ext2    defaults 1 2
> > /dev/md0                /opt                    ext2    defaults 1 2
> > /dev/md4                /tmp                    ext2    defaults 1 2
> > /dev/md2                /usr                    ext2    defaults 1 2
> > /dev/md3                /var                    ext2    defaults 1 2
> 
> After the "method 2" (failed-disk) steps to get the mirrored/striped
> raid10's up and running, you'll need to change these by "adding 10" to
> each (md11, md10, md14, md12, md13) so you're using the raid10 devices
> and not an underlying raid0 device.
> 
> HTH, HAND
> 
> James
> --
> James Manning <[EMAIL PROTECTED]>
> GPG Key fingerprint = B913 2FBD 14A9 CE18 B2B7  9C8E A0BF B026 EEBB F6E4
> 
>   ------------------------------------------------------------------------
>    Part 1.2Type: application/pgp-signature

Reply via email to