Дефрагментация диска для linux

Дефрагментация файловой системы Ext4 с помощью утилиты e4defrag

Различные операционные системы используют разные файловые системы. Например, GNU/Linux поддерживает большое количество файловых систем, но наиболее часто используется Ext4 (которая в будущем возможно будет заменена на Btrfs). И когда речь идет о файловых системах, первое, что приходит в голову — это фрагментация, которая оказывает прямое воздействие на производительность файловой системы.

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

Если операционная система не может найти достаточно большой кусок свободного пространства, данные записываются отдельными блоками и оказываются распределенными по жесткому диску. В результате головке жесткого диска требуется больше времени для чтения данных, так как время тратится на перемещение ее к каждому блоку данных.

Некоторые источники утверждают, что файловым системам GNU/Linux, таким как Ext4, не требуется дефрагментация (в отличие от файловых систем для Windows), так как они спроектированы таким образом, что минимизируют фрагментацию данных.

Это, в некоторой степени, действительно так. Но есть эксперты, такие как Такаши Сато, экспериментально проверившие влияние фрагментации на производительность основных файловых систем GNU/Linux.
Он написал прекрасную статью под названием «ext4 online defragmentation» (последние ее версии можно найти здесь ), в которой можно найти следующие выводы:

«Было создано 50 фрагментированных файлов размером 1 Гб (в файловой системе ext4). Перед и после фрагментации замерялась скорость чтения данных. »
«. Замеры показали, что для одного файла размером 1 Гб дефрагментация может повысить производительность при чтении на 25%. После дефрагментации всех файлов скорость доступа к ним повысилась на 29%».
Такаши Сато и Акира Фуджита создали простую в использовании утилиту командной строки для дефрагментации файловой системы ext4. Она называется «e4defrag», и начиная с Ubuntu 12.04 LTS она предустанавливается в системе по умолчанию. Но необходимо помнить, что она работает только с файловой системой ext4″.

Использование e4defrag

Очень просто. Откройте терминал и введите следующую команду:

«location» может быть любым смонтированным устройством с файловой системой ext4 (включая корневую файловую систему), а также любой директорией или даже отдельным файлом внутри файловой системы ext4.

Получение отчета

Еще одна прекрасная функция e4defrag — возможность сканирования смонтированной файловой системы ext4 (директории или файла) с получением отчета, в котором указывается степень фрагментации. Основываясь на этом показателе, e4defrag выдаст вам рекомендации, требуется ли дефрагментация данной системы.

Замечание: если степень дефрагментации находится в диапазоне 0-30, дефрагментация не требуется. При степени фрагментации более 56% дефрагментация обязательна.

На скриншоте свежеустановленная операционная система, поэтому степень фрагментации равна нулю.

Сканирование запускается с помощью следующей команды:

Несколько примеров

Сканирование и дефрагментация своей домашней директории:

Сканирование и дефрагментация корневой файловой системы:

Замечание: в процессе дефрагментации выводятся сообщения, сообщающие о выполнении операций. Если вы там увидите сообщения с пометкой «Failure», не переживайте, это нормально, так как некоторые системные файлы невозможно переместить.

Не забывайте, что в GNU/Linux все ваши файлы смонтированы в корневой файловой системе («/»), поэтому если у вас смонтировано несколько файловых систем ext4, они также будут дефрагментированы, что, в зависимости от их размера и количества файлов, может занять достаточно продолжительное время.
Если у вас несколько разделов с файловой системой ext4, и вы хотите дефрагментировать их индивидуально, но не знаете имя устройства (/dev/sda. ), вы можете сделать это, воспользовавшись приведенными ниже инструкциями.

Читайте также:  Asus x101h восстановление windows

1. Введите приведенную ниже команду в терминале, чтобы получить список имеющихся разделов и их файловых систем.

2. Затем в выводе команды найдите поле «id». Разделы, у которых в этом поле стоит «83», имеют файловую систему ext4. Затем в этой же строке найдите столбец «Device», там вы увидите имя устройства. На приведенном ниже скриншоте у меня два таких устройства — «sda5» и «sda6».

3. Затем просто скопируйте имя устройства и вставьте его в приведенную ниже команду:

В зависимости от типа раздела (установлена или нет на нем операционная система), вам может понадобиться «sudo».

Если вас заинтересовала эта утилита и ее возможности, более подробную информацию можно получить, прочитав краткое руководство:

Источник

Как дефрагментировать разделы в Linux?

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

Дефрагментация — это удобный процесс упорядочивания файлов на диске. так что фрагменты каждого из них не будут оценены таким образом, что файл будет непрерывным и без пробелов внутри него.

В основном система упорядочивает и отображает положение файлов для оптимизации работы диска.

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

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

Хотя многие говорят, что файловые системы Linux, в основном те, которые основаны на расширенных версиях или других системах журналирования, таких как JFS, ZFS, XFS или ReiserFS, им не нужна дефрагментация, правда в том, что, со временем, его работоспособность оказывается медленнее из-за разброса данных.

Хотя влияние этого никогда не бывает столь драматичным, как в системах на основе FAT и NTFS, это то, что мы можем легко решить в системе, если воспользуемся таким инструментом, как e4defrag.

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

Использование утилиты e2fsprogs для дефрагментации

E4defrag — это утилита, доступная в большинстве дистрибутивов Linux, включая Ubuntu, в пакете e2fsprogs.

Есть много других инструментов, которые работают аналогичным образом, но e4defrag довольно прост в использовании.

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

В случае Debian, Ubuntu и производные мы устанавливаем e2fsprogs с этой командой

В случае Fedora, openSUSE, CenOS и производные, которые мы устанавливаем с:

В случае Arch Linux и производные, которые мы устанавливаем с:

