Need help replacing a mirrored boot disk

I have a v480 with a mirrored boot disk c1t0 and c1t1. The drives themselves don't show a failure but the mirror's need maintenance.

This is my plan for replacing the drive. I would love feedback to point out what I"m missing or where my steps are incorrect.

Two things I believe I'm missing is do I need to newfs the replacement drive and/or create a bootblk on the replacement drive?

Do i need to change the devalias in OBP to point to the new device name?

Anyone know which drive is t1 and t0? I believe slot 0 is t0.

Here is the information I've gathered and the steps I intend to take.

Failed mirrors:
d14: Mirror
Submirror 0: d84
State: Okay
Submirror 1: d94
State: Needs maintenance

d84: Submirror of d14
State: Okay
Size: 4090752 blocks
Stripe 0:
Device Start Block Dbase State Hot Spare
c1t0d0s4 10176 Yes Okay

d94: Submirror of d14
State: Needs maintenance
Invoke: metareplace d14 c1t1d0s4 <new device>
Size: 4090752 blocks
Stripe 0:
Device Start Block Dbase State Hot Spare
c1t1d0s4 10176 Yes Maintenance

d13: Mirror
Submirror 0: d83
State: Okay
Submirror 1: d93
State: Needs maintenance

d83: Submirror of d13
State: Okay
Size: 203520 blocks
Stripe 0:
Device Start Block Dbase State Hot Spare
c1t0d0s3 10176 Yes Okay

d93: Submirror of d13
State: Needs maintenance
Invoke: metareplace d13 c1t1d0s3 <new device>
Size: 203520 blocks
Stripe 0:
Device Start Block Dbase State Hot Spare
c1t1d0s3 10176 Yes Maintenance
d0: Mirror
Submirror 0: d80
State: Okay
Submirror 1: d90
State: Needs maintenance

d80: Submirror of d0
State: Okay
Size: 4100928 blocks
Stripe 0:
Device Start Block Dbase State Hot Spare
c1t0d0s0 0 No Okay

d90: Submirror of d0
State: Needs maintenance
Invoke: metareplace d0 c1t1d0s0 <new device>
Size: 4100928 blocks
Stripe 0:
Device Start Block Dbase State Hot Spare
c1t1d0s0 0 No Maintenance

Replica state
metadb -i
flags first blk block count
a m p luo 16 1034 /dev/dsk/c1t0d0s3
a p luo 16 1034 /dev/dsk/c1t1d0s3
a p luo 16 1034 /dev/dsk/c1t0d0s4
a p luo 16 1034 /dev/dsk/c1t1d0s4
a p luo 16 1034 /dev/dsk/c1t0d0s7
a p luo 16 1034 /dev/dsk/c1t1d0s7

  1. Detach sub mirrors

metadetach -f d14 d94
metadetach -f d13 d93
metadetach -f d0 d90

  1. Clear config information

metaclear d94
metaclear d93
metaclear d90

  1. Verify there are no metadevices still on the drive

metastat -p | grep c1t1d0

  1. Clear replicas (three replicas left on c1t0)

metadb -d c1t1d0s3
metadb -d c1t1d0s4
metadb -d c1t1d0s7

  1. Save disk partition for later

prtvtoc /dev/rdsk/c1t1d0s2 > /tmp/disk2vtoc

  1. Prep drive for removal
    [list=1]
  2. a. luxadm remove_device -F /dev/rdsk/c1t1d0s2
  3. Wait for the prompt telling you to remove the drive
  4. Remove the drive from the system
  5. devfsadm -Cc disk (cleans up)
    [/list]
  1. Insert new drive
  1. 8. devfsadm
  1. verify new drive paths are in solaris (ls -ld /dev/dsk/c1t1d*)
  1. Format the drive with the file saved in step 5

fmthard -s /tmp/disk2vtoc /dev/rdsk/c1t1d0s2

  1. Create and reattach submirror
    [list=1]
  2. a. metainit d94 1 1 c1t1d0s4
  3. b. metattach d14 d94
  4. c. metainit d93 1 1 c1t1d0s3
  5. d. metattach d13 d93
  6. e. metainit d90 1 1 c1t1d0s0
  7. f. metattach d0 d90
    [/list]
  1. Create replicas

Metadb -a -c3 c1t1d0s2

Your metadb creation is wrong, should be

metadb �d c1t1d0s3
metadb �d c1t1d0s4
metadb �d c1t1d0s7
metadb �a -c 1 c1t1d0s3
metadb �a -c 1 c1t1d0s4
metadb �a -c 1 c1t1d0s7

The partition information from the failed disk might fail, can be obtained from the good disk.
My idiot-safe method to identify the failed disk is to do some permanent reads. The good disk's activity LED flickers!
The straight method to replace and resync (without metadetach metaclear metainit metattach):

metareplace -e d14 d94
metareplace -e d13 d93
metareplace -e d0 d90

So the metareplace command will work by itself? I thought this was the case but everything I've read uses the steps I posted.

Thanks for the correction on the metadb.

Yes! The advise given by metastat is not too bad

metareplace d0 c1t1d0s0
<new device>

but should be

metareplace -e d0 c1t1d0s0

Must be the disk slice not the submirror (I got that wrong).