Что лучше использовать: LVM или fsck для решения проблемы с файловой системой?

Как можно обеспечить возможность безболезненного изменения размеров/перемещения разделов на lvm, а также иметь возможность выполнить нормальную проверку целостности файловой системы (fsck) при загрузке, учитывая что initrd монтирует / и /usr, их отмонтировать нельзя, и при жестком ребуте fsck на /usr может завершиться неудачно?
  • 25 января 2024 г. 4:39
Ответы на вопрос 2
LVM (Logical Volume Manager) и fsck (file system consistency check) предназначены для выполнения совершенно разных задач, поэтому выбирать между ними "что лучше для решения проблемы с файловой системой" не совсем корректно. LVM управляет логическими томами, в то время как fsck используется для проверки и восстановления файловых систем.

LVM позволяет удобно управлять дисковым пространством, создавать, изменять размеры и удалять логические тома без необходимости переразметки физических разделов. Это дает преимущества при динамическом управлении хранилищем, особенно в серверных средах.

Fsck, с другой стороны, используется для проверки файловых систем на ошибки и их исправления. Это необходимая утилита для поддержания здоровья файловых систем, особенно после некорректного завершения работы системы, например, из-за отключения питания.

Чтобы обеспечить возможность изменения размеров/перемещения разделов на LVM и при этом иметь возможность проводить fsck, можно воспользоваться следующими подходами:

1. Использование rescue mode или live среды:
Для работы с файловыми системами, которые не могут быть отмонтированы во время обычной работы системы, можно воспользоваться специальными режимами, такими как rescue mode или загрузка системы с live CD/USB. В этих режимах корневой раздел не монтируется или монтируется в режиме только для чтения, что позволяет провести fsck без риска повредить файловую систему.

2. Резервное копирование и восстановление:
Перед проведением критических операций с разделами и файловыми системами рекомендуется сделать полное резервное копирование данных. Это позволяет восстановить систему в случае ошибок или сбоев.

3. Планирование проверок fsck:
На некоторых дистрибутивах можно настроить автоматический запуск fsck при загрузке через определенное количество монтирований файловой системы или через указанный период времени. В таком случае fsck будет запущен до того, как файловая система смонтируется в режиме записи.

4. Отключение автоматического запуска fsck:
Если fsck вызывает проблемы при автоматическом запуске во время загрузки, можно отключить этот автоматический процесс и запускать fsck вручную из режима восстановления или live среды по необходимости.

5. Выделение `/usr` на отдельный логический том:
Если возможно, выделите `/usr` на отдельный логический том в рамках LVM. Это может упростить процедуру отмонтирования и запуска fsck.

Важно заметить, что fsck следует запускать только на размонтированных файловых системах или на файловых системах, смонтированных в режиме только для чтения, чтобы избежать повреждения данных.

Помните, что корректное завершение работы системы и регулярное выполнение обслуживающих операций способствуют поддержанию здор
в linux есть btrfs и zfs файловые системы, с функционалом управления разделами и дисками. Первый хоть и рекомендован к работе но имеет незначительные проблемы (я не встречал но они заявлены ), второй имеет высокие требования к ram и дает много накладных расходов на диски, и не рекомендуется для hdd (точнее можно, если там есть дисковый кеш большой, встроенный или в контроллере). 

lvm однозначно на помойку, его снапшоты это тормозной ад, когда как btrfs/zfs они бесплатны.

К сожалению переход lvm+ext4 -> btrfs можно сделать только через backup format restore. В похожих ситуциях я несколько раз делал последовательное уменьшение разделов, в пределах свободного места на диске, переносил данные снова уменьшал... Долгий и опасный процесс (вероятность потери данных при сбое во время упаковки и сдвига раздела - высокая) но когда вообще нет возможности сделать оперативно бакап и восстановления - подойдет. Но лучше выбирай бакапы, они так и так нужны.

Недостатки btrfs/zfs там же где и их достоинство. Это Copy-On-Write файловые системы, каждая следующая запись происходит в новое место, базы данных в таких случаях сильно фрагментируются (на самом деле не на столько все плохо но на hdd это заметно), и само собой есть возможность это отключить для выбранных каталогов (снапшоты само собой нормально перестанут работать с этими файлами).
Похожие вопросы