外付けHDDからエラー「journal commit I/O error」


環境
OS:CentOS 6 (32bit)
Machine: AspireOne(ネットブック)
外付け:バッファロー製のUSB接続の2TB HDD


久しぶりにftpサーバに接続してあれこれ作業していたら、画面上に以下のようなメッセージが。broadcastかwallかしらんが、sshで入ってる時もコンソールメッセージって出るんだ。

journal commit I/O error

ぐぐってもよくわからないが、どうやらHDDかFilesystemが壊れているようた。
http://japan.zdnet.com/os/analysis/20359415/

  1 [root@aspire usb-storage]# grep "I\/O" /var/log/messages
May 25 07:56:27 aspire kernel: EXT4-fs (sdb1): previous I/O error to superblock detected
May 25 07:58:02 aspire kernel: Enabling APIC mode:  Flat.  Using 1 I/O APICs
May 25 07:58:02 aspire kernel: ACPI: EC: GPE = 0x17, I/O: command/status = 0x66, data = 0x62
May 25 08:09:24 aspire kernel: end_request: I/O error, dev sdb, sector 2269118991
May 25 08:09:24 aspire kernel: Buffer I/O error on device sdb1, logical block 283639866
May 25 08:09:24 aspire kernel: lost page write due to I/O error on sdb1
May 25 08:09:24 aspire kernel: sd 0:0:0:0: rejecting I/O to offline device
May 25 08:09:24 aspire kernel: end_request: I/O error, dev sdb, sector 2269122879
May 25 08:09:24 aspire kernel: Buffer I/O error on device sdb1, logical block 283640352
May 25 08:09:24 aspire kernel: lost page write due to I/O error on sdb1
May 25 08:09:24 aspire kernel: sd 0:0:0:0: rejecting I/O to offline device
May 25 08:09:24 aspire kernel: sd 0:0:0:0: rejecting I/O to offline device
(中略)
May 25 08:09:24 aspire kernel: sd 0:0:0:0: rejecting I/O to offline device
May 25 08:09:24 aspire kernel: sd 0:0:0:0: rejecting I/O to offline device
May 25 08:09:24 aspire kernel: end_request: I/O error, dev sdb, sector 1950621951
May 25 08:09:24 aspire kernel: sd 0:0:0:0: rejecting I/O to offline device
May 25 08:09:24 aspire kernel: JBD2: I/O error detected when updating journal superblock for sdb1-8.
May 25 08:09:24 aspire kernel: journal commit I/O error
May 25 08:24:11 aspire kernel: sd 0:0:0:0: rejecting I/O to offline device

うーむ、この「sd 0:0:0:0」ってのが物理的にだめなのかな。
sd 0:0:0:0ってなんだ?→dmesgしたら分かった。

[root@aspire usb-storage]# dmesg | grep "sd 0:0:0:0"
sd 0:0:0:0: [sdb] 3907029168 512-byte logical blocks: (2.00 TB/1.81 TiB)

あー、外付けの2TBのHDDですね。

[root@aspire usb-storage]# cat /proc/scsi/scsi
Attached devices:
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: WDC WD1600BEVT-2 Rev: 11.0
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: BUFFALO  Model: External HDD     Rev: 0000
  Type:   Direct-Access                    ANSI  SCSI revision: 02

なぜかUSB接続のほうが若番で認識されている。


なぜかfdsikで見えてない。

[root@aspire usb-storage]# fdisk -l

ディスク /dev/sda: 160.0 GB, 160041885696 バイト
ヘッド 255, セクタ 63, シリンダ 19457
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x11a8ba38

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1               1         637     5116671   12  Compaq 診断
/dev/sda2   *         638        4462    30724312+   7  HPFS/NTFS
/dev/sda3            4463       19458   120449002+   f  W95 拡張領域 (LBA)
/dev/sda5            4463       16862    99602968+   7  HPFS/NTFS
/dev/sda6           16863       19393    20321280   83  Linux
/dev/sda7           19393       19458      522240   82  Linux スワップ / Solaris
[root@aspire usb-storage]#
[root@aspire usb-storage]#
[root@aspire usb-storage]# fdisk -l /dev/sdb
[root@aspire usb-storage]#

でもマウントはできてるし,使える。

[root@aspire usb-storage]# df -h
Filesystem            Size  Used Avail Use% マウント位置
/dev/sda6              20G  3.7G   15G  21% /
tmpfs                 751M   88K  751M   1% /dev/shm
/dev/sdb1             1.8T  1.6T  137G  93% /data
[root@aspire usb-storage]#
[root@aspire usb-storage]#
[root@aspire usb-storage]#
[root@aspire usb-storage]# ls /data
etc.tar.gz  img  XXXXX  XXXX  lost+found  var.tar.gz
[root@aspire usb-storage]#

と思ったが、fsckしたらfdiskで見れるようなった。
(fsckする前はumountしていないといけない)

[root@aspire ~]# e2fsck /dev/sdb1
e2fsck 1.41.12 (17-May-2010)
bf2tb: recovering journal
bf2tb has gone 306 days without being checked, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

bf2tb: ***** FILE SYSTEM WAS MODIFIED *****
bf2tb: 72811/122101760 files (1.1% non-contiguous), 428273677/488378000 blocks
[root@aspire ~]# fdisk -l /dev/sdb

ディスク /dev/sdb: 2000.4 GB, 2000398934016 バイト
ヘッド 255, セクタ 63, シリンダ 243201
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0xb4436f68

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1               1      243201  1953512001   83  Linux
[root@aspire ~]#

read/writeかけてもI/Oエラーやジャーナルのエラー出なくなった。めでたしめでたし。


ともあれ、空き容量も少なくなってきたので、早めに4TB HDDの投入が要請されそうです。

WD My Book 4.0TB (USB3.0/2.0互換) バックアップソフト搭載 WDBACW0040HBK-JESN

WD My Book 4.0TB (USB3.0/2.0互換) バックアップソフト搭載 WDBACW0040HBK-JESN