Project

General

Profile

Actions

Feature #13358

open

OSD assert with 'Current_Pending_Sector'

Added by sean redmond over 8 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
other
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

Description

I have noticed when a scrub is running on an OSD that is backed by a JBOD spinning drive that has a single bad block (marked in S.M.A.R.T as 'Current_Pending_Sector' >1) causing the scrub to fail with an I/O error the OSD process will assert out.

Following the assert upstart will start the drive back up and the process will repeat again some time in the future.

As the drive only has a single bad block this can be repaired by doing a write to this block causing the Drive firmware to reallocate a reserved sector. I can do this manually using "hdparm --write-sector $SECTOR /dev/sdXX" but I think ceph should really be doing this in much the way a RAID card would do by reading a copy / parity from the other drives and writing back over the problem sector.

No data to display

Actions

Also available in: Atom PDF