Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
I/O failure on vdev / pool checksum error Linux / DevOps

ZFS: I/O failure on vdev / pool checksum error — Восстановление пула OpenZFS

Обновлено: 18.08.2026  ·  Официальная база знаний

Архитектура ошибки и симптомы сбоя

Критический статус «ZFS: I/O failure on vdev / pool checksum error detected» указывает на то, что подсистема OpenZFS (ZFS on Linux) зафиксировала сбои ввода-вывода (READ/WRITE errors) или несовпадение 256-битных контрольных сумм (Fletcher4/SHA256) блоков на конкретном виртуальном устройстве (vdev). Пул переходит в статус DEGRADED или FAULTED при превышении допустимого числа отказов дисков.

Диагностическая таблица параметров сбоя

ПараметрЗначениеИнженерный смысл сбоя
READ / WRITE ErrorI/O FailureАппаратная невозможность прочитать или записать блок данных на физический диск.
CKSUM ErrorChecksum MismatchИскажение данных при чтении (Silent Data Corruption / Bit Rot).
Pool StatusDEGRADED / FAULTEDПул работает без избыточности (DEGRADED) либо полностью остановлен (FAULTED).

Пошаговое дерево решений и сценарии траблшутинга

Сценарий 1: Проверка детального статуса пула OpenZFS

# Проверка состояния пула и списка сбойных устройств:
sudo zpool status -v <POOL_NAME>

# Просмотр списка поврежденных файлов:
zpool status -v | grep -A 10 "errors: Permanent errors"

Сценарий 2: Запуск самоисцеления данных (ZFS Scrub)

Если пул собран в mirror, raidz1, raidz2 или raidz3, запустите процесс восстановления избыточности:

# Запуск фонового восстановления:
sudo zpool scrub <POOL_NAME>

# Мониторинг прогресса:
sudo zpool status <POOL_NAME>

Сценарий 3: Замена сбойного накопителя в пуле (Hot-Swap)

# 1. Перевод сбойного диска в статус offline:
sudo zpool offline <POOL_NAME> /dev/disk/by-id/<OLD_DISK_ID>

# 2. Физическая замена накопителя и запуск resilvering:
sudo zpool replace <POOL_NAME> /dev/disk/by-id/<OLD_DISK_ID> /dev/disk/by-id/<NEW_DISK_ID>

# 3. Сброс счетчиков ошибок после завершения resilver:
sudo zpool clear <POOL_NAME>
ZFS пул находится в состоянии FAULTED?
Не экспортируйте пул вслепую! Специалисты ITSTM выполнят бережное восстановление импорта пула со старыми транзакциями (zpool import -F -X) и спасут данные.
Практический опыт инженера: При построении ZFS хранилищ всегда идентифицируйте диски по постоянным путям /dev/disk/by-id/... вместо нестабильных /dev/sdX, чтобы исключить деградацию пула при смене нумерации дисков ядром.

Частые вопросы (FAQ)

Что делать, если zpool status показывает постоянные ошибки CKSUM, но READ/WRITE = 0?

Ошибки исключительно в столбце CKSUM почти всегда указывают на дефекты оперативной памяти (non-ECC RAM) или повреждение контроллера SAS/SATA/кабелей, искажающих данные в процессе передачи.

Как принудительно смонтировать поврежденный пул ZFS в режиме Read-Only?

Используйте команду: zpool import -o readonly=on -f -F <POOL_NAME>. Флаг -F пытается откатить последние поврежденные транзакции до консистентного состояния.