Saya cukup baru untuk ZFS dan saya memiliki pengaturan kumpulan penyimpanan cermin sederhana dengan 8 drive. Setelah beberapa minggu berjalan, satu drive sepertinya menghasilkan banyak kesalahan, jadi saya menggantinya.
Beberapa minggu lagi berlalu dan sekarang saya melihat kesalahan kecil muncul di sekitar kolam (lihat zpool status
output di bawah). Haruskah saya khawatir tentang ini? Bagaimana saya bisa menentukan apakah kesalahan menunjukkan drive perlu diganti?
# zpool status
pool: storage
state: ONLINE
status: One or more devices has experienced an unrecoverable error. An
attempt was made to correct the error. Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
using 'zpool clear' or replace the device with 'zpool replace'.
see: http://zfsonlinux.org/msg/ZFS-8000-9P
scan: scrub repaired 22.5K in 1h18m with 0 errors on Sun Jul 10 03:18:42 2016
config:
NAME STATE READ WRITE CKSUM
storage ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
enc-a ONLINE 0 0 2
enc-b ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
enc-c ONLINE 0 0 0
enc-d ONLINE 0 0 2
mirror-2 ONLINE 0 0 0
enc-e ONLINE 0 0 2
enc-f ONLINE 0 0 1
mirror-3 ONLINE 0 0 0
enc-g ONLINE 0 0 0
enc-h ONLINE 0 0 3
errors: No known data errors
ZFS membantu saya untuk "Menentukan apakah perangkat perlu diganti ..." tapi saya tidak yakin bagaimana cara melakukannya. Saya memang membaca artikel yang direferensikan yang bermanfaat tetapi tidak sepenuhnya meyakinkan.
Saya telah melihat hasil tes SMART untuk drive yang terpengaruh, dan tidak ada yang melompat keluar kepada saya (semua tes diselesaikan tanpa kesalahan), tetapi saya dapat memposting data SMART juga jika itu akan membantu.
Pembaruan: Sambil bersiap untuk reboot ke Memtest86 +, saya melihat banyak kesalahan di konsol. Saya biasanya masuk SSH, jadi saya tidak melihat mereka sebelumnya. Saya tidak yakin log mana yang seharusnya saya periksa, tetapi seluruh layar dipenuhi dengan kesalahan yang terlihat seperti ini (bukan garis kesalahan saya yang sebenarnya, saya hanya menyalin ini dari forum lain):
blk_update_request: I/0 error, dev sda, sector 220473440
Dari beberapa Googling, sepertinya kesalahan ini bisa menjadi indikasi drive yang buruk, tetapi sulit bagi saya untuk percaya bahwa mereka semua gagal sekaligus seperti ini. Pikiran ke mana harus pergi dari sini?
Pembaruan 2: Saya menemukan masalah ZOL ini yang sepertinya terkait dengan masalah saya. Seperti OP di sana saya menggunakan hdparm untuk menurunkan drive saya dan saya melihat kesalahan dan kesalahan checksum ZFS serupa blk_update_request
. Mesin saya masih menjalankan Memtest, jadi saya tidak dapat memeriksa versi kernel atau ZFS saya saat ini, tetapi ini setidaknya terlihat seperti suatu kemungkinan. Saya juga melihat pertanyaan serupa yang agak mengecewakan. Apakah ada yang tahu masalah dengan ZFS dan spinning drive?
Pembaruan 3: Bisakah versi firmware dan driver yang tidak cocok pada pengontrol LSI menyebabkan kesalahan seperti ini? Sepertinya saya menjalankan versi driver 20.100.00.00 dan versi firmware 17.00.01.00. Apakah ada gunanya mencoba flash firmware yang diperbarui pada kartu?
# modinfo mpt2sas
filename: /lib/modules/3.10.0-327.22.2.el7.x86_64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko
version: 20.100.00.00
license: GPL
description: LSI MPT Fusion SAS 2.0 Device Driver
author: Avago Technologies <MPT-FusionLinux.pdl@avagotech.com>
rhelversion: 7.2
srcversion: FED1C003B865449804E59F5
# sas2flash -listall
LSI Corporation SAS2 Flash Utility
Version 20.00.00.00 (2014.09.18)
Copyright (c) 2008-2014 LSI Corporation. All rights reserved
Adapter Selected is a LSI SAS: SAS2308_2(D1)
Num Ctlr FW Ver NVDATA x86-BIOS PCI Addr
----------------------------------------------------------------------------
0 SAS2308_2(D1) 17.00.01.00 11.00.00.05 07.33.00.00 00:04:00:00
Pembaruan 4: Menangkap beberapa kesalahan dalam dmesg
output. Saya tidak yakin apa yang memicu ini, tetapi saya perhatikan mereka setelah melepas semua drive dalam array sebagai persiapan untuk memperbarui firmware pengontrol LSI. Saya akan menunggu sedikit untuk melihat apakah pembaruan firmware menyelesaikan masalah, tetapi sementara ini ada kesalahan. Saya tidak begitu yakin apa yang mereka maksud.
[87181.144130] sd 0:0:2:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144142] sd 0:0:2:0: [sdc] CDB: Write(10) 2a 00 35 04 1c d1 00 00 01 00
[87181.144148] blk_update_request: I/O error, dev sdc, sector 889461969
[87181.144255] sd 0:0:3:0: [sdd] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144259] sd 0:0:3:0: [sdd] CDB: Write(10) 2a 00 35 04 1c d1 00 00 01 00
[87181.144263] blk_update_request: I/O error, dev sdd, sector 889461969
[87181.144371] sd 0:0:4:0: [sde] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144375] sd 0:0:4:0: [sde] CDB: Write(10) 2a 00 37 03 87 30 00 00 08 00
[87181.144379] blk_update_request: I/O error, dev sde, sector 922978096
[87181.144493] sd 0:0:5:0: [sdf] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144500] sd 0:0:5:0: [sdf] CDB: Write(10) 2a 00 37 03 87 30 00 00 08 00
[87181.144505] blk_update_request: I/O error, dev sdf, sector 922978096
[87191.960052] sd 0:0:6:0: [sdg] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87191.960063] sd 0:0:6:0: [sdg] CDB: Write(10) 2a 00 36 04 18 5c 00 00 01 00
[87191.960068] blk_update_request: I/O error, dev sdg, sector 906238044
[87191.960158] sd 0:0:7:0: [sdh] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87191.960162] sd 0:0:7:0: [sdh] CDB: Write(10) 2a 00 36 04 18 5c 00 00 01 00
[87191.960179] blk_update_request: I/O error, dev sdh, sector 906238044
[87195.864565] sd 0:0:0:0: [sda] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87195.864578] sd 0:0:0:0: [sda] CDB: Write(10) 2a 00 37 03 7c 68 00 00 20 00
[87195.864584] blk_update_request: I/O error, dev sda, sector 922975336
[87198.770065] sd 0:0:1:0: [sdb] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87198.770078] sd 0:0:1:0: [sdb] CDB: Write(10) 2a 00 37 03 7c 88 00 00 20 00
[87198.770084] blk_update_request: I/O error, dev sdb, sector 922975368
Pembaruan 5: Saya memperbarui firmware untuk kontroler LSI, tetapi setelah membersihkan kesalahan ZFS dan menggosok, saya melihat perilaku yang sama (kesalahan checksum kecil pada beberapa drive). Langkah selanjutnya adalah memperbarui firmware pada drive itu sendiri.
Pembaruan 6: Saya mengganti riser PCI setelah membaca di beberapa forum bahwa orang lain dengan case U-NAS NSC800 memiliki masalah dengan riser yang disediakan. Tidak ada efek pada kesalahan checksum. Saya telah menunda pembaruan firmware HDD karena prosesnya sangat menyebalkan, tapi saya kira sudah waktunya untuk menyedotnya dan membuat drive flash DOS yang dapat di-boot.
Pembaruan 7: Saya memperbarui firmware pada tiga drive Seagate. Drive lain tidak memiliki pembaruan firmware yang tersedia atau saya tidak bisa mendapatkannya (Western Digital mengatakan kepada saya tidak ada pembaruan firmware untuk drive saya). Tidak ada kesalahan muncul setelah scrub awal, tapi saya akan memberikannya setidaknya satu atau dua minggu sebelum saya mengatakan ini menyelesaikan masalah. Sepertinya sangat tidak mungkin bagi saya bahwa firmware dalam tiga drive dapat mempengaruhi seluruh kumpulan seperti ini.
Pembaruan 8: Kesalahan checksum kembali, seperti sebelumnya. Saya mungkin melihat ke dalam pembaruan firmware untuk motherboard, tetapi pada titik ini saya bingung. Akan sulit / mahal untuk mengganti komponen fisik yang tersisa (pengontrol, backplane, kabel), dan saya hanya tidak 100% yakin bahwa itu bukan masalah dengan pengaturan saya (ZFS + Linux + LUKS + Spinning down drive idle). Ada ide lain yang disambut.
Pembaruan 9: Masih mencoba melacak yang ini. Saya menemukan pertanyaan ini yang memiliki beberapa kesamaan dengan situasi saya. Jadi, saya pergi ke depan dan membangun kembali zpool menggunakan ashift=12
untuk melihat apakah itu akan menyelesaikan masalah (tidak beruntung). Kemudian, saya menggigit peluru dan membeli controller baru. Saya baru saja menginstal kartu HBA Supermicro AOC-SAS2LP-MV8 . Saya akan memberikan satu atau dua minggu untuk melihat apakah ini menyelesaikan masalah.
Pembaruan 10: Hanya untuk menutup ini. Sudah sekitar 2 minggu sejak kartu HBA baru masuk dan, dengan risiko jinxing itu, saya tidak punya kesalahan checksum sejak itu. Terima kasih banyak untuk semua orang yang membantu saya menyelesaikan masalah ini.