Re: Need to understand error messages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I do this to reduce the queue depth, you need to find the path to the
card to limit it to just the one card.  I have before reduced it even
lower.  The only advantage to letting the disk queue a few commands is
the disk MIGHT be able to merge 2 requests, though unless the requests
contain re-writes to the same sectors I would be surprised if any
merging ever gets done.

find /sys/devices/pci0000:00/0000:00:01.1/0000:10:00.0/ -name
"queue_depth" -exec /usr/local/bin/set_queue_depth 8 {} \;
find /sys/devices/pci0000:00/0000:00:01.1/0000:10:00.0/ -name
"nr_requests" -exec /usr/local/bin/set_queue_depth 16 {} \;

[root@bm-server .homeassistant]# cat /usr/local/bin/set_queue_depth
echo $1 > $2

On Fri, Mar 7, 2025 at 2:46 AM Eyal Lebedinsky <eyal@xxxxxxxxxxxxxx> wrote:
>
> On 7/3/25 18:16, Hannes Reinecke wrote:
> > On 3/7/25 05:20, Eyal Lebedinsky wrote:
> >> On 7/3/25 12:27, Roger Heflin wrote:
> >>> That is the report uncorrectable error coming back to the OS.   ie
> >>> sense key: medium error.
> >>>
> >>> It looks like you had a few commands lined up (the tags) and one io
> >>> hung (2888) and eventually failed (bad sector) but it took long enough
> >>> that  is timed out on all of the other IO behind it (the SOFT_ERROR).
> >>>
> >>> The scsi layer should have retried the SOFT ones I would think.
> >>>
> >>> You might want to check to see what smartctl -l scterc says the disks
> >>> timeout is and what the OS level scsi timeout is.  I set the disk
> >>> timeouts as low as the disk will allow and leave my OS timeouts
> >>> default (30 sec typically).
> >>
> >> SCT Error Recovery Control:
> >>             Read:     70 (7.0 seconds)
> >>            Write:     70 (7.0 seconds)
> >>
> >>> I would have thought there would be a md rewrite.
> >>
> >> I also thought so. The fact that I now see 48 Reallocated_Sector_Ct suggests that there were
> >> writes to the failed sectors, since a failed read adds a Pending then the write leads to Reallocation.
> >> Now Current_Pending_Sector is zero.
> >>
> >> Also, 48 reallocated is more than the one failed sector the disk sensed,
> >> and the following timed out tags is something the OS saw (and the disk should not reallocate?).
> >>
> > The MPT hardware has a very poor queueing implementation. It exposes a SCSI host with literally thousands of commands, but the component drives
> > only have a queue depth of 31. So there is a mismatch, and there are
> > issues when a long-running command (eg a command triggering error handling) will block the pending commands already queued within the
> > firmware.
> > In these cases the offending command will cause the _pending_ commands
> > to timeout, even though the would probably be perfectly fine if they
> > hadn't been blocked. And returning 'QUEUE_FULL' status would be too
> > easy...
>
> Are you saying that the blocked commands which end up timing out are treated as bad sectors by the drive?
> I expect them to then be marked pending, then only when written to they will be reallocated.
> Who is re-writing these sectors?
>
> Why does md/raid say nothing? Are these sectors outside the raid area, so not monitored by md/raid?
>
> TIA,
>         Eyal
>
> > Anyway.
> > Fact is, your drive developed read errors. And experience shows that
> > a read error is the beginning of the end for a drive.
> > So I would recommend to not investigate further but rather get a new
> > drive.
>
> Yep, I already have one ready for when the situation deteriorates further.
>
> > Cheers,
> >
> > Hannes
>
>
> --
> Eyal at Home (eyal@xxxxxxxxxxxxxx)
>





[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux