Назад | Перейти на главную страницу

Мониторинг состояния файловой системы XFS в Linux

Недавно я испытал крах файловой системы. У меня сервер работал около 180 дней без перерыва без каких-либо проблем, но затем я заметил странные вещи, и, очевидно, файловая система ext3 была в очень плохом состоянии. Я проверил диски и память, и все было в порядке. В конечном итоге мне пришлось промыть систему и сделать полную переустановку. fsck.ext3 только ухудшало положение.

Я не хочу, чтобы это повторилось снова, поэтому на этот раз я выбрал XFS, который, как мне кажется, более зрелый, чем ext3, но я не понимаю, как контролировать состояние файловой системы. xfs_check просто не позволяет сканировать устройство, пока оно смонтировано.

Итак, как вы отслеживаете состояние файловой системы XFS, когда система находится в сети?

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

Отчасти вы должны верить, что как журналирующая файловая система XFS делает все возможное, чтобы поддерживать ваши данные в хорошем состоянии. Вы также можете найти утешение, зная, что xfs_check намного быстрее, чем fsck.ext3 и XFS не предусматривает периодических проверок, как правило монтирования ext3 180 дней / x.


Редактировать комментарии:

Хотя я понимаю, что ты один раз укусил, два раза стеснялся. Могу заверить вас, что «полный сбой» не является систематической проблемой, связанной с файловыми системами UNIX. По моему опыту, такие события имеют тенденцию материализоваться только в связи с отказом оборудования, ошибкой пользователя (никакого неуважения) или неудачным сочетанием того и другого. Однако с технической точки зрения это довольно сложно объяснить без некоторых очень конкретных деталей того, что пошло не так с вашей предыдущей установкой ext3.

Поместите файловую систему на Логический том LVM, создайте временный снимок из логического тома, а затем fsck этот моментальный снимок (пока логический том все еще находится в сети).

Может быть Теодор Тсо e2croncheck скрипт для ext3 поможет вам начать работу.

(Как упоминалось в 3dinfluence: ZFS, безусловно, лучшее решение ...)

Я заметил странные вещи

Тогда проблема не в файловой системе (или, по крайней мере, это крайне маловероятно). ext3 - одна из наиболее часто используемых FS, и любая ошибка, достаточно серьезная, чтобы вызвать катастрофическое повреждение, должна быть уже обнаружена и исправлена.

Причина кроется в другом, возможно, в самом оборудовании (возможно, в оперативной памяти).

Чтобы ответить на ваш вопрос: вы можете проверить файловую систему XFS онлайн, но только если она смонтирована только для чтения.

Просто НЕ рекомендуется проверять целостность любой смонтированной файловой системы.

Краткий отказ от ответственности: мне нравится XFS и его скорость. Это не столько напыщенная речь, сколько предупреждение.


Немедленный ответ: нет, вам нужно будет размонтировать файловую систему для выполнения проверки. Запускать fsck на работающей файловой системе - плохо. Файловая система постоянно меняется в ходе такой проверки, а это означает, что вы никогда не можете быть уверены в том, постоянно ли она проверяется или, что еще хуже, если ваш «ремонт» не сделает ее хуже.

Пока это не непосредственный ответ ясен. Ext3, вероятно, лучший вариант для вас, и если вы столкнулись с повреждением в Ext3, вам нужно повторно проверить свое оборудование. Из любви к $ {DIETY}, вам не следует использовать XFS, если вы ищете что-то, что (потенциально) не потеряет данные во время восстановления. При определенных обстоятельствах он обнулит блоки данных во время восстановления.

Цитируется по 2-й ссылке:

5.1 Ошибки записи

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

Имейте в виду, что XFS изначально разрабатывался с учетом работы с видео, поэтому, если у вас был поврежденный видеофайл, это не было проблемой, вы всегда могли вставить видео, чтобы исправить «плохое место»; Ожидание нескольких дней для fsck на 14-терабайтной файловой системе было большим делом, поэтому время проверки заменяется целостностью данных.

Повреждения файловой системы происходят независимо от того, какую файловую систему вы используете. За эти годы у меня были файловые системы Ext3 и XFS, которые меня угнетали.

ZFS, хотя и недоступна в Linux, за исключением использования FUSE, имеет оперативную фоновую очистку, которая может обнаруживать и исправлять ошибки до того, как вы столкнетесь с потерей данных. Он также выполняет много операций ECC для всех операций файловой системы и должен обнаруживать и сообщать о любых обнаруженных ошибках. Однако он должен быть в состоянии восстановиться и излечиться от большинства из них. Но даже со всеми уловками ECC, которые использует ZFS, были некоторые крайние случаи, обычно проблемы с оборудованием, когда файловая система ZFS была повреждена.

Лучше всего иметь хорошую стратегию резервного копирования и план аварийного восстановления. Восстановление данных из заведомо исправной резервной копии - самый быстрый способ справиться с подобными проблемами. Прохождение lost+found это болезненный процесс, подверженный ошибкам.