Sự cố với Ổ cứng ngoài - kernel: Nhật ký cam kết lỗi I / O


8

Tôi đang gặp sự cố khi giữ ổ cứng ngoài USB 2.0 3TB (tự cấp nguồn) gắn trên pi của mình.

Tôi đang sử dụng bộ sạc tường 1.0 A để cấp nguồn cho pi. Tôi đang kết nối ổ đĩa cứng với một trung tâm USB Belkin được cấp nguồn và sau đó cắm trung tâm đó vào một cổng USB trên pi.

Mua ổ cứng mới và định dạng lại ext3bằng cách sử dụng pi.

Ổ cứng kết nối và gắn kết tốt cả sử dụng thủ công mount [device] [dir]và tự động sử dụng usbmount, và hoạt động tốt miễn là tôi hoạt động trên thiết bị / ổ đĩa. Tôi sẽ quay lại pi vài giờ hoặc một ngày sau đó và thử và truy cập ổ đĩa tại điểm gắn kết và không thể truy cập ổ đĩa tại cùng một /dev/sda1vị trí ( ). Khi tôi cố gắng lsvào điểm gắn kết, tôi nhận được: ls: reading directory /media/usb0: Input/output errorvà điều này qua bất kỳ phiên được kết nối nào:

Tin nhắn từ syslogd @ raspberrypi vào ngày 16 tháng 11 10:46:40 ...
 kernel: [32781.214102] Nhật ký cam kết lỗi I / O

Tin nhắn từ syslogd @ raspberrypi vào ngày 16 tháng 11 10:46:40 ...
 kernel: [32781.226121] lỗi cam kết I / O

Sau đó tôi phải trả lại ổ đĩa. đôi khi tôi sẽ nhận thấy đường dẫn thiết bị đã thay đổi từ /dev/sda1thành /dev/sdb1. Đôi khi tôi thậm chí cần phải tháo / cắm lại ổ đĩa vào pi.

Bây giờ tôi đang cố gắng tìm hiểu xem đây có phải là sự cố về điện (mà tôi nghi ngờ), sự cố đĩa (như đĩa chuyển sang chế độ ngủ hoặc một cái gì đó) hoặc vấn đề kernal / linux. Còn ai có ý tưởng nào không?

CẬP NHẬT

/var/log/messages: http://bit.ly/TYDYZR


Kinh nghiệm nói rằng bất kỳ sự không nhất quán ổ đĩa bên ngoài là xuống điện. Đây là một mô tả hay về ý nghĩa của lỗi
Jivings

Đó cũng là những gì tôi nghĩ lúc đầu, nhưng tôi đang cung cấp nhiều năng lượng cho pi, đồng thời cắm ổ cứng ngoài vào một trung tâm USB được cấp nguồn và sau đó vào pi, không có kết nối USB nào khác. Sau nhiều giờ không hoạt động khi quay trở lại pi, ổ cứng không được kết nối và tôi gặp lỗi I / O.
ndmweb

Ngoài ra, HD bên ngoài có nguồn điện riêng cắm vào tường.
ndmweb

Câu trả lời:


1

Tôi cũng đang có cùng chung vấn đề. Cách tôi giải quyết (giải quyết vấn đề này) là:

  1. tôi đã tạo một tập lệnh khởi động có tên /etc/init.d/mountmedia trông giống như đoạn mã dưới đây (chi tiết đọc ở đây http: //www.debian-ad dùng.org/articles/28 )

! / thùng / sh

# /etc/init.d/mountmedia
#

# Carry out specific functions when asked to by the system
case "$1" in
  start)
    echo "Mounting external drive... "
    mount /dev/sd*1 /media/data
    ;;
  stop)
    echo "Un-mounting external drive..."
    umount /media/data
    ;;
  *)    
    echo "Usage: /etc/init.d/mountmedia {start|stop}"
    exit 1
    ;;
esac
exit 0
  1. sau đó tôi đã tạo ra một cronjob để kiểm tra xem giá treo có bị hỏng hay không và nếu cần. Đây là kịch bản của tôi

! / thùng / sh

filenumber=`ls /media/data/ | wc -l`
if [ "$filenumber" -lt 1 ]; then
    echo "mounting ..."
    sudo umount /media/data
    sudo mount /dev/sd*1 /media/data
fi

1

Tôi gặp một vấn đề tương tự: Ổ cứng ext4 bên ngoài được gắn tốt ban đầu với cờ rw, vị trí thiết bị là / dev / sda1. Sau một thời gian không hoạt động, hdd đi ngủ, sau đó, đôi khi nó không thể truy cập được nữa. mount hiển thị nó dưới dạng ro và thư mục hoàn toàn trống.

Nếu tôi thực hiện umount / mount, ổ đĩa sẽ hoạt động trở lại như mong đợi, nhưng hiện tại được đặt tại / dev / sdb1 (điều này có thể vì tôi gắn kết bởi UUID). Vì vậy, tôi cho rằng cách giải quyết được đề xuất trước đó sẽ có hiệu quả với tôi, nhưng nó hơi xấu.

Cronjob có thể được thực hiện mà không có tập lệnh shell chỉ bằng một dòng:

*/5 * * * * [ `ls /media/data/ | wc -1` -lt 1 ] && { umount /media/data; mount /media/data }

Tại đây http://forum.xbian.org/thread-1276-post-14699.html họ dường như thảo luận về cùng một vấn đề, nhưng dường như vẫn chưa được giải quyết.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.