Я досить новачок у ZFS і маю просту настройку пулу дзеркального зберігання з 8 дисками. Після кількох тижнів роботи один накопичувач, здавалося, генерував багато помилок, тому я його замінив.
Проходить ще кілька тижнів, і тепер я бачу невеликі помилки, що з'являються навколо басейну (див. zpool status
Результат нижче). Чи варто переживати з цього приводу? Як я можу визначити, чи помилка вказує, що накопичувач потрібно замінити?
# 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 корисно каже мені "Визначте, чи потрібно замінити пристрій ...", але я не знаю, як це зробити. Я прочитав цю статтю, яка була корисною, але не зовсім переконливою.
Я переглянув результати тестування SMART для діючих накопичувачів, і у мене нічого не вискочило (усі тести були виконані без помилок), але я можу розмістити дані SMART також, якщо це буде корисно.
Оновлення: Готуючись до перезавантаження в Memtest86 +, я помітив багато помилок на консолі. Я зазвичай SSH, тому я їх раніше не бачив. Я не впевнений, який журнал я повинен був перевіряти, але весь екран був заповнений помилками, які виглядають так (не моя точна лінія помилок, я просто скопіював це з іншого форуму):
blk_update_request: I/0 error, dev sda, sector 220473440
З деякого Googling здається, що ця помилка може вказувати на поганий диск, але мені важко повірити, що всі вони одразу стають невдалими. Думки про те, куди піти звідси?
Оновлення 2: Я натрапив на цю проблему ZOL, яка, здається, може бути пов'язана з моєю проблемою. Як і ОП там, я використовую hdparm, щоб розкручувати свої накопичувачі, і я бачу подібні помилки та blk_update_request
помилки контрольної суми ZFS . Моя машина все ще працює Memtest, тому я не можу перевірити своє ядро чи версію ZFS, але це принаймні виглядає як можливість. Я також бачив подібне запитання, яке є таким, що відлякує. Хтось знає про проблеми із ZFS та спінінг-накопичувачами?
Оновлення 3: Чи може невідповідна версія прошивки та версії драйвера на контролері LSI викликати подібні помилки? Схоже, я використовую версію драйвера 20.100.00.00 та версію мікропрограмного забезпечення 17.00.01.00. Чи варто спробувати прошивати оновлену прошивку на карту?
# 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
Оновлення 4: Виникло ще кілька помилок у dmesg
виході. Я не впевнений, що це спричинило, але я помітив їх після демонтажу всіх накопичувачів у масиві, готуючись до оновлення програмного забезпечення контролера LSI. Почекаю трохи, щоб побачити, чи оновлення прошивки вирішило проблему, але ось тим часом помилки. Я не дуже впевнений, що вони означають.
[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
Оновлення 5: Я оновив прошивку для контролера LSI, але після очищення помилок ZFS та очищення я бачу таку саму поведінку (незначні помилки контрольної суми на кількох дисках). Наступним кроком буде оновлення прошивки на самих дисках.
Оновлення 6: Я замінив стояк PCI, прочитавши на деяких форумах, що інші люди зі справою U-NAS NSC800 мали проблеми з наданим стояком. На помилки контрольної суми не вплинуло. Я відкладав оновлення прошивки жорсткого диска, тому що процес такий біль, але, мабуть, прийшов час висмоктати його і зробити завантажувальну флешку DOS.
Оновлення 7: Я оновив прошивку на трьох дисках Seagate. Інші диски або не мали оновлення прошивки, або я не зміг її отримати (Western Digital сказав мені, що для мого накопичувача оновлення програмного забезпечення не було). Після початкового скрабування помилок не з’явилося, але я збираюся дати це хоча б тиждень-два, перш ніж я скажу, що це вирішило проблему. Мені здається вкрай малоймовірним, що прошивка на трьох накопичувачах може впливати на цілий пул таким чином.
Оновлення 8: Помилки контрольної суми повернулися, як і раніше. Я можу заглянути в оновлення мікропрограми материнської плати, але на даний момент я втрачаю. Замінити решту фізичних компонентів (контролер, платівка, кабелі) буде важко / дорого, і я просто не впевнений на 100%, що це не проблема з моїми налаштуваннями (ZFS + Linux + LUKS + Spinning disle idle drive). Будь-які інші ідеї вітаються.
Оновлення 9: все ще намагаюся відстежити це. Я зіткнувся з цим питанням, яке мало схожість з моєю ситуацією. Отже, я пішов вперед і відновив zpool, ashift=12
щоб побачити, чи це вирішить проблему (не пощастило). Потім я кусав кулю і купив новий контролер. Щойно я встановив карту HBA Supermicro AOC-SAS2LP-MV8 . Я дам йому тиждень-два, щоб побачити, чи вирішує це проблема.
Оновлення 10: Просто щоб закрити це. Минуло 2 тижні з моменту появи нової картки HBA, і, загрожуючи її суглобом, з тих пір я не мав помилок контрольної суми. Величезна подяка всім, хто допоміг мені розібратися в цьому.