chkfsys

Проверка целостности всей файловой системы QNX 4

Синтаксис:

chkfsys [-fpPqrsuvVx] [-z файл_удаления] точка_монтирования 
chkfsys [-fpPqrsuvVx] [-z файл_удаления] -m диск

Опции:

-f
Ничего не исправлять.
-m
Точка монтирования отсутствует; указанный путь является непосредственно устройством/разделом.
-p
Отобразить приглашение перед запуском.
-P
Подавлять приглашения (т.е. исправлять без вопросов).
-q
Режим вывода краткой информации.
-r
Выполнить повторное построение битовой карты без приглашений и сообщений.
-s
Подавлять отображение статистики
-u
Проверить файловую систему вне зависимости от записанного на диске статуса.
-v
Вывести расширенную информацию. (По мере проверки отображаются не только каталог, но и файлы. Значительно замедляет выполнение утилиты chkfsys).
-V
Вывести максимально расширенную информацию.
-x
Завершить с подробными кодами ошибки.
-z файл_удаления
Записать пути к файлам, которые требуется удалить, в указанный файл. Файл файл_удаления должен находиться в файловой системе, отличной от проверяемой.
диск
Подлежащий проверке диск (например /dev/fd0, /dev/hd0t77).
точка_монтирования
Точка монтирования файловой системы диска (например /).

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

aarch64, arm, armv7, e2k, mips, ppc, x86

Описание:


Caution: Эту утилиту может запускать только пользователь root.

Утилита chkfsys выполняет проверку целостности файловой системы QNX4 на указанном диске. Утилита chkfsys не работает на разделах диска, содержащих отличные от ЗОСРВ «Нейтрино» файловые системы (например разделы DOS, разделы QNX 2). Помимо этого утилита chkfsys должна иметь доступ к специальному блочному файлу, в котором содержится файловая система. Поэтому возможность использования утилиты chkfsys на смонтированных под NFS файловых системах ЗОСРВ «Нейтрино» отсутствует.


Note: Утилита chkfsys считает файловую систему "Power-Safe" ( fs-qnx6.so) поврежденной; вместо нее следует использовать утилиту chkqnx6fs.

Для файловых систем ЗОСРВ «Нейтрино» утилита chkfsys рекурсивно проходит по файловой системе, проверяя каждый файл на диске. Во время прохода выполняются проверки записи каталога для каждого файла и составляющих файл экстентов. В памяти создается битовая карта, отражающая выделение блоков для всех файлов и каталогов на жестком диске. Затем эта битовая карта сравнивается с существующей на диске. Если они отличаются, то пользователю предоставляется выбор по замене существующего растрового изображения на диске тем, которое создано в памяти.

По умолчанию утилита chkfsys проверяет флаг на диске, управление которым осуществляется файловой системой, и который указывает утилите chkfsys на необходимость выполнения проверки. Если флаг установлен, утилита chkfsys выводит отчет об отсутствии неполадок и немедленно завершает работу. При надлежащем завершении работы системы, этот флаг всегда устанавливается (кроме случаев возникновения ошибки в процессе). При завершении работы системы с использованием отключения питания, флаг может не быть установлен, в зависимости от состояния файловой системы в этот момент. Опцию -u можно использовать для принудительного запуска утилиты chkfsys, даже если флаг установлен.


Caution: Использование утилиты chkfsys допускается только в стабильной файловой системе. Во время работы утилиты chkfsys не должно остаться открытых для записи файлов. При выполнении каких-либо операций восстановления необходимо повторно смонтировать файловую систему; для этого драйвер диска следует принудительно остановить и перезапустить. Если восстановление не выполняется (при использовании опции -f), допускается проведение проверки файловой системы с открытыми файлами; однако в этом случае отчеты могут быть противоречивыми.

Утилита chkfsys обычно используется для восстановления блоков, потерянных в результате использования утилиты zap. Если применялась утилита zap, утилита chkfsys выводит отчет о наличии блоков, присутствующих в битовой карте, но которые фактически не используются каким-либо файлом. Эти блоки можно восстановить путем записи восстановленного растрового изображения обратно на диск. Утилита chkfsys предпринимает попытки чтения каждого из этих блоков, но не отмечает поврежденные блоки в качестве доступных. Каждый обнаруженный таким образом блок добавляется в файл /.bad_blks в корневом каталоге проверяемой файловой системы.

Утилита chkfsys выводит отчет об использовании файлами поврежденных блоков.

Сообщение утилиты chkfsys об использовании блока несколькими файлами может указывать на одну из двух следующих проблем:

В любом случае файл необходимо сохранить на другой диск (если возможно), а исходный файл – удалить с помощью утилиты zap. Затем для обновления битовой карты следует повторно запустить утилиту chkfsys, после чего сохраненный файл можно восстановить на этот диск.

