Een stukje een crosspost maar een specifieke ZFS vraag:
Hoe komt dat na een resilver er na een scrub toch nog wat cksum errors achterblijven? Mijn ervaring was altijd "na een resilver doe ik altijd nog eens een scrub want doorgaans komen er nog een aantal achterblijvertjes qua fouten uit".
HyperBart schreef op dinsdag 8 juni 2021 @ 09:47:
Vandaag kreeg ik een berichtje van mijn server dat disk nummer 2 naar FAULTED is gegaan binnen mijn ZFS Pool met 1 RAIDZ2 VDEV.
Ik kan zelf niet inschatten hoe ernstige de fout is, wie kan even mee beoordelen. Er gaat voor de rest niks mis met sectors, het lijkt mij op het eerste zicht een communicatiefout tussen disk en controller, waarbij de diskmechanica en logica goed werkt maar er iets mis loopt bij het aanleveren/communiceren van de data.
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 100 100 016 Pre-fail Always - 0
2 Throughput_Performance 0x0004 128 128 054 Old_age Offline - 108
3 Spin_Up_Time 0x0007 180 180 024 Pre-fail Always - 319 (Average 411)
4 Start_Stop_Count 0x0012 100 100 000 Old_age Always - 131
5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0
7 Seek_Error_Rate 0x000a 100 100 067 Old_age Always - 0
8 Seek_Time_Performance 0x0004 140 140 020 Old_age Offline - 15
9 Power_On_Hours 0x0012 100 100 000 Old_age Always - 4214
10 Spin_Retry_Count 0x0012 100 100 060 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 32
22 Unknown_Attribute 0x0023 100 100 025 Pre-fail Always - 100
192 Power-Off_Retract_Count 0x0032 097 097 000 Old_age Always - 4442
193 Load_Cycle_Count 0x0012 097 097 000 Old_age Always - 4442
194 Temperature_Celsius 0x0002 185 185 000 Old_age Always - 35 (Min/Max 22/53)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x000a 200 200 000 Old_age Always - 1
SMART Error Log Version: 1
ATA Error Count: 1
CR = Command Register [HEX]
FR = Features Register [HEX]
SC = Sector Count Register [HEX]
SN = Sector Number Register [HEX]
CL = Cylinder Low Register [HEX]
CH = Cylinder High Register [HEX]
DH = Device/Head Register [HEX]
DC = Device Command Register [HEX]
ER = Error register [HEX]
ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.
Error 1 occurred at disk power-on lifetime: 4205 hours (175 days + 5 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER ST SC SN CL CH DH
-- -- -- -- -- -- --
84 43 00 00 00 00 00 Error: ICRC, ABRT at LBA = 0x00000000 = 0
Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
-- -- -- -- -- -- -- -- ---------------- --------------------
61 00 90 18 9c a3 40 08 32d+04:03:38.908 WRITE FPDMA QUEUED
61 40 88 58 9f a3 40 08 32d+04:03:38.907 WRITE FPDMA QUEUED
61 40 e0 18 9f a3 40 08 32d+04:03:38.907 WRITE FPDMA QUEUED
61 40 78 d8 9b a3 40 08 32d+04:03:38.906 WRITE FPDMA QUEUED
61 40 d8 98 9b a3 40 08 32d+04:03:38.906 WRITE FPDMA QUEUED
Aangezien ZFS

heb ik nu gewoon even de pool gecleared (=de fouten clearen, dus de pool terug op orde stellen en aangeven dat de disk terug mag mee doen), dan doet de disk hopelijk toch al terug (een tijdje mee, tenzij er wat ernstigers aan de hand is maar dan zal de disk ongetwijfeld er weer uit knikkeren.
root@nas:~# zpool clear poolnaam
scan: resilvered 493M in 0 days 00:00:05 with 0 errors on Tue Jun 8 10:11:36 2021
EDIT:
@
Thralas ik zag nu ook dat een deel van mijn zpool status'en niet mee gekomen was, bij deze nog even.
Op 08/06 12.37AM werd ik verwittigd door ZED en smartd:
code:
1
2
3
4
5
6
7
8
9
10
11
12
| The number of I/O errors associated with a ZFS device exceeded
acceptable levels. ZFS has marked the device as faulted.
impact: Fault tolerance of the pool may be compromised.
eid: 48
class: statechange
state: FAULTED
host: nas
time: 2021-06-08 00:37:29+0200
vpath: /dev/disk/by-partlabel/disk-2-SERIENUMMER
vguid: 0x650479A064440F15
pool: 0x4CB3559B6DED0CAF |
Om 1:03 AM:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| This message was generated by the smartd daemon running on:
host name: nas
DNS domain: [Empty]
The following warning/error was logged by the smartd daemon:
Device: /dev/sdh [SAT], ATA error count increased from 0 to 1
Device info:
WDC WD120EDAZ-11F3RA0, S/N:serienummer, WWN:5-000cca-291e211da, FW:81.00A81, 12.0 TB
For details see host's SYSLOG.
You can also use the smartctl utility for further investigation.
Another message will be sent in 24 hours if the problem persists. |
Die ochtend dan even een zpool status gedaan en die gaf aan dat op disk 2 er 15 write errors waren (dus geen cksum) waardoor het device in de vdev als faulted gemarkeerd werd, bijgevolg een degraded vdev en dus een degraded pool.
Na een "zpool clear poolnaam" begon er automatisch een resilver die voltooide met volgende output:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| ZFS has finished a resilver:
eid: 56
class: resilver_finish
host: nas
time: 2021-06-08 10:11:36+0200
pool: poolnaam
state: ONLINE
status: Some supported features are not enabled on the pool. The pool can
still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
the pool may no longer be accessible by software that does not support
the features. See zpool-features(5) for details.
scan: resilvered 493M in 0 days 00:00:05 with 0 errors on Tue Jun 8 10:11:36 2021 |
Verder geen fouten, cksum errors of wat dan ook op dat moment. Scrub gestart.
Op woensdag 9 juni kreeg ik opnieuw een melding, richting het einde van de scrub:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| The number of checksum errors associated with a ZFS device
exceeded acceptable levels. ZFS has marked the device as
degraded.
impact: Fault tolerance of the pool may be compromised.
eid: 82
class: statechange
state: DEGRADED
host: nas
time: 2021-06-09 05:46:39+0200
vpath: /dev/disk/by-partlabel/disk-2-serienummer
vguid: 0x650479A064440F15
pool: 0x4CB3559B6DED0CAF |
Hierna opnieuw een clear gedaan, opnieuw een scrub en toen kwam alles met 0 fouten terug.
zpool history:
code:
1
2
3
4
5
6
7
8
9
10
11
12
| 2021-05-03.02:00:38 zpool scrub poolnaam
2021-05-10.02:00:39 zpool scrub poolnaam
2021-05-17.02:00:38 zpool scrub poolnaam
2021-05-24.02:00:33 zpool scrub poolnaam
2021-05-31.02:00:35 zpool scrub poolnaam
2021-06-07.02:00:36 zpool scrub poolnaam
2021-06-08.10:11:36 zpool clear poolnaam
2021-06-08.11:48:34 zpool scrub poolnaam
2021-06-08.14:51:53 zpool upgrade poolnaam
2021-06-09.08:58:38 zpool clear poolnaam
2021-06-09.08:59:16 zpool scrub poolnaam
2021-06-14.02:00:38 zpool scrub poolnaam |
Kernel log ten tijde van fouten:
[Jun 8 00:36] ata6.00: exception Emask 0x10 SAct 0x10060000 SErr 0x400100 action 0x6 frozen
[ +0.000010] ata6.00: irq_stat 0x08000000, interface fatal error
[ +0.000002] ata6: SError: { UnrecovData Handshk }
[ +0.000002] ata6.00: failed command: WRITE FPDMA QUEUED
[ +0.000003] ata6.00: cmd 61/40:88:58:9f:a3/00:00:f0:00:00/40 tag 17 ncq dma 32768 out
res 40/00:00:18:9c:a3/00:00:f0:00:00/40 Emask 0x10 (ATA bus error)
[ +0.000002] ata6.00: status: { DRDY }
[ +0.000002] ata6.00: failed command: WRITE FPDMA QUEUED
[ +0.000002] ata6.00: cmd 61/00:90:18:9c:a3/03:00:f0:00:00/40 tag 18 ncq dma 393216 out
res 40/00:00:18:9c:a3/00:00:f0:00:00/40 Emask 0x10 (ATA bus error)
[ +0.000002] ata6.00: status: { DRDY }
[ +0.000002] ata6.00: failed command: WRITE FPDMA QUEUED
[ +0.000002] ata6.00: cmd 61/40:e0:18:9f:a3/00:00:f0:00:00/40 tag 28 ncq dma 32768 out
res 40/00:00:18:9c:a3/00:00:f0:00:00/40 Emask 0x10 (ATA bus error)
[ +0.000002] ata6.00: status: { DRDY }
[ +0.000003] ata6: hard resetting link
[ +0.313400] ata6: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ +0.000449] ata6.00: supports DRM functions and may not be fully accessible
[ +0.111403] ata6.00: supports DRM functions and may not be fully accessible
[ +0.008142] ata6.00: configured for UDMA/133
[ +0.000010] sd 6:0:0:0: [sdh] tag#17 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ +0.000001] sd 6:0:0:0: [sdh] tag#17 Sense Key : Illegal Request [current]
[ +0.000001] sd 6:0:0:0: [sdh] tag#17 Add. Sense: Unaligned write command
[ +0.000002] sd 6:0:0:0: [sdh] tag#17 CDB: Write(16) 8a 00 00 00 00 00 f0 a3 9f 58 00 00 00 40 00 00
[ +0.000001] blk_update_request: I/O error, dev sdh, sector 4037255000 op 0x1:(WRITE) flags 0x700 phys_seg 8 prio class 0
[ +0.000007] zio pool=poolnaam vdev=/dev/disk/by-partlabel/disk-2-serienummer error=5 type=2 offset=2067071414272 size=32768 flags=180880
[ +0.000009] sd 6:0:0:0: [sdh] tag#18 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ +0.000001] sd 6:0:0:0: [sdh] tag#18 Sense Key : Illegal Request [current]
[ +0.000001] sd 6:0:0:0: [sdh] tag#18 Add. Sense: Unaligned write command
[ +0.000001] sd 6:0:0:0: [sdh] tag#18 CDB: Write(16) 8a 00 00 00 00 00 f0 a3 9c 18 00 00 03 00 00 00
[ +0.000001] blk_update_request: I/O error, dev sdh, sector 4037254168 op 0x1:(WRITE) flags 0x700 phys_seg 6 prio class 0
[ +0.000003] zio pool=poolnaam vdev=/dev/disk/by-partlabel/disk-2-serienummer error=5 type=2 offset=2067070988288 size=393216 flags=40080c80
[ +0.000004] sd 6:0:0:0: [sdh] tag#28 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ +0.000000] sd 6:0:0:0: [sdh] tag#28 Sense Key : Illegal Request [current]
[ +0.000001] sd 6:0:0:0: [sdh] tag#28 Add. Sense: Unaligned write command
[ +0.000001] sd 6:0:0:0: [sdh] tag#28 CDB: Write(16) 8a 00 00 00 00 00 f0 a3 9f 18 00 00 00 40 00 00
[ +0.000001] blk_update_request: I/O error, dev sdh, sector 4037254936 op 0x1:(WRITE) flags 0x700 phys_seg 8 prio class 0
[ +0.000002] zio pool=poolnaam vdev=/dev/disk/by-partlabel/disk-2-serienummer error=5 type=2 offset=2067071381504 size=32768 flags=180880
[ +0.000004] ata6: EH complete
Nou ja

Wat? Dat laat ik aan ZFS over. Ik heb de pool gecleared en de resilver trapte automatisch af (ik ga er van uit door ZED).
Wat voor disks zijn het, en hoe zijn de aangesloten?
Het zijn WDC WD120EDAZ-11F3RA0 schijven.
Ze zijn aangesloten via de onboard controller en een LSI 2008 (zijnde een M1015 in IT mode), in een verdeling 4 op LSI en 2 op onboard. De disk die bokte zat op de onboard van mijn Fujitsu D3644-B bordje. (zie inventaris NAS refreshed).
Verder laat je enkel SMART zien, maar je zou al argwaan moeten krijgen van die log: een checksum error op LBA 0 lijkt me wel erg toevallig. Wat zeggen de kernel logs ten tijde van die error en de overige checksum errors?
Ik heb de kernel logs er even bij geplakt.
[...]
Je moet er in ieder geval geen bijgeloof van maken; een full resilver raakt meestal al bijna alle (gebruikte) disk area. In geval van jouw Z2 zal hij sowieso N-2 disks aan diskruimte raken. Alles behalve de faulted disk zou je er bovendien al met reguliere scrubs uit moeten pikken.
Bij een full resilver van een simpele mirror of Z1 zou het in geen geval meerwaarde moeten voor zover ik kan beredeneren.
[
Voor 69% gewijzigd door
HyperBart op 14-06-2021 23:54
]