Jump to content

e2fsprogs - набор служебных утилит для работы с файловыми системами ext2/3/4


Recommended Posts

 

Установка и настройка e2fsprogs

 

e2fsprogs набор служебных утилит с открытым исходным кодом для работы с файловыми системами ext2, ext3 и ext4Утилиты предназначены для проверки целостности файловых систем, поиска и исправления ошибок, изменения настроек, форматирования.

Рассмотрим вариант работы утилиты с фс ext 2/3/4 раздела накопителя. Если Вы часто перезагружаете роутер или выключили внезапно свет, при этом диск с разделами не был безопасно извлечен из системы, то при последующей загрузке интернет-центра, в логе можно увидел запись:

[W] Dec 15 02:27:50 ndm: kernel: EXT4-fs (sdb3): warning: maximal mount count reached, running e2fsck is recommended

Драйвер EXT4-fs сообщает, что раздел sdb3 достиг максимального количества монтирований \ подключений.

Проверяем максимальное количество монтирования раздела и сколько раз он уже был монтирован:

/ # tune2fs -l /dev/sdb3 | grep -E 'Mount|Maximum'
Mount count:              8
Maximum mount count:      30

В файловых системах ext2/3/4 имеется параметр 'max-mount-count' и если его превысить, в логе будем видеть варнинг. Т.к. в ndm нет встроенного 'e2fsck', система не может сделать проверку раздела.

Чтобы сбросить количество монтирований, убрать предупреждение при загрузке раздела, необходимо будет установить пакет с утилитами 'e2fsprogs': 

/ # opkg info e2fsprogs
Package: e2fsprogs
Version: 1.44.3-1
Depends: libc, libssp, librt, libpthread, libuuid, libext2fs
Status: install user installed
Section: utils
Architecture: mipsel-3.4
MD5Sum: 9e04041f932f0f9a5de6b57711d60cd0
Size: 197487
Filename: e2fsprogs_1.44.3-1_mipsel-3.4.ipk
Conffiles:
 /opt/etc/e2fsck.conf dece11e2b15f487d7d2bf9f96abe2eaaf9cd33f02d7b9725b9116023d7                                    786cac
Description: This package contains essential ext2 filesystem utilities which con                                    sists of
 e2fsck, mke2fs and most of the other core ext2 filesystem utilities.
Installed-Time: 1544833329

Внимание! Данный метод подходит для моделей ZyXEL Keenetic | Keenetic KN-**** с двумя USB или накопителями с двумя разделами ext2/3/4 и предустановленным Entware OPKG.

Версия из репозитория e2fsprogs 1.44.3-1:

http://bin.entware.net/mipselsf-k3.4/e2fsprogs_1.44.3-1_mipsel-3.4.ipk

Подготовка:

1. Создаем раздел EXT4 на жестком диске - Использование файловой системы EXT4 на USB-накопителях.

2. Установка и настройка Entware - в данной теме.

Обновление репозитория:

/ # opkg update
Downloading http://bin.entware.net/mipselsf-k3.4/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/entware
Downloading http://bin.entware.net/mipselsf-k3.4/keenetic/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/keendev

Устанавливаем пакет 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.i                                                                                               pk
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.i                                                                                               pk
Installing libblkid (2.32.1-1) to root...
Downloading http://bin.entware.net/mipselsf-k3.4/libblkid_2.32.1-1_mipsel-3.4.ip                                                                                               k
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.i                                                                                               pk
Configuring libuuid.
Configuring libblkid.
Configuring libcomerr.
Configuring libss.
Configuring libext2fs.
Configuring e2fsprogs.

Проверяем доступность утилиты 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

Проверяем монтирование разделов:

/ # 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)

Судя по логу: [W] Dec 15 02:27:50 ndm: kernel: EXT4-fs (sdb3): warning: maximal mount count reached, running e2fsck is recommended - необходимо осуществить проверку раздела 'sdb3'.

Размонтируем нужный раздел:

/ # umount /dev/sdb3

Производим проверку раздела, выбираем ключ ' -y Assume "yes" to all questions':

/ # 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

Вы можете выбрать и другие ключи, зависит от ситуации и проблемы.

Монтируем раздел обратно:

/ # mount /dev/sdb3 /tmp/mnt/274659ce-3efd-0f7a-3de7-ab72ca4628b9

Проверяем счетчик монтирования раздела:

/ # tune2fs -l /dev/sdb3 | grep -E 'Mount|Maximum'
Mount count:              1
Maximum mount count:      30

Как видим, значение сброшено. 

Далее можете перезагрузить роутер, чтобы убедиться в отсутствие варнинга при загрузке.

Также варнинги можно проверить командой:

/ # dmesg | grep warning

 

  • Thanks 7
Link to comment
Share on other sites

  • 5 years later...

Добрый день.

Есть ли возможность запускать данную утилиту удаленно через Web CLI (путь https://<сервер>/a), в контексте (config)> ? Или какие есть еще удаленные способы проверки флешки с EXT4. Установлен OPKG на другом разделе EXT4, роутер удаленно на даче, серый ip.

Обновлено: решил проблему через установку SSTP VPN сервера к подсети роутера, и запуск OPKG через SSH.

С уважением, Евгений.

Edited by Murzik Mishka
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...