Как правило, при каждой замене битовой карты необходимо повторно запускать утилиту chkfsys для обеспечения действительной непротиворечивости файловой системы. Для этого необходимо указать опцию -u.

Опция -f (без исправления) не позволяет утилите chkfsys предпринимать попытки выполнения восстановления файловой системы. Жесткий диск открывается только для чтения, но не для записи. Эта опция позволяет пользователю проверить файловую систему без необходимости прекращения использования диска или файловой системы другими пользователями. Однако следует обратить внимание на то, что опция -f может сообщать о фактически несуществующих ошибках (если во время работы утилиты chkfsys другие пользователи открывают, закрывают или увеличивают размер файлов). Даже в этом случае, использование этой опции может быть целесообразным на объектах, которые работают круглосуточно, если оператор системы тщательно анализирует результаты. При отображении ошибок, которые могли возникнуть в результате текущей активности, запустите утилиту chkfsys повторно с опцией -f для проверки ошибок. Если обнаружены требующие исправления ошибки, то необходимо перевести систему в неактивный режим и запустить утилиту chkfsys без опции -f.

Опция -p (пауза) используется прежде всего с гибкими дисками. Утилиту chkfsys можно запустить с гибкого диска, дождаться паузы в работе chkfsys, извлечь текущий диск (который содержит утилиту chkfsys), а затем вставить другой диск, который необходимо проверить.

Опция -q (вывод краткой информации) подавляет отображение каждого имени файла во время проверки файла. Использование этой опции значительно ускоряет проверку, без потери информации, поскольку утилита chkfsys выводит все имена файлов, в которых есть ошибки.

Опция -r (повторное построение) подавляет предупреждающее сообщение, которое обычно появляется в конце выполнения утилиты chkfsys, если существующая битовая карта отличается от вновь созданной битовой карты в памяти. Если указана опция -r, утилита chkfsys автоматически выполняет повторное построение битовой карты. Следует отметить, что эта опция не действует вместе с опцией -f (без исправления).

Опция -s (без статистики) отключает отображение статистики, которая обычно выводится в конце выполнения утилиты chkfsys.

Опция -v (режим вывода расширенной информации) используется для отображения информации о проверке.

Опция -P (без приглашения) приводит к автоматическому исправлению возникших проблем утилитой chkfsys без запросов подтверждения пользователя перед каждым исправлением. Однако возможны серьезные ошибки (ошибка ввода-вывода диска или повреждение каталога высокого уровня), для которых исправлением может служить удаление каталога (и всех его иерархии/содержимого). Подобные действия не предпринимаются без подтверждения пользователя. В такой ситуации опция -P выведет сообщение об ошибке и завершит работу утилиты. При необходимости автоматического продолжения работы утилиты chkfsys при любых обстоятельствах можно указать опцию -PP.

Опция -z файл_удаления используется для записи в указанном файле имен файлов, которые необходимо удалить по завершении работы утилиты chkfsys. Файл файл_удаления должен находиться в файловой системе, отличной от проверяемой. Если файл использует дисковое пространство, выделенное для другого файла или отмеченное в битовой карте как поврежденное, такой файл необходимо удалить и повторно запустить утилиту chkfsys.

Сбой питания

Утилиту chkfsys также можно запустить после полного отказа системы или сбоя питания, в результате чего некоторые файлы могли остаться занятыми. Утилита "освобождает" файлы, а также проверяет наличие повреждений файловой системы. ЗОСРВ «Нейтрино» спроектирована таким образом, чтобы быть устойчивой к этому виду повреждения.

В случае потери файловой системы вследствие повреждения корневого каталога и битовой карты (несколько начальных блоков на диске) для получения информации о методах инициализации именно этих частей диска см. руководство по системной архитектуре ЗОСРВ «Нейтрино» и документацию по утилите dinit. Если повреждены только корневой блок и битовая карта, то в большинстве случаев с помощью утилиты chkfsys эти файлы можно восстановить. Если поврежден корневой каталог и файл индексного дескриптора (следующие области диска), то восстановление возможно с помощью утилит dinit, spatch и chkfsys. Следует отметить, что такое восстановление требует глубокого знания структуры файловой системы. В этом случае большинству пользователей рекомендуется просто восстановить потерянные файлы из резервной копии. Вероятность столкновения с такими проблемами очень мала; подобные события возникают крайне редко, но авторы настоящего документа постарались их предусмотреть.

Примеры:

Проверка файловой системы в разделе ЗОСРВ «Нейтрино» жесткого диска:

chkfsys /hd

Проверка файловой системы ЗОСРВ «Нейтрино», смонтированной в качестве корневого каталога (/) и автоматически выполнить повторное построение битовой карты:

chkfsys -rs /

Возвращаемое значение:

Статус завершения зависит от того, указана ли опция -x.

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино»

Тематические ссылки:

chkdosfs, chkqnx6fs, dcheck, dinit, fs-qnx4.so, spatch, zap




Предыдущий раздел: Утилиты