Thank you for reading this post, don't forget to subscribe!
Программа fsck (расшифровывается как File System Consistency Check) используется для проверки и восстановления одной или нескольких файловых систем Linux.
Эта проверка запускается автоматически во время загрузки при обнаружении несоответствий в файловой системе.
Также, при необходимости, она может быть запущена вручную.
Вы можете использовать команду fsck для восстановления поврежденных файловых систем, когда система не загружается, или раздел не может быть смонтирован, или если он стал доступен только для чтения.
Примечание:
Выполняйте fsck на немонтированной файловой системе, чтобы избежать повреждения данных в ФС.
Для больших файловых систем выполнение fsck может занять много времени в зависимости от скорости системы и размера диска.
Когда проверка файловой системы завершена, fsck возвращает один из следующих кодов завершения:
КОД ЗАВЕРШЕНИЯ | ОПИСАНИЕ |
---|---|
0 | Нет ошибок |
1 | Исправлены ошибки файловой системы |
2 | Система должна быть перезагружена |
4 | Ошибки файловой системы, оставленные без исправления |
8 | Операционная ошибка |
16 | Ошибка использования или синтаксиса |
32 | Проверка отменяется по запросу пользователя |
128 | Ошибка в общей библиотеке |
Общий синтаксис:
fsck [option] [device or partition or mount point]
Повреждение файловой системы EXT4
Мы намеренно повредим файловую систему EXT4, выполнив приведенную ниже команду.
Она удаляет случайно выбранные блоки метаданных файловой системы
Примечание: Пожалуйста, не тестируйте это на производственном сервере, так как это может сильно повредить ваши данные.
sudo umount /data
Повреждение файловой системы ext4.
sudo dd if=/dev/zero of=/dev/sdb1 bs=10000 skip=0 count=1
1+0 records in
1+0 records out
10000 bytes (10 kB, 9.8 KiB) copied, 0.00394663 s, 2.5 MB/s
sudo mount /data
mount: /data: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error.
Восстановление поврежденной файловой системы EXT4 и EXT3
Вы можете восстановить поврежденную файловую систему ext3 или ext4 в работающей системе Linux. fsck работает как обертка для команд fsck.ext3 и fsck.ext4.
Примечание: Если вы не можете размонтировать некоторые тома без рута из-за проблемы, загрузите систему в однопользовательский режим или режим rescue для восстановления.
Шаг-1: Размонтируйте устройство, на котором вы хотите запустить fsck.
sudo umount /dev/sdb1
Шаг-2: Запустите fsck для восстановления файловой системы:
sudo fsck.ext4 -p /dev/sdb1
-p : Автоматически устранить все проблемы, которые могут быть безопасно устранены без вмешательства пользователя.
Если вышеуказанный вариант не устраняет проблему, выполните команду fsck в следующем формате.
sudo fsck.ext4 -fvy /dev/sdb1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
e2fsck 1.45.6 (20-Mar-2020) ext2fs_open2: Bad magic number in super-block fsck.ext4: Superblock invalid, trying backup blocks... Resize inode not valid. Recreate? yes Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information Block bitmap differences: -65536 -65538 -(65541--65542) -(65546--65547) -(65549--65550) -(65555--65557) . . Fix? yes Free inodes count wrong for group #0 (8181, counted=8165). Fix? yes Free inodes count wrong (327669, counted=327653). Fix? yes Padding at end of inode bitmap is not set. Fix? yes /dev/sdb1: ***** FILE SYSTEM WAS MODIFIED ***** 27 inodes used (0.01%, out of 327680) 0 non-contiguous files (0.0%) 0 non-contiguous directories (0.0%) # of inodes with ind/dind/tind blocks: 0/0/0 Extent depth histogram: 19 43294 blocks used (3.30%, out of 1310464) 0 bad blocks 0 large files 16 regular files 2 directories 0 character device files 0 block device files 0 fifos 0 links 0 symbolic links (0 fast symbolic links) 0 sockets ------------ 18 files |
Шаг-3: Как только файловая система будет восстановлена, смонтируйте раздел.
sudo mount /dev/sdb1
2) Восстановление тома LVM с помощью fsck
fsck можно запускать на логических томах LVM так же, как и на файловых системах стандартных разделов.
Для восстановления LVM-раздела следуйте приведенной ниже процедуре:
При необходимости вы также можете восстановить/восстановить том lvm вместо его ремонта.
Шаг-1: Убедитесь, что конкретный том LVM находится в активном состоянии для запуска fsck.
Чтобы проверить состояние LVM, выполните:
sudo lvscan
1 2 3 |
inactive '/dev/myvg/vol01' [1.00 GiB] inherit ACTIVE '/dev/rhel/swap' [2.07 GiB] inherit ACTIVE '/dev/rhel/root' [<26.93 GiB] inherit |
Если он “inactive
“, активируйте его, выполнив следующую команду.
sudo lvchange -ay /dev/myvg/vol01 -v
1 2 3 4 5 |
Activating logical volume myvg/vol01. activation/volume_list configuration setting not defined: Checking only host tags for myvg/vol01. Creating myvg-vol01 Loading table for myvg-vol01 (253:2). Resuming myvg-vol01 (253:2). |
Шаг-2: Размонтируйте устройство или файловую систему, на которой вы хотите запустить fsck.
sudo umount /dev/myvg/vol01
Шаг-3: Запустите fsck для восстановления файловой системы.
Для запуска fsck необходимо ввести путь к LVM-тому, а не к реальному физическому разделу.
sudo fsck.ext4 -fvy /dev/myvg/vol01
e2fsck 1.45.6 (20-Mar-2020) /dev/myvg/vol01: clean, 24/65536 files, 14094/262144 blocks
- -f : Принудительная проверка, даже если файловая система кажется чистой.
- -y : Предполагать ответ `yes’ на все вопросы; позволяет использовать e2fsck неинтерактивно.
- -v : Подробный режим
Шаг-4: Как только файловая система будет восстановлена, смонтируйте раздел.
sudo mount /apps