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
volume-config(4)						   File Formats 						  volume-config(4)

NAME
volume-config - Solaris Volume Manager volume configuration information for top down volume creation with metassist SYNOPSIS
/usr/share/lib/xml/dtd/volume-config.dtd DESCRIPTION
A volume configuration file, XML-based and compliant with the volume-config.dtd Document Type Definition, describes the detailed configura- tion of the volume or volumes to be created, including the names, sizes and configurations of all the components used in the volume or vol- umes. This configuration file can be automatically generated by running metassist with the -d option, or can be manually created. The volume configuration file can then be used to either generate a command file or to directly create volumes by running metassist and specifying the volume configuration file as input to the command. As a system administrator, you would want to change, manually create, or edit the volume configuration file only if there are small details of the configuration that you want to change. For example, you might want to change names for volumes or hot spare pools, mirror read option, or stripe interlace values. It would be possible to also select different devices or change slice sizes or make similar changes, but that is generally not recommended. Substantial changes to the volume-config file could result in a poor or non-functional configuration. With a volume-config file, you can run metassist and provide the file as input to the command to generate either a command file or to actu- ally set up the configuration. Defining Volume Configuration The top level element <volume-config> surrounds the volume configuration data. This element has no attributes. A volume configuration requires exactly one <diskset> element, which must be the first element of the volume configuration. Additionally, the volume-config can have zero or more of the following elements: <disk>, <slice>, <hsp>, <concat>, <stripe>, <mirror> as required to define the configuration of the volume to be created. Defining Disk Set Within the <volume-config> element, a <diskset> element must exist. The <diskset> element, with the name attribute, specifies the name of the diskset in which to create the volume or volumes. This element and attribute are required. If this named disk set does not exist, it is created upon implementation of this volume configuration. Defining Slice The volume configuration format provides for a <slice> element that defines the name of a slice to use as a component of a volume. The <slice> element requires a name attribute which specifies a full ctd name. If the <slice> is newly created as part of the volume configura- tion, the startsector and sizeinblocks attributes must be specified. If the slice was previously existing, these attributes need not be specified. Defining Hot Spare Pool The volume configuration format provides for a <hsp> element that defines the name of a hot spare pool to use as a component of a configu- ration. The <hsp> element requires a name attribute which specifies a hot spare pool name. Slices defined by <slice> elements contained in the <hsp> element are included in the hot spare pool when metassist creates it." Defining Stripe The <stripe> element defines stripes (interlaced RAID 0 volumes) to be used in a volume. The <stripe> element takes a required name attribute to specify a name conforming to Solaris Volume Manager naming requirements. If the name specifies an existing stripe, no <slice> elements are required. If the name specifies a new stripe, the <slice> elements to construct the slice must be specified within the <stripe> element. The <stripe> elements takes an optional interlace attribute as value and units (for example, 16KB, 5BLOCKS, 20MB). If this value isn't specified, the Solaris Volume Manager default value is used. Defining Concat The <concat> element defines concats (non-interlaced RAID 0 volumes) to be used in a configuration. It is the same as a <stripe> element, except that the interlace attribute is not valid. Defining Mirror The <mirror> element defines mirrors (RAID 1 volumes) to be used in a volume configuration. It can contain combinations of <concat> and <stripe> elements (to explicitly determine which volumes are used as submirrors). The <mirror> element takes a required name attribute to specify a name conforming to Solaris Volume Manager naming requirements. The <mirror> element takes an optional read attribute to define the mirror read options (ROUNDROBIN, GEOMETRIC, or FIRST) for the mirrors. If this attribute is not specified, the Solaris Volume Manager default value is used. The <mirror> element takes an optional write attribute to define the mirror write options (PARALLEL, SERIAL, or FIRST) for the mirrors. If this attribute is not specified, the Solaris Volume Manager default value is used. The <mirror> element takes an optional passnum attribute (0-9) to define the mirror passnum that defines the order in which mirrors are resynced at boot, if required. Smaller numbers are resynced first. If this attribute is not specified, the Solaris Volume Manager default value is used. EXAMPLES
Example 1: Specifying a Volume Configuration The following is an example volume configuration: <!-- Example configuration --> <volume-config> <!-- Specify the existing disk set to use --> <diskset name="redundant"/> <!-- Create slices --> <slice name="/dev/dsk/c0t0d1s7" startsector="1444464" sizeinblocks="205632BLOCKS"/> <slice name="/dev/dsk/c0t0d1s6" startsector="1239840" sizeinblocks="102816KB"/> <!-- Create a concat --> <concat name="d12"> <slice name="/dev/dsk/c0t0d0s7"/> <slice name="/dev/dsk/c0t0d0s6"/> <slice name="/dev/dsk/c0t0d1s7"/> <slice name="/dev/dsk/c0t0d1s6"/> <!-- Create (and use) a HSP --> hsp name="hsp0"> <slice name="/dev/dsk/c0t0d4s0"/> <slice name="/dev/dsk/c0t0d4s1"/> <slice name="/dev/dsk/c0t0d4s3"/> <slice name="/dev/dsk/c0t0d4s4"/> </hsp> </concat> <!-- Create a stripe --> <stripe name="d15" interlace="32KB"> <slice name="/dev/dsk/c0t0d0s7"/> <slice name="/dev/dsk/c0t0d1s7"/> <!-- Use a previously-defined HSP --> <hsp name="hsp0"/> </stripe> <!-- Create a mirror --> <mirror name="d10"> <!-- Submirror 1: An existing stripe --> <stripe name="d11"/> <!-- Submirror 2: The concat defined above --> <concat name="d12"/> <!-- Submirror 3: A stripe defined here --> <stripe name="d13"> <slice name="/dev/dsk/c0t0d2s6"/> <slice name="/dev/dsk/c0t0d2s7"/> <slice name="/dev/dsk/c0t0d3s6"/> slice name="/dev/dsk/c0t0d3s7"/> </stripe> </mirror> </volume-config> FILES
/usr/share/lib/xml/dtd/volume-config.dtd SEE ALSO
metassist(1M), metaclear(1M), metadb(1M), metadetach(1M), metahs(1M), metainit(1M), metaoffline(1M), metaonline(1M), metaparam(1M), metare- cover(1M), metareplace(1M), metaroot(1M), metaset(1M), metasync(1M), metattach(1M), mount_ufs(1M), mddb.cf(4) Solaris Volume Manager Administration Guide SunOS 5.10 8 Aug 2003 volume-config(4)
All times are GMT -4. The time now is 07:00 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy