Как выполнить дефрагментацию в Linux

Как выполнить дефрагментацию в Linux

Рассказали, как быстро сделать дефрагментацию диска в Linux, привели команды для выполнения дефрагментации. Пошаговая инструкция по выполнению этой процедуры позволит вам не допустить ошибок при взаимодействии с терминалом.

Как оценить, нужно ли проводить дефрагментацию

Пользователю нужно выполнить ряд действий, чтобы оценить, нужна ли дефрагментация в Linux. К примеру, провести анализ производительности системы или проверить состояние жёсткого диска. Если проблем нет, то дефрагментацию можно отложить. При снижении быстродействия компьютера рекомендуется провести процедуру.

Иногда система работает медленнее обычного, определённые файлы и приложения загружаются дольше именно из-за фрагментации данных. Проверка состояния файловой системы поможет вам оценить необходимость дефрагментации.

Вы сможете выполнить такую проверку при помощи утилиты fsck с параметром -f и опцией -n. Итоговая команда в терминале должна будет выглядеть так:

sudo fsck -fn /dev/sdb1

Выполнение этой команды приведёт к запуску проверки. То есть утилита fsck проведёт проверку файловой системы раздела /dev/sdb1 и выведет её результаты на экран. Поскольку в данном случае используется опция -n, то в файловую систему не будут внесены изменения.

Под /dev/sdb1 укажите тот диск, который вы желаете проверить. Посмотреть программный адрес вы сможете в специальном файловом менеджере, запросив свойства носителя.

Пример использования fsck
Пример использования
Пример использования fsck (file system check) — утилиты для проверки и восстановления файловых систем Linux

Фрагментация по результатам рассматриваемой команды указывается в скобках и нередко демонстрирует мизерные значения (не более 1 %). Однако иногда процент фрагментированных данных доходит до 10 % — в таком случае важно переназначить поврежденные секторы на жёстком диске.

Способы проведения дефрагментации

Для дефрагментации Hard Disk Drive можно воспользоваться утилитой e4defrag, которая входит в пакет e2fsprogs. Если у вас нет его в системе, то тогда просто введите следующую команду в терминале:

sudo apt install e2fsprogs

Она инициирует автоматическую установку пакета. Поэтому после её выполнения вы можете провести дефрагментацию выбранного вами раздела (например, ntfs). Но перед этим вам придётся выполнить ещё одну команду:

sudo mount /dev/sdb1 /mnt

Если вы уже её выполнили, то тогда сразу переходите к дефрагментации в файловой системе ext4, которую можно запустить при помощи следующей команды: 

sudo e4defrag /dev/sdb1

Длительность дефрагментации в Линукс напрямую связана с состоянием Ext4. Если в ней присутствует много разрозненных файлов, то тогда вам придется долго ждать (3-4 часа). Если же вы редко пользуетесь компьютером и у вас мало приложений, то тогда работа будет выполнена за час или два. По завершении процесса вам нужно будет ещё раз проверить состояние фрагментации файлов — если значение равно нулю, то вы достигли своей цели и можете приступать к использованию устройства. Если же нет, то тогда вам придётся повторно провести Linux defragmentation. Проводить процедуру стоит с особой осторожностью, чтобы не допустить ошибок.

Если же захотите провести дефрагментацию не в Ext4, а в filesystem xfs, то тогда вам придется воспользоваться другой утилитой (xfsprogs). Установите её через команду:

emerge sys-fs/xfsdump sys-fs/xfsprogs

затем запустите специальную программу путём ввода:

xfs_db -r /устройство

или через код:

xfs_db -r /dev/sda3

и далее в появившейся консоли введите:

xfs_db> frag

После выполнения команды может появиться следующее сообщение на экране:

actual 170812, ideal 22388, fragmentation factor 83.80%

Оно информирует вас о текущем состоянии фрагментации диска. Поэтому не стоит его игнорировать. Если вы получили данное сообщение, то тогда нажмите на q, чтобы выйти и запустить команду для defragmentation:

xfs_fsr -v /dev/sda3

Если на экране появилось сообщение:

XFS_IOC_SWAPEXT failed: ino=434319615: Недопустимый аргумент
ino=43431961

то это указывает на то, что присутствуют ошибки в файловой системе. Необходимо их устранить и снова инициировать процесс по перераспределению файлов.

Если же у вас не будет проблем с проведением процедуры, то тогда вы увидите на экране:

Successfully defragmented

Также в консоли будут отсутствовать сообщения об ошибке.

Если вы хотите убедиться, что фактор фрагментации уменьшился, то тогда воспользуйтесь xfs_db и xfs_fsr. Они позволят вам проанализировать filesystem.

Обратите внимание!

Дефрагментация в Ubuntu проводится только тогда, когда уровень фрагментации превышает 10% , и при этом наблюдается ощутимое снижение скорости работы системы. От нее не будет пользы при наличии минимального количества разрозненных файлов.

Заключение

Считается, что Ext4 file system не подвержена значительной фрагментации. Поэтому многие отказываются от дефрагментации в «Линуксе», и напрасно. Эта процедура способна оптимизировать основные логические структуры раздела диска и увеличить производительность системы. Да и времени на нее уходит немного. Особенно если проводить ее по собственному расписанию.

Что будем искать? Например,VPS-сервер

Мы в социальных сетях