Добрый день,
Имеется Ubuntu Server и массив LVM2 на трех HDD: 2.0, 1.5, 0.5 ТБ. На каждом из них файловая система XFS. Посыпался один из жестких дисков (тот что на 2.0ТБ). Доступ к массиву еще есть, но примерно 10%-15% файлов уже недоступны. Чтение 80% файлов, существенно медленнее чем ранее (килобайты в секунду), оставшиеся читаются на прежней скорости. Запустить ни long ни short тесты через SMART уже не могу, тесты завершаются с ошибкой не запустившись.
Судя по информации от SMART, диск находится в предсмертном состоянии (1265 bad-блоков на текущий момент).
У меня вопросы:
1) Как можно проверить логическую целостность самого LVM2 массива? Есть утилиты типа fsck для него? vgch не работает, тут же завершается без каких-либо ошибок. xfs_check, xfs_repair тоже выдали что-то несуразное и проверять не стали.
2) Как проверить целостность файловых систем входящих в массив? Для облегчения процесса я купил hdd объемом 4ТБ и сделал pvmove
для дисков 1.5ТБ и 0.5ТБ. Процесс прошел без ошибок. Делать тоже самое для битого опсаюсь-чтобы не отказало все окончательно.
3) Можно ли проверить на бэдблоки в моем случае и купировать такие файлы? Объясняю процесс копирования через mc выглядит так: копируется до проблемного файла: выводит сообщение от ОС об ошибке, если нажать "Пропустить все" - то LVM массив размонтируется, и обратно монтировать приходится вручную. Если нажать "Пропустить" то это приходиться делать для каждого из скольки-то миллионов файлов. Вкупе с крайне медленным чтением- это уже заняло у меня несколько дней. Обычный файловый проводник при открытии папки долго думает, потом вылетает с ошибкой ввода-вывода, после чего массив размонтируется.
4) Безопасно ли сделать pvmove не слетит ли операция при первом же встреченном бэдблоке, оставив массив в промежуточном состоянии?
У меня есть подозрение что посыпавшиеся участки пришлись на область метаданных диска, и исправив эту проблему я исправлю проблему доступа к файлам хотя-бы для того чтобы забрать все необходимое с него. Полагаю что выполнять pvmove c носителя, расположение bad-блоков которого уже заранее известно -будет безопаснее, чем на читая прямо по битым участкам.
sudo xfs_check /dev/Storage/StorageDrive
ERROR: The filesystem has valuable metadata changes in a log which needs to
be replayed. Mount the filesystem to replay the log, and unmount it before
re-running xfs_check. If you are unable to mount the filesystem, then use
the xfs_repair -L option to destroy the log and attempt a repair.
Note that destroying the log may cause corruption -- please attempt a mount
of the filesystem before doing this.
localroot@localroot-System-Product-Name:~$
-------------------------------------------------------------------------------------------
localroot@localroot-System-Product-Name:~$ sudo xfs_repair /dev/Storage/StorageDrive
Phase 1 - find and verify superblock...
Фаза 2 - использование внутреннего журнала
- zero log...
ERROR: The filesystem has valuable metadata changes in a log which needs to
be replayed. Mount the filesystem to replay the log, and unmount it before
re-running xfs_repair. If you are unable to mount the filesystem, then use
the -L option to destroy the log and attempt a repair.
Note that destroying the log may cause corruption -- please attempt a mount
of the filesystem before doing this.
localroot@localroot-System-Product-Name:~$