e2fsprogs — набор служебных утилит с открытым исходным кодом для работы с файловыми системами EXT2, EXT3 и EXT4. Утилиты предназначены для проверки целостности файловых систем, поиска и исправления ошибок, изменения настроек, форматирования.
В состав данного пакета входит утилита e2fsck, которая позволяет проверить раздел жесткого диска с файловой системой EXT2, EXT3 и EXT4 на ошибки в Linux-системах.
Если при загрузке роутера в журнале появилась запись вида:
[W] Dec 15 02:27:50 ndm: kernel: EXT4-fs (sdb3): warning: maximal mount count reached, running e2fsck is recommended
Это значит, что драйвер EXT4-fs сообщает о максимальном количестве монтирований/подключений раздела sdb3 в системе.
При помощи утилиты tune2fs можно проверить максимальное количество монтирования раздела и сколько раз он уже был смонтирован:
/ # tune2fs -l /dev/sdb3 | grep -E 'Mount|Maximum'
Mount count: 8
Maximum mount count: 30
TIP: Примечание. Если утилита tune2fs у вас не установлена, то тогда выполните:
opkg install tune2fs
Installing tune2fs (1.47.0-2) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/tune2fs_1.47.0-2_mipsel-3.4.ipk
Configuring tune2fs.
В файловых системах EXT2, EXT3 и EXT4 имеется параметр max-mount-count и если его превысить, в логе будем видеть выше описанное предупреждение.
Чтобы сбросить количество монтирований, убрать предупреждение при загрузке раздела при помощи утилиты e2fsck, необходимо будет установить пакет с утилитами e2fsprogs.
1. Предварительно нужно подготовить внешний USB-накопитель и установить на него систему пакетов репозитория Entware. Как это сделать, подробно показано в инструкции "Установка системы пакетов репозитория Entware на USB-накопитель".
2. Установите пакет e2fsprogs.
Для этого выполните команду opkg install e2fsprogs:
/ # opkg install e2fsprogs
Installing e2fsprogs (1.44.3-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/e2fsprogs_1.44.3-1_mipsel-3.4.ipk
Installing libuuid (2.32.1-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libuuid_2.32.1-1_mipsel-3.4.ipk
Installing libext2fs (1.44.3-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libext2fs_1.44.3-1_mipsel-3.4.ipk
Installing libblkid (2.32.1-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libblkid_2.32.1-1_mipsel-3.4.ipk
Installing libss (1.44.3-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libss_1.44.3-1_mipsel-3.4.ipk
Installing libcomerr (1.44.3-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libcomerr_1.44.3-1_mipsel-3.4.ipk
Configuring libuuid.
Configuring libblkid.
Configuring libcomerr.
Configuring libss.
Configuring libext2fs.
Configuring e2fsprogs.
3. Проверим доступность утилиты e2fsck и ее опций:
/ # e2fsck -h
e2fsck: invalid option -- 'h'
Usage: e2fsck [-panyrcdfktvDFV] [-b superblock] [-B blocksize]
[-l|-L bad_blocks_file] [-C fd] [-j external_journal]
[-E extended-options] [-z undo_file] device
Emergency help:
-p Automatic repair (no questions)
-n Make no changes to the filesystem
-y Assume "yes" to all questions
-c Check for bad blocks and add them to the badblock list
-f Force checking even if filesystem is marked clean
-v Be verbose
-b superblock Use alternative superblock
-B blocksize Force blocksize when looking for superblock
-j external_journal Set location of the external journal
-l bad_blocks_file Add to badblocks list
-L bad_blocks_file Set badblocks list
-z undo_file Create an undo file
4. Переходим к проверке, сбросу количества монтирований раздела жесткого диска с файловой системой EXT2/3/4.
Для начала проверим доступность всех разделов жесткого диска:
/ # mount | grep sd
/dev/sdc1 on /tmp/mnt/f7bf5f53-ff93-d401-30ae-5f53ff93d401 type ext4 (rw,relatime,data=ordered)
/dev/sdc1 on /opt type ext4 (rw,relatime,data=ordered)
/dev/sdb1 on /tmp/mnt/01D477A2F4778D70 type tntfs (rw,nosuid,noexec,noatime,uid=0,gid=1000,umask=02,allow_utime=0020,nls=utf8,min_prealloc_size=64k,max_prealloc_size=869092348,readahead=4M,perm,user_xattr,case_insensitive,fail_safe,hidden=show,dotfile=show,protected_system=ignore,errors=continue,mft_zone_multiplier=1)
/dev/sdb3 on /tmp/mnt/274659ce-3efd-0f7a-3de7-ab72ca4628b9 type ext4 (rw,nosuid,noexec,noatime,data=ordered)
/dev/sda1 on /tmp/mnt/01D44C003E14AB80 type tntfs (rw,nosuid,noexec,noatime,uid=0,gid=1000,umask=02,allow_utime=0020,nls=utf8,min_prealloc_size=64k,max_prealloc_size=117219324,readahead=4M,perm,user_xattr,case_insensitive,fail_safe,hidden=show,dotfile=show,protected_system=ignore,errors=continue,mft_zone_multiplier=1)
5. Выбираем нужный раздел жесткого диска с файловой системой EXT2/3/4, который упоминается в журнале [W] Dec 15 02:27:50 ndm: kernel: EXT4-fs (sdb3): warning: maximal mount count reached, running e2fsck is recommended и отмонтируем его:
/ # umount /dev/sdb3
6. Проверяем отмонтированный раздел жесткого диска с файловой системой EXT2/3/4 на ошибки и делаем сброс количество монтирований раздела:
/ # e2fsck -y /dev/sdb3
e2fsck 1.44.3 (10-July-2018)
EXT4: ignoring check interval, broken_system_clock set
EXT4: clean, 1142/13221888 files, 2499351/26420736 blocks
Команду выполняем с однобуквенным ключом (опцией) '-y Assume "yes" to all questions', которая позволяет выполнить все необходимые действия с разделом в автоматическом режиме.
7. После проверки монтируем раздел с файловой системой EXT2/3/4 обратно:
/ # mount /dev/sdb3 /tmp/mnt/274659ce-3efd-0f7a-3de7-ab72ca4628b9
NOTE: Важно! Обязательно указываем точку монтирования. В нашем примере это mount /dev/sdb3 /tmp/mnt/274659ce-3efd-0f7a-3de7-ab72ca4628b9
У вас точка монтирования будет другой.
8. Проверяем, корректно ли примонтировался раздел:
/ # mount | grep sd
/dev/sdc1 on /tmp/mnt/f7bf5f53-ff93-d401-30ae-5f53ff93d401 type ext4 (rw,relatime,data=ordered)
/dev/sdc1 on /opt type ext4 (rw,relatime,data=ordered)
/dev/sdb1 on /tmp/mnt/01D477A2F4778D70 type tntfs (rw,nosuid,noexec,noatime,uid=0,gid=1000,umask=02,allow_utime=0020,nls=utf8,min_prealloc_size=64k,max_prealloc_size=869092348,readahead=4M,perm,user_xattr,case_insensitive,fail_safe,hidden=show,dotfile=show,protected_system=ignore,errors=continue,mft_zone_multiplier=1)
/dev/sda1 on /tmp/mnt/01D44C003E14AB80 type tntfs (rw,nosuid,noexec,noatime,uid=0,gid=1000,umask=02,allow_utime=0020,nls=utf8,min_prealloc_size=64k,max_prealloc_size=117219324,readahead=4M,perm,user_xattr,case_insensitive,fail_safe,hidden=show,dotfile=show,protected_system=ignore,errors=continue,mft_zone_multiplier=1)
/dev/sdb3 on /tmp/mnt/274659ce-3efd-0f7a-3de7-ab72ca4628b9 type ext4 (rw,relatime,data=ordered)
9. Можете перезагрузить роутер, чтобы убедиться в отсутствие предупреждения при загрузке в журнале.
NOTE: Важно! Поддержка пакета осуществляется в теме форума разработчиков — e2fsprogs - набор служебных утилит для работы с файловыми системами ext2/3/4.