[lustre-discuss] Error on a zpool underlying an OST
Kevin Abbey
kevin.abbey at rutgers.edu
Mon Jul 11 21:02:12 PDT 2016
Hi,
Can anyone advise how to clean up 1000s of zfs level permanent errors
and the lustre level too?
A similar question was presented on the list but I did not see an answer.
https://www.mail-archive.com/lustre-discuss@lists.lustre.org/msg12454.html
As I was testing new hardware I discovered an LSI HBA was bad. On a
single combined MDS/OSS there were 8 OSTs split across 2 jbod and 2 LSI
HBA. The mdt was on a 3rd jbod downlinked on the jbod connected with
the bad controller. The zpools connected to the good HBA were scrubed
clean after unmounting and stopping lustre. The zpools on the bad
controller continued to have errors while connected to the bad
controller. One of these OSTs reported a disk failure during the scrub
and began resilvering yet autoreplace was off. This is a very bad
event considering the card was causing all of the errors. Neither a
scrub or resilver would ever complete. I stopped the scrub on the 3
other osts and detached the spare from the ost in resilver process.
After narrowing down the bad HBA (initially it was not clear if cables
or jbod backplanes were bad), I use the good HBA to scrub the jbod 1
again, then shutdown disconnected the jbod1. Then proceeded to connect
the jbod2 to the good controller to scrub the jbod 2 zpools which had
previously been attached to the bad LSI controller. The 3 zpools which
had scrub stopped previously did complete successfully. The one which
had begun resilvering began again to resilver after I initiated a
replace of the failed disk with the spare. The resilver completed but
many permanent errors were discovered on the zpool. Since this is a
test pool I was interested to know if zfs would recover. In a real
scenario with HW problems I'll shutdown and disconnect the data drives
prior to HW testing.
The status listed below shows a new scrub in process after the resilver
completed. The cache drive is missing because the 3rd jbod is
disconnected temporarily.
===================================
ZFS: v0.6.5.7-1
lustre 2.8.55
kernel 2.6.32_642.1.1.el6.x86_64.x86_64
Centos 6.8
===================================
~]# zpool status -v test-ost4
pool: test-ost4
state: ONLINE
status: One or more devices has experienced an error resulting in data
corruption. Applications may be affected.
action: Restore the file in question if possible. Otherwise restore the
entire pool from backup.
see: http://zfsonlinux.org/msg/ZFS-8000-8A
scan: scrub in progress since Mon Jul 11 22:29:09 2016
689G scanned out of 12.4T at 711M/s, 4h49m to go
40K repaired, 5.41% done
config:
NAME STATE READ WRITE CKSUM
test-ost4 ONLINE 0 0 180
raidz2-0 ONLINE 0 0 360
ata-ST4000NM0033-9ZM170_Z1Z7GYXY ONLINE 0 0 2
(repairing)
ata-ST4000NM0033-9ZM170_Z1Z7KKPQ ONLINE 0 0 3
(repairing)
ata-ST4000NM0033-9ZM170_Z1Z7L5E7 ONLINE 0 0 3
(repairing)
ata-ST4000NM0033-9ZM170_Z1Z7KGQT ONLINE 0 0 0
(repairing)
ata-ST4000NM0033-9ZM170_Z1Z7LA8K ONLINE 0 0 4
(repairing)
ata-ST4000NM0033-9ZM170_Z1Z7KB0X ONLINE 0 0 3
(repairing)
ata-ST4000NM0033-9ZM170_Z1Z7JSMN ONLINE 0 0 2
(repairing)
ata-ST4000NM0033-9ZM170_Z1Z7KXRA ONLINE 0 0 2
(repairing)
ata-ST4000NM0033-9ZM170_Z1Z7MLSN ONLINE 0 0 2
(repairing)
ata-ST4000NM0033-9ZM170_Z1Z7L4DT ONLINE 0 0 7
(repairing)
cache
ata-D2CSTK251M20-0240_A19CV011227000092 UNAVAIL 0 0 0
errors: Permanent errors have been detected in the following files:
test-ost4/test-ost4:<0xe00>
test-ost4/test-ost4:<0xe01>
test-ost4/test-ost4:<0xe02>
test-ost4/test-ost4:<0xe03>
test-ost4/test-ost4:<0xe04>
test-ost4/test-ost4:<0xe05>
test-ost4/test-ost4:<0xe06>.......
.......
.......continues......
.......
.......
test-ost4/test-ost4:<0xdfe>
test-ost4/test-ost4:<0xdff>
===================================
Follow up questions,
Is is better to not have a spare attached to the pool to prevent
resilvering in this scenario? (bad HBA, disk failed during scrub,
resilver began, yet auto relplace was off. The spare was assigned to
the zpool.)
In a dual path to the jbod would the bad HBA card be disabled
automatically to prevent IO errors reaching the disk? The current setup
is single path only.
Thank you for any notes in advance,
Kevin
--
Kevin Abbey
Systems Administrator
Center for Computational and Integrative Biology (CCIB)
http://ccib.camden.rutgers.edu/
Rutgers University - Science Building
315 Penn St.
Camden, NJ 08102
Telephone: (856) 225-6770
Fax:(856) 225-6312
Email: kevin.abbey at rutgers.edu
More information about the lustre-discuss
mailing list