Perc H730 Mini RAID Controller smarttest
Posted: Sun Jul 12, 2026 7:06 pm
a good copypaste, I have tried this and it seems to work well, of course the raid control software changes over time, and over machines. This is for Perc H730 Mini Raid
# Checking a Dell PERC H730 Mini RAID Controller on Proxmox VE
## System covered
This guide is specifically for:
* Proxmox VE
* Dell PERC H730 Mini
* Broadcom/LSI MegaRAID SAS-3 3108
* `megaraid_sas` Linux driver
* RAID managed through Dell PERCCLI
Your current configuration contains one RAID 1 virtual disk and two SATA SSDs. The controller, RAID virtual disk, battery and both physical drives currently report an optimal state.
---
## 1. Identify the RAID controller
Run on the Proxmox host as `root`:
```bash
lspci -nnk | grep -A5 -Ei 'raid|sas|scsi|storage'
```
Expected output includes:
```text
Broadcom / LSI MegaRAID SAS-3 3108
Dell PERC H730 Mini
Kernel driver in use: megaraid_sas
```
Confirm the driver is loaded:
```bash
lsmod | grep megaraid_sas
```
---
## 2. Locate PERCCLI
The normal installation path is:
```text
/opt/MegaRAID/perccli/perccli64
```
Check it:
```bash
find /opt/MegaRAID/perccli -maxdepth 1 \
-type f -executable -ls
```
Create a convenient shell variable:
```bash
PERC=/opt/MegaRAID/perccli/perccli64
```
Confirm the program works:
```bash
$PERC show
```
Expected output should show one controller:
```text
Number of Controllers = 1
Ctl 0
Model PERCH730Mini
Health Opt
```
---
## 3. Check the overall controller state
Run:
```bash
$PERC /c0 show
```
Important fields:
```text
Controller Status
Health
BBU
Drive Groups
Virtual Drives
Physical Drives
```
Healthy values include:
```text
Controller Status = Optimal
Health = Opt
BBU = Opt
```
Your controller currently reports an optimal controller and battery state.
---
## 4. Display the full controller report
Save the complete controller report:
```bash
$PERC /c0 show all \
| tee /root/perc-controller.txt
```
This report includes:
* controller firmware version;
* driver version;
* controller temperature;
* cache configuration;
* battery status;
* RAID topology;
* scheduled patrol reads;
* consistency-check settings;
* rebuild policy.
Review the most important fields:
```bash
grep -Ei \
'Controller Status|Firmware Version|Driver Version|BBU|Battery|Cache|temperature|Patrol|Consistency|Rebuild' \
/root/perc-controller.txt
```
---
## 5. Check the RAID virtual disk
List all virtual disks:
```bash
$PERC /c0/vall show
```
For this server, the expected healthy result is similar to:
```text
DG/VD TYPE State Access Consist Cache
0/0 RAID1 Optl RW Yes RWBD
```
Meaning:
* `RAID1` — mirrored RAID
* `Optl` — optimal
* `RW` — read/write
* `Yes` — consistent
* `RWBD` — read ahead, write-back cache, direct I/O
Save the detailed virtual-disk report:
```bash
$PERC /c0/vall show all \
| tee /root/perc-virtual-disks.txt
```
Important fields:
```text
State
Access
Consist
Cache
Active Operations
Exposed to OS
OS Drive Name
```
Healthy values include:
```text
State = Optl
Access = RW
Consist = Yes
Active Operations = None
```
Your virtual disk currently reports `Optimal`, `Consistent`, and write-back cache is active.
---
## 6. Check physical-drive status through the controller
List all physical drives:
```bash
$PERC /c0/eall/sall show
```
Expected healthy values:
```text
State = Onln
```
On this server the two drives are:
```text
/c0/e32/s0
/c0/e32/s1
```
Save the detailed report:
```bash
$PERC /c0/e32/sall show all \
| tee /root/perc-physical-disks.txt
```
Extract the health counters:
```bash
grep -Ei \
'Drive /|State|Media Error Count|Other Error Count|Predictive Failure Count|S.M.A.R.T|Firmware Revision|Link Speed' \
/root/perc-physical-disks.txt
```
Healthy results are:
```text
Media Error Count = 0
Other Error Count = 0
Predictive Failure Count = 0
S.M.A.R.T alert flagged by drive = No
```
Both current SSDs report zero controller-recorded media errors, zero other errors, zero predictive failures and no SMART alert.
---
## 7. Check cache and battery health
Run:
```bash
$PERC /c0 show all |
grep -Ei 'BBU|Battery|CacheVault|Cache|Retention|temperature'
```
Important fields include:
```text
BBU = Present
BBU Status
Battery temperature
CacheVault Flash Size
Current Size of FW Cache
```
Healthy values include:
```text
BBU = Present
BBU Status = 0
State = Optimal
```
The RAID virtual disk should normally use write-back cache:
```text
Write Cache(initial setting) = WriteBack
```
If the battery or CacheVault protection fails, the controller may switch to write-through cache, which can cause a major performance reduction.
---
## 8. Check controller temperatures
Run:
```bash
$PERC /c0 show all |
grep -Ei 'ROC temperature|Ctrl temperature|Battery.*Temp'
```
On this server, the controller temperature was approximately:
```text
ROC temperature = 52°C
Controller temperature = 52°C
Battery temperature = 36°C
```
These values were not accompanied by controller warnings.
---
## 9. Export the RAID event log
Save all controller events, including deleted historical configurations:
```bash
$PERC /c0 show events type=includedeleted \
file=/root/perc-events.txt
```
Search for serious events:
```bash
grep -Ei \
'command timeout|reset|failed|degraded|offline|media|medium|uncorrect|predictive|cache data|battery|rebuild|consistency|patrol' \
/root/perc-events.txt
```
Important warning messages include:
```text
Command timeout on PD
PD reset
VD is now DEGRADED
VD is now OFFLINE
Cache data recovered
Predictive failure
Media error
```
Be careful when using:
```text
type=includedeleted
```
This includes events from previous disks and deleted RAID configurations.
For example, an event referring to:
```text
VD 01/1
PD 04
```
does not necessarily refer to the current RAID, which contains only virtual disk `00/0` and physical disks `0` and `1`.
---
## 10. Display event context and timestamps
A simple `grep` may hide the event date and sequence number.
Show surrounding lines:
```bash
grep -n -B15 -A10 -E \
'Command timeout on PD|reset \(Type|now DEGRADED|now OFFLINE' \
/root/perc-events.txt
```
For battery-learning events:
```bash
grep -n -B12 -A8 -E \
'Battery relearn started|Battery relearn in progress|Battery is discharging|Battery relearn completed' \
/root/perc-events.txt
```
Compare the event identity with the current disks before concluding that a current drive is failing.
---
## 11. Check scheduled controller tasks
Run:
```bash
$PERC /c0 show all |
grep -Ei \
'Consistency Check Reoccurrence|Next Consistency|Patrol Read Reoccurrence|Next Patrol|Battery learn'
```
Typical settings on this controller are:
```text
Consistency Check Reoccurrence = 168 hrs
Patrol Read Reoccurrence = 168 hrs
Battery learn Reoccurrence = 2160 hrs
```
Check whether a patrol read, consistency check or battery relearn occurred close to a performance incident.
---
## 12. Quick health-check command set
Use this for a fast controller review:
```bash
PERC=/opt/MegaRAID/perccli/perccli64
echo "=== CONTROLLER ==="
$PERC /c0 show
echo "=== VIRTUAL DISK ==="
$PERC /c0/vall show
echo "=== PHYSICAL DRIVES ==="
$PERC /c0/eall/sall show
echo "=== DRIVE ERROR COUNTERS ==="
$PERC /c0/e32/sall show all |
grep -Ei \
'Drive /|Media Error Count|Other Error Count|Predictive Failure Count|S.M.A.R.T'
echo "=== CACHE AND BATTERY ==="
$PERC /c0 show all |
grep -Ei \
'Controller Status|BBU|Battery|Write Policy|CacheVault|ROC temperature|Ctrl temperature'
```
---
## 13. Healthy result checklist
A healthy PERC H730 Mini should show:
```text
Controller Status = Optimal
Health = Opt
BBU = Optimal
RAID virtual disk = Optl
Virtual disk consistency = Yes
Physical drives = Onln
Media Error Count = 0
Other Error Count = 0
Predictive Failure Count = 0
SMART alert = No
Write cache = WriteBack
Active Operations = None
```
---
## 14. Commands to avoid during diagnosis
Do not run PERCCLI commands containing these actions unless you fully understand the effect:
```text
delete
clear
set
offline
missing
good
start rebuild
start init
start erase
foreign import
foreign clear
```
The inspection commands used in this guide are based on `show`, log export and text filtering and do not intentionally modify the RAID configuration.
---
## Current conclusion for this controller
The current Dell PERC H730 Mini configuration reports:
* controller optimal;
* RAID 1 optimal and consistent;
* both physical SSDs online;
* zero media errors;
* zero other errors;
* zero predictive failures;
* no SMART alerts;
* battery optimal;
* write-back cache active;
* no active rebuild.
Historical event entries must be matched by timestamp, virtual-disk number, physical-disk number and path before associating them with a current fault.
# Checking a Dell PERC H730 Mini RAID Controller on Proxmox VE
## System covered
This guide is specifically for:
* Proxmox VE
* Dell PERC H730 Mini
* Broadcom/LSI MegaRAID SAS-3 3108
* `megaraid_sas` Linux driver
* RAID managed through Dell PERCCLI
Your current configuration contains one RAID 1 virtual disk and two SATA SSDs. The controller, RAID virtual disk, battery and both physical drives currently report an optimal state.
---
## 1. Identify the RAID controller
Run on the Proxmox host as `root`:
```bash
lspci -nnk | grep -A5 -Ei 'raid|sas|scsi|storage'
```
Expected output includes:
```text
Broadcom / LSI MegaRAID SAS-3 3108
Dell PERC H730 Mini
Kernel driver in use: megaraid_sas
```
Confirm the driver is loaded:
```bash
lsmod | grep megaraid_sas
```
---
## 2. Locate PERCCLI
The normal installation path is:
```text
/opt/MegaRAID/perccli/perccli64
```
Check it:
```bash
find /opt/MegaRAID/perccli -maxdepth 1 \
-type f -executable -ls
```
Create a convenient shell variable:
```bash
PERC=/opt/MegaRAID/perccli/perccli64
```
Confirm the program works:
```bash
$PERC show
```
Expected output should show one controller:
```text
Number of Controllers = 1
Ctl 0
Model PERCH730Mini
Health Opt
```
---
## 3. Check the overall controller state
Run:
```bash
$PERC /c0 show
```
Important fields:
```text
Controller Status
Health
BBU
Drive Groups
Virtual Drives
Physical Drives
```
Healthy values include:
```text
Controller Status = Optimal
Health = Opt
BBU = Opt
```
Your controller currently reports an optimal controller and battery state.
---
## 4. Display the full controller report
Save the complete controller report:
```bash
$PERC /c0 show all \
| tee /root/perc-controller.txt
```
This report includes:
* controller firmware version;
* driver version;
* controller temperature;
* cache configuration;
* battery status;
* RAID topology;
* scheduled patrol reads;
* consistency-check settings;
* rebuild policy.
Review the most important fields:
```bash
grep -Ei \
'Controller Status|Firmware Version|Driver Version|BBU|Battery|Cache|temperature|Patrol|Consistency|Rebuild' \
/root/perc-controller.txt
```
---
## 5. Check the RAID virtual disk
List all virtual disks:
```bash
$PERC /c0/vall show
```
For this server, the expected healthy result is similar to:
```text
DG/VD TYPE State Access Consist Cache
0/0 RAID1 Optl RW Yes RWBD
```
Meaning:
* `RAID1` — mirrored RAID
* `Optl` — optimal
* `RW` — read/write
* `Yes` — consistent
* `RWBD` — read ahead, write-back cache, direct I/O
Save the detailed virtual-disk report:
```bash
$PERC /c0/vall show all \
| tee /root/perc-virtual-disks.txt
```
Important fields:
```text
State
Access
Consist
Cache
Active Operations
Exposed to OS
OS Drive Name
```
Healthy values include:
```text
State = Optl
Access = RW
Consist = Yes
Active Operations = None
```
Your virtual disk currently reports `Optimal`, `Consistent`, and write-back cache is active.
---
## 6. Check physical-drive status through the controller
List all physical drives:
```bash
$PERC /c0/eall/sall show
```
Expected healthy values:
```text
State = Onln
```
On this server the two drives are:
```text
/c0/e32/s0
/c0/e32/s1
```
Save the detailed report:
```bash
$PERC /c0/e32/sall show all \
| tee /root/perc-physical-disks.txt
```
Extract the health counters:
```bash
grep -Ei \
'Drive /|State|Media Error Count|Other Error Count|Predictive Failure Count|S.M.A.R.T|Firmware Revision|Link Speed' \
/root/perc-physical-disks.txt
```
Healthy results are:
```text
Media Error Count = 0
Other Error Count = 0
Predictive Failure Count = 0
S.M.A.R.T alert flagged by drive = No
```
Both current SSDs report zero controller-recorded media errors, zero other errors, zero predictive failures and no SMART alert.
---
## 7. Check cache and battery health
Run:
```bash
$PERC /c0 show all |
grep -Ei 'BBU|Battery|CacheVault|Cache|Retention|temperature'
```
Important fields include:
```text
BBU = Present
BBU Status
Battery temperature
CacheVault Flash Size
Current Size of FW Cache
```
Healthy values include:
```text
BBU = Present
BBU Status = 0
State = Optimal
```
The RAID virtual disk should normally use write-back cache:
```text
Write Cache(initial setting) = WriteBack
```
If the battery or CacheVault protection fails, the controller may switch to write-through cache, which can cause a major performance reduction.
---
## 8. Check controller temperatures
Run:
```bash
$PERC /c0 show all |
grep -Ei 'ROC temperature|Ctrl temperature|Battery.*Temp'
```
On this server, the controller temperature was approximately:
```text
ROC temperature = 52°C
Controller temperature = 52°C
Battery temperature = 36°C
```
These values were not accompanied by controller warnings.
---
## 9. Export the RAID event log
Save all controller events, including deleted historical configurations:
```bash
$PERC /c0 show events type=includedeleted \
file=/root/perc-events.txt
```
Search for serious events:
```bash
grep -Ei \
'command timeout|reset|failed|degraded|offline|media|medium|uncorrect|predictive|cache data|battery|rebuild|consistency|patrol' \
/root/perc-events.txt
```
Important warning messages include:
```text
Command timeout on PD
PD reset
VD is now DEGRADED
VD is now OFFLINE
Cache data recovered
Predictive failure
Media error
```
Be careful when using:
```text
type=includedeleted
```
This includes events from previous disks and deleted RAID configurations.
For example, an event referring to:
```text
VD 01/1
PD 04
```
does not necessarily refer to the current RAID, which contains only virtual disk `00/0` and physical disks `0` and `1`.
---
## 10. Display event context and timestamps
A simple `grep` may hide the event date and sequence number.
Show surrounding lines:
```bash
grep -n -B15 -A10 -E \
'Command timeout on PD|reset \(Type|now DEGRADED|now OFFLINE' \
/root/perc-events.txt
```
For battery-learning events:
```bash
grep -n -B12 -A8 -E \
'Battery relearn started|Battery relearn in progress|Battery is discharging|Battery relearn completed' \
/root/perc-events.txt
```
Compare the event identity with the current disks before concluding that a current drive is failing.
---
## 11. Check scheduled controller tasks
Run:
```bash
$PERC /c0 show all |
grep -Ei \
'Consistency Check Reoccurrence|Next Consistency|Patrol Read Reoccurrence|Next Patrol|Battery learn'
```
Typical settings on this controller are:
```text
Consistency Check Reoccurrence = 168 hrs
Patrol Read Reoccurrence = 168 hrs
Battery learn Reoccurrence = 2160 hrs
```
Check whether a patrol read, consistency check or battery relearn occurred close to a performance incident.
---
## 12. Quick health-check command set
Use this for a fast controller review:
```bash
PERC=/opt/MegaRAID/perccli/perccli64
echo "=== CONTROLLER ==="
$PERC /c0 show
echo "=== VIRTUAL DISK ==="
$PERC /c0/vall show
echo "=== PHYSICAL DRIVES ==="
$PERC /c0/eall/sall show
echo "=== DRIVE ERROR COUNTERS ==="
$PERC /c0/e32/sall show all |
grep -Ei \
'Drive /|Media Error Count|Other Error Count|Predictive Failure Count|S.M.A.R.T'
echo "=== CACHE AND BATTERY ==="
$PERC /c0 show all |
grep -Ei \
'Controller Status|BBU|Battery|Write Policy|CacheVault|ROC temperature|Ctrl temperature'
```
---
## 13. Healthy result checklist
A healthy PERC H730 Mini should show:
```text
Controller Status = Optimal
Health = Opt
BBU = Optimal
RAID virtual disk = Optl
Virtual disk consistency = Yes
Physical drives = Onln
Media Error Count = 0
Other Error Count = 0
Predictive Failure Count = 0
SMART alert = No
Write cache = WriteBack
Active Operations = None
```
---
## 14. Commands to avoid during diagnosis
Do not run PERCCLI commands containing these actions unless you fully understand the effect:
```text
delete
clear
set
offline
missing
good
start rebuild
start init
start erase
foreign import
foreign clear
```
The inspection commands used in this guide are based on `show`, log export and text filtering and do not intentionally modify the RAID configuration.
---
## Current conclusion for this controller
The current Dell PERC H730 Mini configuration reports:
* controller optimal;
* RAID 1 optimal and consistent;
* both physical SSDs online;
* zero media errors;
* zero other errors;
* zero predictive failures;
* no SMART alerts;
* battery optimal;
* write-back cache active;
* no active rebuild.
Historical event entries must be matched by timestamp, virtual-disk number, physical-disk number and path before associating them with a current fault.