восстановить файловую систему, отредактировав файл fstab

восстановить файловую систему, отредактировав файл fstab

можно ли запустить восстановление xfs, повторно отредактировав файл fstab?

/dev/mapper/vg-linux_root /                       xfs     defaults        0 0
UUID=7de1dc5c-b605-4a6f-bdf1-f1e869f6ffb9 /boot   xfs     defaults        0 0
/dev/mapper/vg-linux_var /var                     xfs     defaults        0 0
/dev/mapper/vg-linux_swap swap                    swap    defaults        0 0

Я не уверен, но если заменить последнюю цифру с 0 на 1, это правильно?

решение1

Нет, простое редактирование /etc/fstab не может привести к выполнению xfs_repair.

Для других типов файловых систем это сработает. Но XFS здесь особенная.

Изменение 6-го поля на /etc/fstabненулевое значение в файловой системе XFS приведет к запуску системы fsck.xfs, на странице руководства которой указано:

NAME
       fsck.xfs - do nothing, successfully

[...]

       However,  the  system  administrator  can force fsck.xfs to run xfs_re‐
       pair(8) at boot time by creating a /forcefsck file or booting the  sys‐
       tem with "fsck.mode=force" on the kernel command line.

Поэтому обычно fsck.xfsвообще ничего не делают.

Если вы действительно хотите xfs_repairзапустить систему при загрузке, необходимо соблюсти два условия:

а) Шестое поле /etc/fstabдолжно быть ненулевым для рассматриваемой файловой системы XFS, чтобы она fsck.xfsбыла выполнена.

b) Либо /forcefsckфайл должен существовать в корневой файловой системе (или, возможно, в initramfs, если вы планируете проверить корневую файловую систему), либо командная строка ядра должна иметь fsck.mode=forceопцию загрузки. Это приведет fsck.xfsк запуску xfs_repairвместо того, чтобы ничего не делать.

Что же такого особенного в xfs_repair?

Файловая система XFS и xfs_repairинструмент предполагают, что базовый диск находится в хорошем состоянии или, по крайней мере, способен прозрачно заменять плохие блоки встроенными запасными блоками (как это делают все современные диски). Если современный диск имеет постоянные плохие блоки, видимые операционной системе, это обычно означает, что встроенный механизм запасных блоков уже перегружен количеством плохих блоков, и диск, вероятно, в любом случае вскоре полностью выйдет из строя.

На странице руководства xfs_repairнаписано:

   Disk Errors
       xfs_repair aborts on most disk I/O errors. Therefore, if you are trying
       to  repair  a  filesystem that was damaged due to a disk drive failure,
       steps should be taken to ensure that all blocks in the  filesystem  are
       readable and writable before attempting to use xfs_repair to repair the
       filesystem. A possible method is using dd(8) to copy the  data  onto  a
       good disk.

xfs_repairПоэтому в обычных обстоятельствах вам, вероятно, не следует настраивать автоматический запуск.

Если в файловой системе XFS есть ошибки, вам всегда следует сначала оценить состояние базового диска: это smartctl -a /dev/<disk device>может быть полезно, например, использовать ddдля чтения всего содержимого раздела/LV /dev/nullи убедиться, что команда может быть выполнена без ошибок.

Если диск выходит из строя, сначала следует скопировать содержимое раздела/LV на новый, безошибочный диск (возможно, с помощью ddили ddrescue), и только затем попытаться запустить xfs_repairфайловую систему на безошибочном диске.

Автоматический запуск xfs_repairво время загрузки может быть подходящим обходным путем, если вы знаете, что что-то вызывает ошибки на уровне файловой системы, даже если ваши диски в хорошем состоянии. Но это всего лишь обходной путь, а не исправление: вам следует выяснить, что вызывает ошибки файловой системы, и устранить основную причину. (Возможно, ошибка драйвера файловой системы, требующая обновления пакета ядра для исправления?)

решение2

Если файлы на нем /dev/sdaимеют ошибки, то вам нужно запустить fsckего. Помните, что он на самом деле не восстановит сам диск, а только файлы. Если на диске действительно есть ошибки и он выходит из строя, то лучше заменить диск и восстановить данные из резервной копии, потому что если все станет достаточно плохо, вы, возможно, потеряете данные, особенно если диск вообще умрет.

Связанный контент