Посоветуйте решение:
Как я понял, нужна именно дефрагментация каталогов
-------------------
Есть рабочий комп 16GB RAM / 2TBx2->RAID0 = 4TB ext4
Есть сервер для ловли skynet 1GB RAM / 512GBx2->RAID0 = 1TB ext4
На рабочем компе развёрнута куча SDK и требуется частое копирование/поиск всё время разных текстов в исходниках SDK. over 6млн файлов Часто копируется весь SDK с кучей директорий и текстов ядра, правится / заменяется часть и т.д. В работе десятки SDK.
cat /proc/mdstat md0 : active raid0 sdb1[1] sda1[0] 3907024896 blocks super 1.2 512k chunks
На сервере складируются множество файлов skynet, параллельно пишутся во много потоков, стираются и сильно дефрагментируются. over 2млн файлов
md0 : active raid0 sdb1[0] sdc1[1] 976768896 blocks 64k chunks
Задачи: поиск файлов по имени, по имени и содержимому, поиск в архивах по имени.
--------------
Даже после того, как произведён поиск и вроде бы каталоги считались в память, стоит запустить компиляцию, память занимается и следующий поиск опять идёт нереально медленно. Каталоги разбросаны по диску.. Не помогает копирование на другой диск/обратно, сжатие/разжатие.. Тысячи каталогов создаются вперемешку с файлами..
от e4defrag толку нет. Поиск по диску файла с определённым именем занимает столько времени, как будто комп рожает.
Вспоминаю fat32 и дефрагментацию программой (вроде Norton) с галочкой «директории вперёд». После этого поиск файла по имени занимал на 200GB диске считанные секунды. в NTFS и EXT4 с этим полная лажа.
Как оптимизировать именно директории в ext4 ?
------------------
Есть решение типа Paragon Total defrag, не пробовал, и для этого нужно выключать комп и в моём случае, это ненадолго. Опять будет дефрагментация, ведь будут полные копии SDK с 10-30% замещением текстов и т.д. Про кучи файлов skynet вообще молчу. Директорий на сервере немного. По имени поиск быстро. Но поиск по архивам с указанием имени файла - это тоже долго.
Может перейти на другую FS? В какой FS есть дефрагментация каталогов? Подскажите, у кого есть опыт?