Дефрагментация Ext4
Существует заблуждение, что файловые системы в Linux настолько совершенны, что не требуют дефрагментации. На самом деле, еще как требуют! Вы можете легко узнать уровень фрагментации и при необходимости провести соответствующие сервисные процедуры с помощью программы e4defrag.
e4defrag умеет делать потрясающие вещи — например, дефрагментировать содержимое отдельных директорий или работать на корневой файловой системе без размонтирования.
Установка e4defrag
Все просто:
apt-get install e2fsprogs
Проверка степени фрагментации
Системные файлы в /bin и /usr/bin вряд ли часто перемещаются, поэтому можно сэкономить время и проверить лишь домашнюю директорию:
e4defrag -c ~/
На экране будет показано число. Если оно больше 56, то пора заняться дефрагментацией.
Дефрагментация в Linux
Запустите e4defrag и в качестве единственного аргумента укажите стартовую точку (/ — весь диск, /home — только домашние директории всех пользователей, /var/log — системные журналы и т.д.
Дефрагментация и SSD
Если у вас файловая система Ext4 на SSD, необходимости в дефрагментации нет, даже если e4defrag показывает высокий уровень разброса секторов. Более того, дефрагментация SSD очень вредна, так как существенно сокращает время жизни диска.
Что еще можно сделать
На сервере дефрагментацию можно удобно запланировать и вызывать автоматически, в часы, когда сервер находится под наименьшей нагрузкой (обычно 4-5 часов утра). Делается это с помощью команды crontab -e.
Комментарии
Чингачгук
17 июня, 2015 - 06:33
Не удалось найти пакет e4defrag
Ubuntu 14.04 LTS
pomodor
17 июня, 2015 - 11:02
Прошу прощения за опечатку. Ставить нужно пакет e2fsprogs. Точнее, не нужно — он уже установлен (по крайне мере в Debian). Просто получайте рута и запускайте e4defrag.
comrade
17 июня, 2015 - 18:29
Раздел ext4 на hdd. Debian 6 на нём. Полтора года интенсивного использования. Потом ещё три года менее интенсивного. В основном, свободное место на нём использовалось для хранения резервных копий иксубунты, несколько раз заполнялось-стиралось...
e4defrag -c написал:
Fragmentation score 0
dk
17 июня, 2015 - 23:11
А какой раздел — только / или / и /home на одном разделе? Или может быть сие имеет смысл для сервера где в /var/www (или где) регулярная текучка?
comrade
17 июня, 2015 - 23:16
/home тоже там. Но у меня в хоуме практически одни конфиги да шрифты.
Да, наверное только сервер с огромной текучкой ext4 укатает во фрагментацию:-)
Ааа! Я рам-диск использую – где возможно. Тоже влияет, наверняка.
pomodor
17 июня, 2015 - 23:39
Нет там никакой текучки. Статичные php-файлы обычно лежат, которые открываются только на чтение. Думаю, на сервере хорошо /tmp фрагментируется и там, где базы MySQL валяются (/var/lib/mysql, кажется).
pomodor
17 июня, 2015 - 23:42
Вообще, такое впечатление, что для Ext4 работают какие-то внутренние механизмы, позволяющие противостоять фрагментации. Проверил из любопытства несколько серверов с большим аптаймом, только пара файлов в /var/log чуть фрагментировано.
Чингачгук
18 июня, 2015 - 20:31
Ну, в ext4 есть екстенты и отложенное многоблочное распределение, поэтому всё работает быстро и долго не фрагментируется. Слёзы наворачиваются на глаза, когда смотришь на убогую ntfs, которая и работает медленно с маленькими файлами (с большими скорость отличная), и фрагментируется в мгновение ока. В линюкс с этим всё хорошо. Даже старенькая jfs достаточно стойко держится против фрагментации.
Комментировать