:bulb: How to verify disk devices, RAID Controller, and the SMART status of Physical Disks hidden behind RAID on Ubuntu.

Environment: Ubuntu 22.04 + LSI MegaRAID SAS3108 (Intel RMS3CC080 OEM) + 2× Intel SSD S4510 480GB + RAID1


[01] Understanding the Overall Structure

The disk the OS sees may differ from the actual Physical Disk. When a RAID Controller sits in between, the OS sees only the Virtual Disk.

graph TD
    OS["Ubuntu OS
/dev/sda (446GiB)"] --> VD["Virtual Disk
(RAID1 Mirror)"] VD --> CTRL["LSI MegaRAID SAS3108
RAID Controller"] CTRL --> PD1["Physical Disk 8
Intel SSD 480GB"] CTRL --> PD2["Physical Disk 9
Intel SSD 480GB"] style OS fill:#e3f2fd,stroke:#1565c0 style VD fill:#fff3e0,stroke:#e65100 style CTRL fill:#fce4ec,stroke:#c62828 style PD1 fill:#e8f5e9,stroke:#2e7d32 style PD2 fill:#e8f5e9,stroke:#2e7d32

[02] Disk Device and Slot Check

2-1. Basic Disk List

1
lsblk -d -o NAME,SIZE,MODEL,SERIAL

Sample output:

1
2
NAME    SIZE MODEL     SERIAL
sda   446.1G RMS3CC080 008348090b453e172b10c13010b00506
Field Description
NAME Device name
SIZE Disk capacity
MODEL Disk model (may be the Virtual Disk model)
SERIAL Serial number

2-2. SCSI Device Check

1
lsscsi -g

Sample output:

1
[0:2:0:0]    disk    Intel    RMS3CC080        4.65  /dev/sda   /dev/sg0
Field Description
disk Device type
RMS3CC080 RAID Controller or Virtual Disk
/dev/sda Virtual Disk exposed to OS
/dev/sg0 Generic SCSI Device

2-3. RAID Controller via PCI

1
lspci | grep -i -E 'raid|sas|scsi|lsi|broadcom'

Sample output:

1
5e:00.0 RAID bus controller: Broadcom / LSI MegaRAID SAS-3 3108 [Invader] (rev 02)

2-4. RAID Driver Check

1
lsmod | grep megaraid

Sample output:

1
megaraid_sas          188416  3

[03] RAID Configuration Check

3-1. Linux Software RAID (mdadm)

1
cat /proc/mdstat

Sample output:

1
2
Personalities : [raid1] [raid5] [raid6]
unused devices: <none>

:bulb: unused devices: <none> means no mdadm-based Software RAID is in use. Normal for Hardware RAID (MegaRAID) environments like above.

3-2. Install smartmontools

To check Physical Disk status, install smartmontools.

1
2
sudo apt update
sudo apt install smartmontools -y

3-3. Scan Physical Disks Behind RAID

1
sudo smartctl --scan

Sample output:

1
2
3
/dev/sda -d scsi
/dev/bus/0 -d megaraid,8
/dev/bus/0 -d megaraid,9
Item Description
megaraid,8 Physical Disk index 8
megaraid,9 Physical Disk index 9

/dev/bus/0 is the direct access path to the RAID Controller, and -d megaraid,N selects each Physical Disk.


[04] Physical Disk SMART Check

4-1. Single Disk Detail

1
sudo smartctl -a -d megaraid,8 /dev/bus/0

Sample output (key fields):

1
2
3
4
Device Model:     INTEL SSDSC2KB480G8
Serial Number:    BTYF2083027D480BGN
User Capacity:    480,103,981,056 bytes [480 GB]
SMART overall-health self-assessment test result: PASSED

4-2. Batch Check Multiple Disks

1
2
3
4
5
6
for i in 8 9; do
  echo "========================="
  echo "Physical Disk $i"
  sudo smartctl -a -d megaraid,$i /dev/bus/0 | \
    grep -E "Product|Model|Serial|User Capacity|SMART overall"
done

Sample output:

1
2
3
4
5
6
7
8
9
10
11
12
13
=========================
Physical Disk 8
Device Model:     INTEL SSDSC2KB480G8
Serial Number:    BTYF2083027D480BGN
User Capacity:    480 GB
SMART overall-health self-assessment test result: PASSED

=========================
Physical Disk 9
Device Model:     INTEL SSDSC2KB480G8
Serial Number:    BTYF20830230480BGN
User Capacity:    480 GB
SMART overall-health self-assessment test result: PASSED

[05] Inferring RAID Configuration

For the current example:

Item Value
Physical Disk 480GB SSD × 2
OS-visible capacity 446GiB (≈ 480GB)
Inferred RAID1 (Mirror)

:bulb: If the OS saw ~960GB, it would be RAID0/JBOD. If somewhat less than 960GB, RAID5/6.


[06] SSD Status Key Checkpoints

6-1. Temperature

1
sudo smartctl -a -d megaraid,8 /dev/bus/0 | grep Temperature

Sample output:

1
Temperature_Celsius     21
Range Status
0–40°C Normal
40–60°C Caution (review workload)
60°C+ Critical (check cooling/failure)

6-2. Wear Level (Lifespan)

1
sudo smartctl -a -d megaraid,8 /dev/bus/0 | grep -i wear

Sample output:

1
2
Workld_Media_Wear_Indic
Media_Wearout_Indicator

SSD lifespan indicator. Counts down from 100 toward 0 — closer to 0 means time to replace.

6-3. Bad Block Check

1
2
sudo smartctl -a -d megaraid,8 /dev/bus/0 | \
  grep -E "Reallocated|Pending|CRC"

Healthy output:

1
2
3
Reallocated_Sector_Ct   0
Pending_Sector_Count    0
CRC_Error_Count         0

:warning: If Reallocated_Sector_Ct or Pending_Sector_Count is non-zero, consider replacing the disk. Accumulated CRC errors may indicate a cabling/connection issue.


[07] Quick Start — Step by Step

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Step 1. Check disks
lsblk -d -o NAME,SIZE,MODEL,SERIAL

# Step 2. Identify RAID Controller
lspci | grep -i -E 'raid|sas|scsi|lsi|broadcom'

# Step 3. Confirm RAID driver
lsmod | grep megaraid

# Step 4. Install smartmontools
sudo apt update && sudo apt install smartmontools -y

# Step 5. Scan Physical Disks
sudo smartctl --scan

# Step 6. Check Physical Disk status
sudo smartctl -a -d megaraid,8 /dev/bus/0

# Step 7. Batch check all disks
for i in 8 9; do
  echo "========================="
  echo "PD $i"
  sudo smartctl -a -d megaraid,$i /dev/bus/0 | \
    grep -E "Model|Serial|User Capacity|SMART overall"
done

[08] Summary

Key point Description
OS disk ≠ Physical Disk With a RAID Controller, the OS sees only the Virtual Disk
Hardware RAID ID lspci for RAID Controller model; /proc/mdstat for Software RAID
Physical Disk access smartctl -d megaraid,N /dev/bus/0 required
Infer RAID config OS-visible capacity ÷ Physical Disk count gives RAID Level hint
SMART check Temperature, Wear Level, Reallocated/Pending Sector, CRC errors

:bulb: In RAID environments, checking only the OS-visible disk isn’t enough. Verify SMART status of each Physical Disk behind the RAID Controller to catch failures early.