Oh, da stirbt wohl eine Platte… zpool scrub repaired 576K

Mein Solaris-Fileserver läuft nun schon geraume Zeit und verhielt sich relativ unauffällig.

Beim wöchentlichen Routinecheck des ZFS-Pools (mittels zpool scrub) wurden nun schon mehrfach Fehler korrigiert. Beim letzten Lauf schaute das so aus:

$ zpool status tank
  pool: tank
 state: ONLINE
 scan: scrub repaired 576K in 14h19m with 0 errors on Sat Sep  8 16:17:11 2012
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          raidz2-0  ONLINE       0     0     0
            c0t2d0  ONLINE       0     0     0
            c0t5d0  ONLINE       0     0     0
            c0t4d0  ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0

errors: No known data errors

Zwar nur wenige kB, aber so fängt’s an. Es scheint, als würde sich eine Platte demnächst verabschieden. iostat bestätigt dies (die Spalten „s/w“ und „h/w“ geben die soft-/hard errors seit Systemstart an) und identifiziert c0t2d0 als Übeltäter:

$ iostat -exn c0t2d0 c0t1d0 c0t4d0 c0t5d0
                            extended device statistics       ---- errors --- 
    r/s    w/s   kr/s   kw/s wait actv wsvc_t asvc_t  %w  %b s/w h/w trn tot device
   58,4   14,9 4554,7  160,9  0,1  0,7    1,5   10,1   2  12   0   0   0   0 c0t1d0
   60,3   14,9 4554,7  160,9  0,1  0,7    1,4    9,6   2  12  92 505   0 597 c0t2d0
   59,2   14,9 4554,7  160,9  0,1  0,7    1,4    9,8   2  12   0   0   0   0 c0t4d0
   58,5   14,9 4554,6  160,9  0,1  0,7    1,5   10,0   2  12   0   0   0   0 c0t5d0

Im Messages-Log finden sich weitere Hinweise:

$ tail -20 /var/adm/messages
Sep  8 14:15:26 fileserver ahci: [ID 296163 kern.warning] WARNING: ahci0: ahci port 2 has task file error
Sep  8 14:15:26 fileserver ahci: [ID 687168 kern.warning] WARNING: ahci0: ahci port 2 is trying to do error recovery
Sep  8 14:15:26 fileserver ahci: [ID 551337 kern.warning] WARNING: ahci0:       Internal Error (E)
Sep  8 14:15:26 fileserver ahci: [ID 693748 kern.warning] WARNING: ahci0: ahci port 2 task_file_status = 0x4051
Sep  8 14:15:26 fileserver ahci: [ID 657156 kern.warning] WARNING: ahci0: error recovery for port 2 succeed
Sep  8 14:15:31 fileserver ahci: [ID 296163 kern.warning] WARNING: ahci0: ahci port 2 has task file error
Sep  8 14:15:31 fileserver ahci: [ID 687168 kern.warning] WARNING: ahci0: ahci port 2 is trying to do error recovery
Sep  8 14:15:31 fileserver ahci: [ID 551337 kern.warning] WARNING: ahci0:       Internal Error (E)
Sep  8 14:15:31 fileserver ahci: [ID 693748 kern.warning] WARNING: ahci0: ahci port 2 task_file_status = 0x4051
Sep  8 14:15:31 fileserver ahci: [ID 657156 kern.warning] WARNING: ahci0: error recovery for port 2 succeed
Sep  8 14:16:23 fileserver ahci: [ID 296163 kern.warning] WARNING: ahci0: ahci port 2 has task file error
Sep  8 14:16:23 fileserver ahci: [ID 687168 kern.warning] WARNING: ahci0: ahci port 2 is trying to do error recovery
Sep  8 14:16:23 fileserver ahci: [ID 551337 kern.warning] WARNING: ahci0:       Internal Error (E)
Sep  8 14:16:23 fileserver ahci: [ID 693748 kern.warning] WARNING: ahci0: ahci port 2 task_file_status = 0x4051
Sep  8 14:16:23 fileserver ahci: [ID 657156 kern.warning] WARNING: ahci0: error recovery for port 2 succeed
Sep  8 14:55:08 fileserver ahci: [ID 296163 kern.warning] WARNING: ahci0: ahci port 2 has task file error
Sep  8 14:55:08 fileserver ahci: [ID 687168 kern.warning] WARNING: ahci0: ahci port 2 is trying to do error recovery
Sep  8 14:55:08 fileserver ahci: [ID 551337 kern.warning] WARNING: ahci0:       Internal Error (E)
Sep  8 14:55:08 fileserver ahci: [ID 693748 kern.warning] WARNING: ahci0: ahci port 2 task_file_status = 0x4051
Sep  8 14:55:08 fileserver ahci: [ID 657156 kern.warning] WARNING: ahci0: error recovery for port 2 succeed

Die Platte (eine Hitachi 5K3000 2TB mit 3 Jahren Garantie) hat erst 18 Monate auf dem Buckel. Also werde ich in Kürze von meinen Erfahrungen mit dem Hitachi-Service berichten dürfen 😉 Vorher tausche ich aber noch das SATA-Kabel, möglicherweise liegt der Fehler ja hier.