У меня есть пул, который был создан в 2011 году с использованием lzjb compression
, и только через пару лет обновление позволило мне установить сжатие на lz4
. По моим оценкам, не менее 20% содержимого (по пространству) в массиве было создано до 2013 года, что означает, что он все еще сжимается с использованием lzjb
.
Я могу придумать несколько вариантов, чтобы исправить это и освободить (немного) места:
Резервное копирование и восстановление в новый пул. Это не совсем практично, так как у меня недостаточно избыточного хранилища для хранения временной копии. Для восстановления также потребуется, чтобы пул был отключен на несколько часов.
Напишите сценарий для повторного копирования любого файла с отметкой времени старше 2013 года. Потенциально рискованно, особенно если он подавляется пробелами или другими специальными символами и приводит к искажению исходного имени.
Есть ли способ заставить ZFS повторно сжимать любые устаревшие блоки с использованием текущего алгоритма сжатия? Вроде как скраб, но заживающая компрессия.
Связанный с этим вопрос: есть ли способ увидеть использование каждого типа алгоритма сжатия? zdb просто показывает общую статистику сжатия, а не разбивает ее на отдельные алгоритмы.
Вам необходимо повторно скопировать данные (полностью или частично), иначе zfs отправит / получит данные в новый пул или файловую систему ZFS.
Других вариантов нет.