Kesalahan ZFS checksum, kapan saya mengganti drive?

9

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 statusoutput 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 <[email protected]>
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 dmesgoutput. 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=12untuk 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.

Dominic P
sumber
2
Bisakah Anda memberi tahu kami lebih banyak tentang perangkat keras? Memiliki kesalahan pada beberapa drive tampaknya menunjukkan masalah backplane / controller / kabel lebih dari masalah disk.
ewwhite
Saya tidak memikirkan itu. Drive-nya ada dalam sasis U-NAS NSC-800 yang datang dengan backplane SATA / SAS bawaan. Yang terhubung melalui 2 konektor mini-sas ke HBA LSI SAS 9207-8i . Yang terhubung melalui riser PCI yang disertakan dengan sasis ke Supermicro MBD-X10SDV-4C .
Dominic P
1
Apakah RAM Anda baik-baik saja? Saya memiliki kesalahan yang sama ketika modul memori buruk - tidak ada kesalahan disk, tetapi beberapa kesalahan checksum (rendah) pada semua drive.
user121391
1
Kemungkinan besar controllernya jelas pada saat ini. Sebenarnya itu sangat jelas beberapa waktu lalu, dengan "Perbarui 4".
Michael Hampton
1
Sama-sama @ hak8or. Orang-orang di situs ini telah banyak membantu saya, jadi senang mendengar contoh saya dapat membantu orang lain.
Dominic P

Jawaban:

6

Memiliki kesalahan-kesalahan di beberapa drive tampaknya menunjukkan masalah backplane / controller / kabel lebih dari masalah disk atau RAM.

putih
sumber
Terima kasih untuk bantuannya. Saya tidak dapat menukar semua komponen saat ini. Apakah Anda punya saran tentang bagaimana saya bisa mempersempitnya atau apa yang mungkin menjadi penyebabnya?
Dominic P
Coba pembaruan firmware dari semua komponen yang terkena dampak. Apakah ini disk SATA?
ewwhite
Akan ku lakukan. Terima kasih. Saya akan mulai dengan pembaruan firmware pada controller karena saya telah melihat di tempat lain bahwa firmware dan versi driver harus cocok (lihat pembaruan 3 pada pertanyaan saya). Ya, mereka semua disk SATA 1TB, dan saya ingat yang smartctlmengatakan ada pembaruan firmware yang tersedia untuk beberapa disk Seagate yang saya gunakan, jadi saya akan memperbarui mereka juga.
Dominic P
7

Aturan umum saya adalah bahwa jika kesalahan terus meningkat secara tak terduga, disk perlu diganti; jika statis, mungkin ada beberapa kondisi sementara yang menyebabkan kesalahan, dan sistem tidak mereproduksi kondisi yang menyebabkan masalah.

Beberapa kesalahan checksum tidak selalu mengindikasikan sesuatu yang buruk secara mekanis dengan drive (bit busuk terjadi, ZFS kebetulan mendeteksinya sementara sistem file lain tidak), tetapi jika kesalahan tersebut telah terjadi selama satu jam, maka itu adalah situasi yang jauh berbeda dari jika mereka telah terjadi selama setahun.

Shane Madden
sumber