Что было. Файловый сервер на Windows Server 2022 с включённой дедупликацией и теневыми копиями. В журнале System серия событий NTFS 55 («обнаружено повреждение структуры файловой системы на томе D:»), часть файлов не открывается, восстановление из резервных копий части файлов тоже не удаётся. chkdsk /scan и sfc частично помогли.
Что означает событие 55. NTFS не смогла записать данные в свой журнал транзакций и обнаружила несогласованность метаданных. Само событие говорит что сломалось, но не почему. Причины: сбойные секторы, незавершённые операции ввода-вывода (внезапная остановка виртуальной машины, сброс контроллера хранилища, таймаут диска), ошибки драйвера или прошивки, а на виртуальных машинах ещё и проблемы хранилища хоста, о которых гость узнаёт только по таймаутам.
Что рекомендовали (принятый ответ).
- Сначала резервная копия всего, что читается: восстановление структуры может удалить повреждённые записи.
chkdsk D: /f /rв окне обслуживания (том будет отмонтирован; для системного диска потребуется перезагрузка) либоRepair-Volume -DriveLetter D -SpotFixиз PowerShell для точечного исправления послеRepair-Volume -Scan. Не прерывать: на больших томах это часы.- Если после починки события возвращаются: причина ниже файловой системы. Проверить журнал System на события
disk7/11/153 (плохие блоки, таймауты, сбросы) иstorport/stornvme129; смотреть состояние виртуального диска и хранилища на стороне площадки; обновить драйверы виртуальных дисков в госте. - Дедупликация и теневые копии сами по себе не ломают NTFS, но повреждённые блоки в хранилище дедупликации касаются сразу многих файлов, а теневые копии поверх повреждённого тома тоже повреждены, отсюда «из бэкапа не восстанавливается».
Что мы добавим для виртуальных машин.
- Событие 55 после внезапного выключения виртуальной машины извне (сброс хоста, действие в панели) закономерно: журнал NTFS должен был откатить незавершённое, но если кэш записи не был сброшен, метаданные остаются несогласованными.
chkdsk /fобычно закрывает вопрос с первого раза. - Повторяющиеся 55 при штатной работе без внезапных выключений это повод немедленно обратиться к поставщику виртуальной машины с точными временами событий: так выглядят проблемы хранилища хоста.
- Файловые серверы с дедупликацией на виртуальных дисках лучше держать с отключённым кэшем записи на уровне гостя, если хранилище не гарантирует его сохранность.
- Событие 55 на томе с базой данных: остановить базу до
chkdsk, а после проверки прогнать средства проверки самой базы (DBCC CHECKDB,mysqlcheck).
Диагностика повреждений диска описана в документации Microsoft.