Читайте также:  Создание загрузочной флешки windows линукс

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

Чтобы использовать инструмент, мы должны открыть терминал и выполнить следующую команду:

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

Если это число достигает значения выше 30, рекомендуется попытаться уменьшить его с помощью E4defrag, а если оно превышает значение 60, необходимо действовать как можно быстрее.

Чтобы дефрагментировать диск, запустите приложение с помощью следующей команды, заменив / путь / раздела / на имя раздела:

Хорошо, если вы хотите выполнить процесс на всем устройстве, замените «Устройство» по названию желаемого устройства:

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

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

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Любители Linux » GNU / Linux » Системное администрирование » Как дефрагментировать разделы в Linux?

Источник

Русские Блоги

Как дефрагментировать диски в Linux

Существует миф, что диски Linux никогда не нужно дефрагментировать. В большинстве случаев это так, в основном потому, что вы используете отличную журнальную систему (ext2, 3, 4 и т.д.) для работы с файловой системой. Однако в некоторых особых случаях фрагменты все равно будут сгенерированы. Если это произойдет с вами, решение простое.

Что такое фрагментация диска

Файловая система обновляет файлы блоками, и если эти блоки не соединены в единый блок, а распределены по всем углам диска, будут сформированы фрагменты диска. Это верно для файловых систем FAT и FAT32. В NTFS эта ситуация улучшается, но вряд ли в Linux (extX). Вот причины:

В файловых системах, таких как FAT и FAT32, файлы записываются на диск рядом друг с другом. Между файлами нет места для роста или обновления:

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

Файловая система журнала Linux использует другую схему. В отличие от файлов, расположенных рядом друг с другом, каждый файл распределяется по диску, оставляя много свободного места между каждым файлом. Это оставляет много места для обновления и увеличения файлов, а фрагментация происходит редко.

Кроме того, как только происходит фрагментация, большинство файловых систем Linux будут пытаться снова объединить файлы и блоки.

Дефрагментация диска в Linux

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

  • Если вы редактируете большие видеофайлы или фотографии в формате RAW, но дисковое пространство ограничено
  • Если вы используете старое оборудование, например старый ноутбук, ваш жесткий диск будет маленьким.
  • Если ваш диск начинает заполняться (используется примерно 85%)
  • Если в вашем домашнем каталоге много небольших разделов

Лучшее решение — купить жесткий диск большого размера. Если это невозможно, пригодится дефрагментация диска.

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

fsck Команда сделает это за вас, другими словами, если вы можете запустить ее на LiveCD, то ее можно использоватьВсе несмонтированные разделы

Читайте также:  Rivatuner statistics server windows 10 64 bit

этот момент очень важен:Запуск fsck в смонтированном разделе серьезно повредит ваши данные и диск

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

Отказ от ответственности: Автор этой статьи и этого сайта не несет ответственности за ваши файлы, данные, системы или другой ущерб. Рисковать нужно самому. Если вы продолжите, вам нужно это принять и понять.

Вы должны загрузиться в живую сессию (используя установочный диск, аварийный компакт-диск и т. Д.) ИУдалитьЗапускаем по разделу fsck . Чтобы проверить, есть ли какие-либо проблемы, выполните следующую команду с правами root:

Вы можете запустить следующую команду, чтобы найти путь к разделу

Один работает в смонтированном разделе fsck (Относительно) безопасный метод — использовать -n выключатель. Это приведет к проверке файловой системы раздела только для чтения без какой-либо записи. Конечно, это не очень безопасно, вы должны сделать это после создания резервной копии. В ext2 запустите

Это дает много результатов, и причиной большинства сообщений об ошибках является то, что раздел уже смонтирован. Наконец, будет дана информация, относящаяся к фрагментам.

Если уровень фрагментации превышает 20%, следует начать дефрагментацию диска.

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

Что вам нужно сделать, это сделать резервную копию васвсеФайлы и данные на другой жесткий диск (вручнуюкопироватьОни), отформатируйте раздел, а затем скопируйте его (не используйте программу резервного копирования). Файловая система с журналированием обрабатывает их как новые файлы и аккуратно помещает их на диск без фрагментации.

Для резервного копирования файлов запустите

Важно помнить о звездочке (*).

Примечание. Обычно считается, что для копирования больших файлов или большого количества файлов используйте dd Пожалуй, лучший. Это очень низкоуровневая операция, она скопирует все, включая свободное место и даже оставшийся мусор. Это не то, что мы хотим, поэтому лучше использовать cp 。

Теперь вам нужно только удалить исходный файл.

Необязательный: Вы можете использовать следующую команду, чтобы заполнить свободное пространство нулями. Для этого также можно использовать форматирование, но если вы не копируете весь раздел, а просто копируете большие файлы (которые обычно становятся фрагментированными), вам не следует использовать метод форматирования.

Подождите, пока это закончится. ты можешь использовать это pv Следить за прогрессом.

Вот и все, просто удалите временный файл, использованный для заполнения.

Подождите, пока вы освободите свободное место (или пропустите этот шаг). Скопируйте файл еще раз, первый cp Команда переворачивается:

Используйте e4defrag

Если вам нужен простой способ, установите e2fsprogs ,

Запускаем в разделе с правами root e4defrag . Если вы не хотите или не можете размонтировать раздел, вы можете использовать его точку монтирования вместо пути. Чтобы дефрагментировать всю систему, запустите:

В случае монтирования нет гарантии успеха (вы также не должны использовать свою систему во время ее работы), но это намного проще, чем копирование всех файлов, а затем копирование обратно.

подводить итоги

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

Эта статья состоит изLCTT Оригинальная компиляция,Linux Китай Запуск Honor

Источник

Оцените статью