Sponsored Content
Operating Systems Solaris How do I replace a "good" RAID 1+0 disk? Post 302773627 by Twirlip on Thursday 28th of February 2013 11:10:59 AM
Old 02-28-2013
Sun How do I replace a "good" RAID 1+0 disk?

Hi,

I have a Solaris Volume Manager (aka Disksuite) RAID 1+0 device consisting of 12 devices. One of these is failing (it has logged several mechanical positioning errors), and I have a replacement disk.

Normally, when a disk fails, volume manager marks it as failed, and replacing it is fairly easy. I would just unconfigure the disk (cfgadm -c unconfigure), replace it, reconfigure the disk, run devfsadm, partition the disk, and then use metareplace to replace it in volume manager.

However, in this case the disk has not actually failed, and is still being written to. How do I tell volume manager to stop using the disk? The only commands I know (metadetatch and metaoffline) will disable the whole d91 submirror (AFAIK), not just this device.

Here is the metadevice in question:
Code:
# metastat d90
d90: Mirror
    Submirror 0: d91
      State: Okay
    Submirror 1: d92
      State: Okay
    Pass: 1
    Read option: roundrobin (default)
    Write option: parallel (default)
    Size: 426673521 blocks (203 GB)

d91: Submirror of d90
    State: Okay
    Size: 426673521 blocks (203 GB)
    Stripe 0: (interlace: 32 blocks)
        Device      Start Block  Dbase        State Reloc Hot Spare
        c4t8d0s0           0     No            Okay   Yes <==== This disk is failing
        c4t9d0s0        2889     No            Okay   Yes
        c4t10d0s0       2889     No            Okay   Yes
        c4t11d0s0       2889     No            Okay   Yes
        c4t12d0s0       2889     No            Okay   Yes
        c4t13d0s0       2889     No            Okay   Yes

d92: Submirror of d90
    State: Okay
    Size: 426673521 blocks (203 GB)
    Stripe 0: (interlace: 32 blocks)
        Device      Start Block  Dbase        State Reloc Hot Spare
        c5t8d0s0           0     No            Okay   Yes
        c5t9d0s0        2889     No            Okay   Yes
        c5t10d0s0       2889     No            Okay   Yes
        c5t11d0s0       2889     No            Okay   Yes
        c5t12d0s0       2889     No            Okay   Yes
        c5t13d0s0       2889     No            Okay   Yes

So, how do I replace c4t8d0s0, but still continue using all the other disks during the replacement? I want to use the same slot, so I have to pull the old disk out first.

(Note: Solaris Volume Manager makes this look like a RAID 0+1, but my understanding is this is really a RAID 1+0 as explained here)
 

8 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

2. Solaris

Help:"Bad checksum in disk label" and "Can't open disk label package"?

Hello, I'm brand new to Sun/Solaris. I have a Sun Blade 150, with SunOS 5.8. I wanted to make a backup to prevent future data loss, so I put the disk in a normal PC with Windows XP to try to make a backup with Norton Ghost, the disk was detected, but not the file volume, so I place the disk... (6 Replies)
Discussion started by: Resadija
6 Replies

3. Shell Programming and Scripting

How to replace "®" "™" "with Spaces in UNIX

do U know how to replace the registered trademark "®" symbol or trade Mark "™" "with Spaces in UNIX (4 Replies)
Discussion started by: MMeari
4 Replies

4. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

5. UNIX for Dummies Questions & Answers

replace "," with "." only in specific columns of a file?

Hi all, I have this text file containing 9 columns separated by space. The 8th columns contains the numbers. C1 C2 C3 C4 C5 C6 C7 C8 C9 er rt yt gh iu nk il 0.07 xs yt lr ty bg iu zk nh 0,0005 lt ...etc. I want to replace the comma with full stop only in 8th coloumn. the output... (8 Replies)
Discussion started by: Unilearn
8 Replies

6. Solaris

Checking RAID health, metastat returns "no database"

