When your RAID array reports "Currently unreadable (pending) sectors" despite passing SMART tests, you're facing one of storage's most deceptive failure modes. The Hitachi HUA721010KLA330 drive in your case shows:
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 1
This single pending sector represents a block that couldn't be read during the last operation but hasn't been remapped yet. What makes this particularly dangerous in RAID 1 is that the array appears healthy ([UU]
in mdstat) while silently accumulating potential data corruption points.
Your /proc/mdstat
output shows perfect synchronization:
md5 : active raid1 sdb5[1] sda5[0] 108026816 blocks [2/2] [UU]
But RAID 1's weakness emerges here - it blindly mirrors good and bad sectors. When a read operation hits that pending sector, the controller may:
- Return corrupt data from the failing drive
- Timeout and fail the read operation
- Silently pass through incorrect data
Standard SMART tests often miss intermittent issues. Try this comprehensive check sequence:
# Force thorough media scan hdparm --read-sector 0 /dev/sda # Replace 0 with suspect LBA if known smartctl -t selective,0-1000 /dev/sda badblocks -sv /dev/sda
For your specific case with 43,000+ power-on hours, also monitor:
# Check for deteriorating performance iostat -x 1 10 | grep -E 'sda|sdb' # Monitor retry rates smartctl -l xerror /dev/sda
When pending sectors persist, manually trigger reallocation:
# Write zeros to force remap (DESTRUCTIVE - backup first!) dd if=/dev/zero of=/dev/sda bs=512 count=1 seek=[LBA] conv=notrunc # Alternative non-destructive read-forced retry hdparm --repair-sector [LBA] /dev/sda
Remember: Each remap operation reduces your drive's spare sector pool. With enterprise drives like yours, consider replacement when:
- Reallocated_Sector_Ct > threshold (5 in your case)
- Pending sectors persist after 3 write/read cycles
- Power_On_Hours exceed manufacturer MTBF (typically 50,000-60,000)
For software RAID implementations, follow this sequence:
# 1. Mark disk as faulty mdadm --manage /dev/mdX --fail /dev/sda1 # 2. Remove from array mdadm --manage /dev/mdX --remove /dev/sda1 # 3. Perform sector repair or replacement # 4. Re-add to array mdadm --manage /dev/mdX --add /dev/sda1
Implement this cron job to catch early signs:
#!/bin/bash THRESHOLD=1 CURRENT=$(smartctl -a /dev/sda | grep -i 'Current_Pending_Sector' | awk '{print $10}') if [ $CURRENT -gt $THRESHOLD ]; then echo "WARNING: $CURRENT pending sectors on /dev/sda" | mail -s "Storage Alert" admin@example.com smartctl -t long /dev/sda fi
The error message "Device: /dev/sda [SAT], 1 Currently unreadable (pending) sectors" indicates your system has detected potential media errors on one of your RAID members. While the RAID array appears healthy (showing [UU] status), this warning suggests underlying disk issues that could escalate.
# Critical SMART values from your output: 197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 1 198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0 5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0
The single pending sector (ID 197) hasn't been reallocated yet (ID 5 shows 0). This "limbo" state means:
- The sector failed readability checks
- The drive hasn't decided whether to reallocate it
- No data corruption has occurred yet (thanks to RAID1)
Run an extended test with forced read:
smartctl -t long /dev/sda # Monitor progress with: smartctl -l selftest /dev/sda
For comprehensive surface scanning:
badblocks -sv -b 4096 -o /tmp/badblocks.txt /dev/sda # Then cross-reference with RAID: mdadm --examine-badblocks /dev/sda
Create /usr/local/bin/raid_monitor.sh:
#!/bin/bash for disk in /dev/sd[a-b]; do pending=$(smartctl -a $disk | grep "Current_Pending_Sector" | awk '{print $10}') if [ $pending -gt 0 ]; then echo "WARNING: $disk has $pending pending sectors" | mail -s "RAID Alert" admin@example.com # Force reallocation attempt hdparm --read-sector $(smartctl -l xerror $disk | grep LBA | awk '{print $2}') $disk fi done
Consider replacement if:
- Pending sectors increase over time
- Reallocated_Sector_Ct becomes non-zero
- Extended tests start reporting errors
For Hitachi drives specifically (like your HUA721010KLA330), check the manufacturer's warranty status:
smartctl -i /dev/sda | grep -i warranty # Expected output: Warranty: 5 years (check actual value)
Before replacing a disk:
# Mark disk as faulty mdadm --fail /dev/md5 /dev/sda5 # Remove from array mdadm --remove /dev/md5 /dev/sda5 # After replacement: mdadm --add /dev/md5 /dev/sda5