Replacing a DiskSuite (Solaris Volume Manager) disk

A short guide on how to recover a broken DiskSuite mirror.

  1. Check metastat information:
    # metastat -c
    d30 m 34GB d31 (maint) d32

      d31 s 34GB c0t0d0s3 (maint)
      d32 s 34GB c0t1d0s3

    d20 m 4.0GB d21 (maint) d22

      d21 s 4.0GB c0t0d0s1 (maint)
      d22 s 4.0GB c0t1d0s1

    d10 m 30GB d11 (maint) d12

      d11 s 30GB c0t0d0s0 (maint)
      d12 s 30GB c0t1d0s0

    hsp001 h –

  2. Remove the broken replicas from the metadb :
    # metadb -i
    flags first blk block count
    W p l 16 8192 /dev/dsk/c0t0d0s7
    W p l 8208 8192 /dev/dsk/c0t0d0s7
    a m p luo 16 8192 /dev/dsk/c0t1d0s7
    a p luo 8208 8192 /dev/dsk/c0t1d0s7
    . . .

    # metadb -d /dev/dsk/c0t0d0s7

  3. Replace the broken disk
  4. Check that the new disk is visible:
    # format
    Searching for disks…done

    AVAILABLE DISK SELECTIONS:

      0. c0t0d0
      /pci@1c,600000/scsi@2/sd@0,0
      1. c0t1d0
      /pci@1c,600000/scsi@2/sd@1,0
  5. Copy the partition table from the healthy to the new disk:
    # prtvtoc /dev/rdsk/c0t1d0s0 | fmthard -s – \
    /dev/rdsk/c0t0d0s0
    fmthard: New volume table of contents now in place.
  6. Create metadb replicas (for example, 2 copies in slice 7):
    # metadb -a -c2 /dev/rdsk/c0t0d0s7
  7. Verifying the metadb:
    # metadb -i

      flags first blk block count

    a u 16 8192 /dev/dsk/c0t0d0s7
    a u 8208 8192 /dev/dsk/c0t0d0s7
    a p luo 16 8192 /dev/dsk/c0t1d0s7
    a p luo 8208 8192 /dev/dsk/c0t1d0s7

  8. “Metareplace” the failed slices:
    # metastat | fgrep replace
    Invoke: metareplace d30 c0t0d0s3
    Invoke: metareplace d20 c0t0d0s1
    Invoke: metareplace d10 c0t0d0s0

    # metareplace -e d30 c0t0d0s3
    d30: device c0t0d0s3 is enabled
    # metareplace -e d20 c0t0d0s1
    d20: device c0t0d0s1 is enabled
    # metareplace -e d10 c0t0d0s0
    d10: device c0t0d0s0 is enabled

  9. Periodically check the resyncing status:
    # metastat | fgrep esync
    State: Resyncing
    Resync in progress: 0 % done
    State: Resyncing
    c0t0d0s3 0 No Resyncing Yes
    State: Resyncing
    Resync in progress: 19 % done
    State: Resyncing
    c0t0d0s1 0 No Resyncing Yes
    State: Resyncing
    Resync in progress: 2 % done
    State: Resyncing
    c0t0d0s0 0 No Resyncing Yes

Leave a Reply

Your email address will not be published.