
Файловая система - это структура данных, которая помогает контролировать, как данные хранятся и извлекаются в компьютерной системе. Файловую систему также можно рассматривать как физический (или расширенный) раздел на диске. Если не поддерживать в надлежащем состоянии и регулярно контролировать, он может быть поврежден или поврежден в долгосрочной перспективе множеством различных способов.
Есть несколько факторов, которые могут вызвать нарушение работоспособности файловой системы: сбои системы, аппаратное или программное обеспечение. сбои, глючные драйверы и программы, неправильная настройка, перегрузка избыточными данными плюс другие мелкие глюки.
Любая из этих проблем может привести к тому, что Linux не сможет корректно монтировать (или размонтировать) файловую систему, что приведет к сбою системы.
Читайте также: 7 способов определить тип файловой системы в Linux (Ext2, Ext3 или Ext4)
Кроме того, запуск вашей системы с поврежденной файловой системой может вызвать другие ошибки времени выполнения в компонентах операционной системы или в пользовательских приложениях, которые могут перерасти в серьезную потерю данных. Чтобы избежать повреждения или повреждения файловой системы, вам необходимо следить за ее здоровьем.
В этой статье мы рассмотрим инструменты для мониторинга и поддержания работоспособности файловых систем ext2, ext3 и ext4. Все описанные здесь инструменты требуют привилегий пользователя root, поэтому используйте команда sudo запустить их.
dumpe2fs - это инструмент командной строки, используемый для вывода информации о файловой системе ext2 / ext3 / ext4, что означает, что он отображает информацию о суперблоке и группе блоков для файловой системы на устройстве.
Перед запуском dumpe2fs, не забудьте запустить df -hT команда, чтобы узнать имена устройств файловой системы.
$ sudo dumpe2fs / dev / sda10.
dumpe2fs 1.42.13 (17 мая 2015 г.) Имя тома файловой системы: Последнее подключение: / UUID файловой системы: bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b. Магический номер файловой системы: 0xEF53. Версия файловой системы: 1 (динамическая) Особенности файловой системы: has_journal ext_attr resize_inode dir_index filetype needs_recovery extension flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize. Флаги файловой системы: signed_directory_hash Параметры монтирования по умолчанию: user_xattr acl. Состояние файловой системы: чистая. Поведение при ошибках: Продолжить. Тип файловой системы ОС: Linux. Количество инодов: 21544960. Количество блоков: 86154752. Количество зарезервированных блоков: 4307737. Бесплатные блоки: 22387732. Бесплатные inodes: 21026406. Первый блок: 0. Размер блока: 4096. Размер фрагмента: 4096. Зарезервированные блоки GDT: 1003. Блоки в группе: 32768. Фрагментов в группе: 32768. Inodes в группе: 8192. Блоки индексных дескрипторов на группу: 512. Размер группы гибких блоков: 16. Файловая система создана: 31 июля, вс, 16:19:36, 2016. Время последнего монтирования: понедельник, 6 ноября, 10:25:28 2017 г. Время последней записи: Пн, 6 ноября, 10:25:19, 2017. Количество маунтов: 432. Максимальное количество маунтов: -1. Последняя проверка: вс 31 июля, 16:19:36 2016. Интервал проверки: 0 () Lifetime пишет: 2834 гб. Зарезервированные блоки uid: 0 (пользователь root) Зарезервированные блоки gid: 0 (корень группы) Первый индекс: 11. Размер inode: 256. Требуемый дополнительный размер: 28. Желаемая доплата: 28. Индекс журнала: 8. Первый бесхозный индексный дескриптор: 6947324. Хэш каталога по умолчанию: half_md4. Начальное значение хэша каталога: 9da5dafb-bded-494d-ba7f-5c0ff3d9b805. Резервное копирование журнала: блоки inode. Возможности журнала: journal_incompat_revoke. Размер журнала: 128 МБ. Длина журнала: 32768. Последовательность журнала: 0x00580f0c. Начало журнала: 12055.
Вы можете пройти -b
флаг для отображения любых блоков, зарезервированных как плохие в файловой системе (отсутствие вывода подразумевает плохие блоки):
$ dumpe2fs -b.
e2fsck используется для проверки файловых систем ext2 / ext3 / ext4 на наличие ошибок и fsck проверяет и может опционально восстановить файловую систему Linux; По сути, это интерфейс для ряда программ проверки файловой системы (fsck.fstype Например fsck.ext3, fsck.sfx и т. д.) предлагается под Linux.
Помните, что Linux работает e2fack / fsck автоматически при загрузке системы на разделах, помеченных для проверки /etc/fstab конфигурационный файл. Обычно это делается после того, как файловая система не была полностью размонтирована.
Внимание: Не беги e2fsck или fsck в смонтированных файловых системах всегда сначала размонтируйте раздел, прежде чем запускать на нем эти инструменты, как показано ниже.
$ sudo размонтировать / dev / sda10. $ sudo fsck / dev / sda10.
Или включите подробный вывод с помощью -V
переключитесь и используйте -t
чтобы указать тип файловой системы следующим образом:
$ sudo fsck -Vt ext4 / dev / sda10.
Мы с самого начала упоминали, что одной из причин повреждения файловой системы является неправильная настройка. Вы можете использовать tune2fs утилита для изменения настраиваемых параметров файловых систем ext2 / ext3 / ext4, как описано ниже.
Чтобы увидеть содержимое суперблока файловой системы, включая текущие значения параметров, используйте -l
вариант, как показано.
$ sudo tune2fs -l / dev / sda10.
tune2fs 1.42.13 (17 мая 2015 г.) Имя тома файловой системы: Последнее подключение: / UUID файловой системы: bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b. Магический номер файловой системы: 0xEF53. Версия файловой системы: 1 (динамическая) Особенности файловой системы: has_journal ext_attr resize_inode dir_index filetype needs_recovery extension flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize. Флаги файловой системы: signed_directory_hash Параметры монтирования по умолчанию: user_xattr acl. Состояние файловой системы: чистая. Поведение при ошибках: Продолжить. Тип файловой системы ОС: Linux. Количество инодов: 21544960. Количество блоков: 86154752. Количество зарезервированных блоков: 4307737. Бесплатные блоки: 22387732. Бесплатные inodes: 21026406. Первый блок: 0. Размер блока: 4096. Размер фрагмента: 4096. Зарезервированные блоки GDT: 1003. Блоки в группе: 32768. Фрагментов в группе: 32768. Inodes в группе: 8192. Блоки индексных дескрипторов на группу: 512. Размер группы гибких блоков: 16. Файловая система создана: 31 июля, вс, 16:19:36, 2016. Время последнего монтирования: понедельник, 6 ноября, 10:25:28 2017 г. Время последней записи: Пн, 6 ноября, 10:25:19, 2017. Количество маунтов: 432. Максимальное количество маунтов: -1. Последняя проверка: вс 31 июля, 16:19:36 2016. Интервал проверки: 0 () Lifetime пишет: 2834 гб. Зарезервированные блоки uid: 0 (пользователь root) Зарезервированные блоки gid: 0 (корень группы) Первый индекс: 11. Размер inode: 256. Требуемый дополнительный размер: 28. Желаемая доплата: 28. Индекс журнала: 8. Первый бесхозный индексный дескриптор: 6947324. Хэш каталога по умолчанию: half_md4. Начальное значение хэша каталога: 9da5dafb-bded-494d-ba7f-5c0ff3d9b805. Резервное копирование журнала: блоки inode.
Далее, используя -c
флаг, вы можете установить количество монтирований, после которых файловая система будет проверяться e2fsck. Эта команда указывает системе запустить e2fsck против /dev/sda10
после каждого 4 монтирует.
$ sudo tune2fs -c 4 / dev / sda10tune2fs 1.42.13 (17 мая 2015 г.) Установка максимального количества монтировок на 4.
Вы также можете определить время между двумя проверками файловой системы с помощью -я
вариант. Следующая команда устанавливает интервал 2 дней между проверками файловой системы.
$ sudo tune2fs -i 2d / dev / sda10tune2fs 1.42.13 (17 мая 2015 г.) Установка интервала между проверками 172800 секунд.
Теперь, если вы запустите эту команду ниже, интервал проверки файловой системы для /dev/sda10
теперь установлен.
$ sudo tune2fs -l / dev / sda10.
Файловая система создана: 31 июля, вс, 16:19:36, 2016. Время последнего монтирования: понедельник, 6 ноября, 10:25:28 2017 г. Время последней записи: 6 ноября, понедельник, 13:49:50, 2017. Количество маунтов: 432. Максимальное количество маунтов: 4. Последняя проверка: вс 31 июля, 16:19:36 2016. Интервал проверки: 172800 (2 дня)Следующая проверка после: Вт, 2 августа, 16:19:36 2016. Lifetime пишет: 2834 гб. Зарезервированные блоки uid: 0 (пользователь root) Зарезервированные блоки gid: 0 (корень группы) Первый индекс: 11. Размер inode: 256. Требуемый дополнительный размер: 28. Желаемая доплата: 28. Индекс журнала: 8. Первый бесхозный индексный дескриптор: 6947324. Хэш каталога по умолчанию: half_md4. Начальное значение хэша каталога: 9da5dafb-bded-494d-ba7f-5c0ff3d9b805. Резервное копирование журнала: блоки inode.
Чтобы изменить параметры ведения журнала по умолчанию, используйте -J
вариант. У этой опции также есть подопции: size = размер журнала (устанавливает размер журнала), устройство = внешний журнал (указывает устройство, на котором он хранится) и location = журнал-расположение (определяет местонахождение журнала).
Обратите внимание, что для файловой системы можно установить только один из параметров размера или устройства:
$ sudo tune2fs -J size = 4 МБ / dev / sda10.
И последнее, но не менее важное: метку тома файловой системы можно установить с помощью параметра -L
вариант, как показано ниже.
$ sudo tune2fs -L "КОРЕНЬ" / dev / sda10.
debugfs это простой интерактивный отладчик файловых систем ext2 / ext3 / ext4 на основе командной строки. Он позволяет вам изменять параметры файловой системы в интерактивном режиме. Чтобы просмотреть подкоманды или запросы, введите "?"
.
$ sudo debugfs / dev / sda10.
По умолчанию файловая система должна быть открыта в режиме чтения-записи, используйте -w
флаг, чтобы открыть его в режиме чтения-записи. Чтобы открыть его в катастрофическом режиме, используйте -c
вариант.
debugfs 1.42.13 (17 мая 2015 г.) debugfs:? Доступные запросы debugfs: show_debugfs_params, params Показать параметры debugfs. open_filesys, открыть Открыть файловую систему. close_filesys, close Закройте файловую систему. freefrag, e2freefrag Сообщает о фрагментации свободного пространства. особенность, особенности Установка / печать функций суперблока. dirty_filesys, dirty Отметить файловую систему как грязную. init_filesys Инициализировать файловую систему (УНИЧТОЖАЕТ ДАННЫЕ) show_super_stats, stats Показать статистику суперблока. ncheck Сделать inode-> перевод имени. icheck Сделайте блокировку -> перевод inode. change_root_directory, chroot ...
Чтобы показать фрагментацию свободного пространства, используйте FreeFrag просьба, вот так.
debugfs: FreeFrag
Устройство: / dev / sda10. Размер блока: 4096 байт. Всего блоков: 86154752. Свободных блоков: 22387732 (26,0%) Мин. свободный размер: 4 КБ Макс. свободный объем: 2064256 КБ. Средн. свободный объем: 2664 КБ. Num. свободный экстент: 33625 ГИСТОГРАММА СВОБОДНЫХ РАЗМЕРОВ ЭКСТЕНТОВ: Диапазон размеров экстента: Свободные экстенты Процент свободных блоков 4K... 8K-: 4883 4883 0,02% 8K... 16K-: 4029 9357 0,04% 16K... 32K-: 3172 15824 0,07% 32K... 64 КБ: 2523 27916 0,12% 64 КБ... 128 КБ: 2041 45142 0,20% 128 КБ... 256 КБ: 2088 95442 0,43% 256 КБ... 512 КБ: 2462 218526 0,98% 512 КБ... 1024 КБ: 3175 571055 2,55% 1 млн... 2M-: 4551 1609188 7,19% 2M... 4M-: 2870 1942177 8,68% 4M... 8M-: 1065 1448374 6,47% 8M... 16M-: 364 891633 3.98% 16M... 32M-: 194 984448 4,40% 32M... 64M-: 86 873181 3.90% 64M... 128M-: 77 1733629 7,74% 128M... 256M-: 11 490445 2,19% 256M... 512M-: 10 889448 3,97% 512M... 1024M-: 2 343904 1,54% 1G... 2G-: 22 10217801 45,64% debugfs:
Вы можете изучить множество других запросов, таких как создание или удаление файлов или каталогов, изменение текущего рабочего каталога и многое другое, просто прочитав предоставленное краткое описание. Чтобы выйти из debugfs, используйте q
запрос.
На этом пока все! У нас есть коллекция связанных статей в разных категориях ниже, которые вы найдете полезными.
Поддержание работоспособности файловой системы всегда улучшает общую производительность вашей системы Linux. Если у вас есть какие-либо вопросы или дополнительные мысли, которыми вы можете поделиться, используйте форму комментариев ниже.