Hello, I am supposed to check the RAID health of a system but when I type metastat it says "there are no existing databases" Does this mean that there is no RAID configured at all? Is there any other utility I should try? I know the system has two disks. Tanks! (8 Replies)
Discussion started by: cevspencer
8 Replies

7. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

8. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies
raidreconf(8)						      System Manager's Manual						     raidreconf(8)

NAME
raidreconf - reconfigure RAID arrays SYNOPSIS
raidreconf -h {--help} - or - raidreconf -V {--version} - or - raidreconf -o oldraidtab -n newraidtab -m /dev/md? - or - raidreconf -i /dev/sd?? -n newraidtab -m /dev/md? - or - raidreconf -n newraidtab -m /dev/md? -e /dev/sd?? WARNING
You should back up all data BEFORE any attempt is made to reconfigure a RAID device. YOU HAVE BEEN WARNED. The author will give you no guarantee whatsoever, that this program works in any specific way at all. It may well destroy all data on any device connected directly, indirectly, or not at all, to any system this software is used on. Please use this stuff with care, if you decide to use it at all. Ok, that said, let's see how to actually use it :-) DESCRIPTION
raidreconf will read two raidtab files, an old one, and a new one. It will then re-build your old array to match the configuration for the new array, while retaining all data possible. It can also be used to import a single block-device into a RAID array (using more block devices), or export a RAID array to a single block- device. raidreconf can, of course, only retain your original data if you grow the configuration. If you shrink the configuration from say, P bytes to Q bytes, raidreconf will retain the first Q bytes of your original data, but everything from Q bytes to the end of the old array (to P bytes) will be lost. Currently raidreconf can grow and shrink RAID-0 and RAID-5 arrays, and import non-RAID devices into a new RAID-0 or RAID-5. The whole purpose of raidreconf is to be able to add disks to an existing array, or convert it to a new type (eg. RAID-0 to RAID-5) without losing data. raidreconf will move the existing data around on your array, to match the layout of the new array. OPTIONS
-h {--help} Raidreconf will print a short help message, and exit. -V {--verbose} Raidreconf will print it's version information, and exit. -o {--old} oldraidtab Specifies the path name of the old (current) raidtab. NOTE: raidreconf performs some tests to ensure that this configuration file matches the raid superblocks stored on the disk, but there may be scenarios where the two are in conflict, but aren't detected as such. Be very careful to specify this file properly. -n {--new} newraidtab Specifies the path name of the new raidtab. After raidreconf finishes, copy the newraidtab to the oldraidtab location, as raidreconf doesn't perform this (potentially dangerous) operation. -m {--mddev} /dev/md? Specifies the name of the raid array to modify. -i {--import} /dev/sd?? Specifies the name of the device to import from. -e {--export} /dev/sd?? Specifies the name of the device to export to. BUGS
Perhaps many. Well, the basic RAID-0 growth, shrink and import algorithms seem to work, but there are lots and lots of consistency checks and graceful error handling missing. The RAID-5 algorithms are simplistic, with little optimization other than that provided by the buffer layer. Conversions between non-RAID, RAID-0, and RAID-5 all *seem* to work, but there may be some bugs left yet. If an error occurs during reconfiguration, a power failure for example, restore from backup (you DID make a backup, right?), and try again. Although RAID-4 is not supported, and almost no one uses it, it would be almost trivial to add. REPORTING BUGS
Since this is highly experimental software, there are a number of known bugs already. The author would of course like to know about bugs, but at this stage in development you shouldn't waste too much of your time trying to hunt them down. They're probably known, and maybe already fixed in the author's tree. Report bugs to <bugs@oss.connex.com>. ????? AUTHOR
raidreconf was written in 1999 by Jakob Oestergaard <jakob@ostenfeld.dk> The RAID-5 routines were written by Daniel S. Cox in 2001 <dcox@connex.com> SEE ALSO
mkraid(8), raidtab(5), raidstart(8), raidhotadd(8), raidhotremove(8), raidstop(8) raidreconf(8)
All times are GMT -4. The time now is 04:40 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy