Hi!
First of all sorry if this is the wrong place to ask, if it is, please point me to a better suited channel!
Anyway I’ve got this old 2TB HDD attached to a rpi 4b, it worked flawlessly until now, the last few days it started disconnecting randomly…
If i reboot it mounts back again.
This is the df
output:
/dev/sdb1 1.8T 535G 1.2T 31% /mnt/2tb
And this is sudo dmesg | grep sdb
(the device is sdb ofc).
[ 14.970908] sd 1:0:0:0: [sdb] 3907029168 512-byte logical blocks: (2.00 TB/1.82 TiB)
[ 14.978857] sd 1:0:0:0: [sdb] 4096-byte physical blocks
[ 14.984484] sd 1:0:0:0: [sdb] Write Protect is off
[ 14.989382] sd 1:0:0:0: [sdb] Mode Sense: 43 00 00 00
[ 14.989684] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 15.044802] sd 1:0:0:0: [sdb] Preferred minimum I/O size 4096 bytes
[ 15.051196] sd 1:0:0:0: [sdb] Optimal transfer size 33553920 bytes not a multiple of preferred minimum block size (4096 bytes)
[ 15.065585] sdb: sdb1
[ 15.068403] sd 1:0:0:0: [sdb] Attached SCSI disk
[ 22.631983] EXT4-fs (sdb1): recovery complete
[ 22.660922] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Quota mode: none.
The device has an external power supply of its own, so it’s not a power issue… This setup worked for a couple of years.
I cannot see anything wrong here, pheraps is the HDD which is going bad?
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.
Rules:
Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.
No spam posting.
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.
Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
Don’t just look at sdb hits in the log. Open up that entire session in journalctl kernel mode (
journalctl -k -bN
where N is the session number in session history) and find the context surrounding the drive dropping and reconnecting.You’ll probably find that something caused a USB bus reset or a similar event before the drive dropped and reconnected. if you find nothing like that try switching power supplies for the HDD and/or switching USB ports until you can move the drive to a different USB root port. Use
lsusb -t
and swap ports until the drive is attached beneath a different root port. You might have a neighboring USB device attached to the bus that’s causing issues for other devices attached to the same root port (it happens, USB devices or drivers sometimes behave badly.)Always look at the context of the event when you’re troubleshooting a failure like this, don’t just drill down on the device messages. Most of the time the real cause of the issue preceded the symptom by a bit of time.
Thank you so much for taking the time to answer!
I’m not sure how to get the
N
from session history, nor how to check my session history…but this might be some relevant output I’ve found with
journalctl -k -b
The output is from yesterday, when the device stopped working correctly.
I’m not familiar with linux kernel, but I can see there is definitely something wrong…
The HDD (old) is attached to a USB hub (new), I tried switching port of the hub but the same issue happened again, if I try to mount it with
sudo mount /mnt/2tb
, it says it is already mounted:sudo dmesg | grep sdb
gives back:Very good answer. I’ve also spent some time analyzing some red herrings when it was something else like a bad cable or connector. And by the way, you can use the same keys in
journalctl
as in the usual pager (less(?)) so hit/
and search for ‘unmount’, ‘disconnect’, etc. And then scroll through the log and find out what led to the situation.