У меня есть сервер Ubuntu с 14-дисковым пулом ZFS raidz2.
Примерно в 80% случаев при перезагрузке у меня будет деградированный пул с двумя дисками, отмеченными как неисправные. Неисправные диски не всегда одинаковы, но это всегда ровно два диска. Например:
$ sudo zpool status
pool: tank
state: DEGRADED
status: One or more devices could not be used because the label is missing or
invalid. Sufficient replicas exist for the pool to continue
functioning in a degraded state.
action: Replace the device using 'zpool replace'.
see: http://zfsonlinux.org/msg/ZFS-8000-4J
scan: resilvered 4K in 0h0m with 0 errors on Sun Sep 30 23:08:51 2018
config:
NAME STATE READ WRITE CKSUM
tank DEGRADED 0 0 0
raidz2-0 DEGRADED 0 0 0
sde ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sda ONLINE 0 0 0
sdh ONLINE 0 0 0
11521322863231878081 FAULTED 0 0 0 was /dev/sdf1
15273938560620494453 FAULTED 0 0 0 was /dev/sdg1
sdb ONLINE 0 0 0
sdi ONLINE 0 0 0
sdj ONLINE 0 0 0
sdk ONLINE 0 0 0
sdl ONLINE 0 0 0
sdm ONLINE 0 0 0
sdn ONLINE 0 0 0
errors: No known data errors
Я могу экспортировать и повторно импортировать пул, и диски больше не неисправны. Например:
$ sudo zpool export tank
$ sudo zpool import tank
$ sudo zpool status
pool: tank
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: resilvered 4K in 0h0m with 0 errors on Sun Sep 30 23:08:51 2018
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz2-0 ONLINE 0 0 0
sde ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sda ONLINE 0 0 0
sdh ONLINE 0 0 0
sdg ONLINE 0 0 1
sdf ONLINE 0 0 0
sdb ONLINE 0 0 0
sdi ONLINE 0 0 0
sdj ONLINE 0 0 0
sdk ONLINE 0 0 0
sdl ONLINE 0 0 0
sdm ONLINE 0 0 0
sdn ONLINE 0 0 0
errors: No known data errors
Используемый HBA правильно работал на другом сервере.
Что еще я могу попытаться избежать этих неисправных дисков при перезагрузке? У меня есть еще один адаптер главной шины, который я могу заменить.
Вы не должны использовать имена / dev / sdX для конфигурации вашего пула.
Любое изменение в перечислении SCSI, например, вставка компакт-диска или USB-накопителя, может привести к изменению имен устройств, что приведет к возникновению ошибок.
У вас есть возможность использовать имена / dev / disk / by-id.
Сделайте это с помощью zpool export tank
и zpool import -d /dev/disk/by-id tank