treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

Raspberry Piの「Buffer I/O error」に対処する

Raspberry Piに外付けHDDをUSB接続しているのですが、その内の一台で「Buffer I/O error」が発生したため、対処が必要となりました。
その対処した内容のご報告です。

以前に、<Raspberry PiからHDDが見えなくなったので対処 - treedown’s Report>ではfsckで様子見としていた機器でしたが、故障という結論となりました。

エラーが発生する

発生したエラーはdmesgで確認できました。

マウント処理に失敗しているUSB HDDを発見。

--------------------------------------------------------------
usb 1-1.5: USB disconnect, device number 5
Buffer I/O error on dev sdb, logical block 365985792, lost sync page write
JBD2: Error -5 detected when updating journal superblock for sdb-8.
Aborting journal on device sdb-8.
Buffer I/O error on dev sdb, logical block 365985792, lost sync page write
JBD2: Error -5 detected when updating journal superblock for sdb-8.
--------------------------------------------------------------

「USB 切断、デバイス番号 5」に続いて、Buffer I/O errorが記録されています。
「dev sdb でのバッファ I/O エラー、論理ブロック 365985792、同期ページ書き込みの損失」
この次に、
「sdb-8 のジャーナル スーパーブロックを更新するときにエラー -5 が検出されました。」
というエラー検出ログ記録後に、
「デバイス sdb-8 でジャーナルを中止しています。」
「dev sdb でのバッファ I/O エラー、論理ブロック 365985792、同期ページ書き込みの損失」
「db-8 のジャーナル スーパーブロックを更新するときにエラー -5 が検出されました。」
とエラーが続きます。

以前fsckで復旧していたエラーでしたが、今回は故障を疑って、いったん取り外してディスクチェックを掛けることにしました。

ディスクチェック

現地でディスクチェックができなかったのと、大容量で当日時間内では終わりそうになかったため、故障ディスクを回収し、後日検査用PCでディスクチェックを実施しました。

対象のディスクは2台内蔵できるUSB接続の外付けHDD、これをRAID 1で構成しています。

一台づつ取り外してディスクチェックを実行することにしました。

 

2台中1台の故障を確認しました。

もう1台のHDDは無事だったようで、テストは正常終了しました。

ここで、RAID1のディスクが片方だけ無事だったこともあり、テスト用のRaspberry Piに接続してHDDをマウントしてみることにしました。

マウントしたところ、無事に正常判定だったディスクからはデータの読み書きができるようでしたので、RAID1の片方のディスクは故障していなかった、という結論になりました。

と、いうことは、故障した1台を交換用HDD調達で差し替えることで、復旧できそうです。
ひとまず、調査はここまで。ディスク購入の納品待ち状態です。