IT 등/리눅스 관련
USB로 연결한 SSD가 오류를 뱉을때…
단비
2025. 8. 21. 19:52
여지껏 잘 쓰던 WEBDAV에서 특정 SSD를 mount 한 것에 들어가려니 자꾸 오류를 뿜더군요.
보통은 disk-idle 세팅 때문인지, 재부팅하면 괜찮아졌는데, 이번은 느낌이 쎄해서 SSD를 바꿔줬습니다.
그랬더니 에러는 없어지는데, 자꾸 ssd가 idle 되는거예요. autosuspend 세팅을 보니 2로 잡혀 있어서 수정해주니 개선되네요.
그 과정이 좀 다사다난합니다.
일단, 우분투에서 SSD autosuspend 가 활성화되어 있는지 부터 봅니다.
root@ras219:/home# cat /sys/module/usbcore/parameters/autosuspend
2
라고 되어 있네요. 2초 후 autosuspend 된다는 얘기입니다.
이 값이 -1 이면 autosuspend 적용이 안되는건데요, 문제는 저 값을 바꿔줘도 다시 초기화가 된다는겁니다.
그럼 부팅때마다 바꿔주면 되죠. 챗GPT한테 얘기해서 autosuspend 파일을 바꿔달라는 쉘스크립트를 짭니다.
한줄이면 될텐데, 챗GPT는 길게 짜주네요
root@ras219:~# cat disable-usb-autosuspend.sh
#!/bin/sh
PARAM=/sys/module/usbcore/parameters/autosuspend
# 파일 뜰 때까지 대기
for i in $(seq 1 60); do [ -e "$PARAM" ] && break; sleep 0.5; done
[ -e "$PARAM" ] || exit 1
echo -1 > "$PARAM" 2>/dev/null
[ "$(cat $PARAM 2>/dev/null)" = "-1" ] || exit 2
exit 0
여기에 chmod 755 disable-usb-autosuspend.sh 로 권한 설정해 주구요...
root crontab에 걸어주면 됩니다.
@reboot sleep 10 && /root/disable-usb-autosuspend.sh && /root/mount_ssd.sh
다시 재부팅하고 autosuspend 파일의 값을 확인해봅니다.
root@ras219:~# cat /sys/module/usbcore/parameters/autosuspend
-1
우리가 원하는 -1 값으로 바뀌었습니다. 이제 해결되었습니다.
사실 방법은 많은데, 시스템을 최소한 적게 건드리고 싶었거든요.