Monitoring hardware RAID controllers with Solaris

I manage several V40Zs running Solaris 10, and these servers utilize the built-in hardware RAID controller. Siince the physical spindles are masked off from the operating system, using a tool like smartmontools to check disk health is not an option. Luckily Solaris shops with the raidctl utility, which provides insight into the status of both the controller and the disks that sit behind that controller:

$ raidctl

RAID    Volume  RAID            RAID            Disk
Volume  Type    Status          Disk            Status
c1t0d0  IM      OK              c1t0d0          OK
                                c1t1d0          OK

Since raidctl will display a disk fault when a drive fails, I run a shell wrapper from cron every fifteen minutes to check the RAID controller status. If the script detects a problem, it will send an email and generate a syslog entry to let folks know a problem exists. Viva la hardware RAID!

6 thoughts on “Monitoring hardware RAID controllers with Solaris”

  1. With Hardware RAID, can you see these disk physically in Open Boot Prompt using probe-scsi? I am only seeing Volume 0 instead of Target 1-4.

  2. Joe,

    You can use ‘raidctl -S’, as of current that will list the status of everything. This IS listed in the man page:

    # # raidctl -S

    1 “LSI 1030”
    c1t1d0 2 0.2.0 0.3.0 1 DEGRADED
    0.2.0 GOOD
    0.3.0 FAILED

  3. Or even better use raidctl to determine the volume name as below:
    # raidctl
    Controller: 1
    Disk: 0.0.0
    Disk: 0.1.0
    Disk: 0.2.0
    Disk: 0.3.0
    Then use this identifier to run a raidctl -l as below:

    # raidctl -l c1t0d0
    Volume Size Stripe Status Cache RAID
    Sub Size Level
    c1t0d0 136.6G N/A OPTIMAL ON RAID1
    0.0.0 136.6G GOOD
    0.1.0 136.6G GOOD

  4. You had to write a script to do something that is automatic on a desktop pc running windows. Yeah, SUN is sooooo waste of time.

Leave a Reply

Your email address will not be published. Required fields are marked *