Дефрагментация ZFS, возможна ли штатными средствами TrueNAS

AndrX

Dabbler
Joined
Aug 8, 2017
Messages
21
Имеется TN 13 c двумя HDD WD RED 2TB, в работе система уже 3 года.
На первом HDD работает две виртуалки bhyve и Jail Transmission.
Второй HDD - "теплое" хранение данных (медиасервер: фильмы, фото, резервные копии).

В последнее время все чаще обращаю внимание на то, что уменьшается скорость обмена с первым HDD.
Если с расшаренной папки на втором HDD можно скопировать/залить информацию на полной скорости гигабитного сетевого интерфейса (100 МБ/с), то на первом диске скорость скачивания скачет и редко когда поднимается выше 30-40МБ/с.

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

Прошу подсказать, возможно ли штатными средствами TrueNAS привести HDD1 к нормальной скорости обмена, т.е. выполнить дефрагментацию?
Вообще, где-то читал, что ZFS не поддерживает дефрагментацию в привычном ее понимании, и есть возможность полного клонирования HDD на другой диск, при этом запись будет последовательная и скорость отклика на новом диске будет в разумных пределах еще на 2-3 года работы в режиме торрент-качалки.

Возможно кто-то сталкивался с подобными симптомами и поделиться своими вариантами оптимизации скорости отклика.
 

mav@

iXsystems
iXsystems
Joined
Sep 29, 2011
Messages
1,428
Дефрагментации в ZFS и правда не бывает помимо копирования данных туда-сюда.

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

AndrX

Dabbler
Joined
Aug 8, 2017
Messages
21
Спасибо за комментарий.
В процессе разработки стратегии апгрейда существующего сервера TrueNas 13 появилась еще одна идея в добавок к дефрагментации: добавить в систему еще один HDD WD Red 2 Tb и сделать полноценный пул с RAID1Z.
Как можно выполнить подобные мероприятия на работающей системе без длительного простоя?
Сначала переносим все данные (zvol) на свободный носитель информации, затем создаем пул из двух дисков 2Tb зеркало и далее переносим данные обратно на зеркальный пул.
Особую обеспокоенность вызывает перенос виртуальных машин bhyve.
Есть ли какой-либо пошаговый туториал по данной тематике?
 
Top