Силами проекта Illumos в ZFS добавлена поддержка улучшенного сжатия LZ4
Гарретт Д'Аморе (Garrett D'Amore), лидер проекта Illumos, в рамках которого создано полностью свободное и развиваемое независимым сообществом ответвление от кодовой базы OpenSolaris, сообщил об очередном успехе по развитию файловой системы ZFS, несмотря на прекращение открытия новых наработок компанией Oracle. Силами сообщества в ZFS добавлена поддержка прозрачного сжатия данных с использованием алгоритма LZ4.Отмечается, что по сравнению с ранее доступным методом сжатия LZJB, новый метод отличается значительно возросшей производительностью при более высоком уровне сжатия. LZ4 упаковывает подлежащие сжатию данные примерно на 50% быстрее, а распаковывает на 80% быстрее, чем LZJB. Если данные несжимаемы, например, уже сжатые архивы или мультимедиа контент, то LZ4 обгоняет LZJB по скорости сжатия более чем в три раза. Производительности одного ядра CPU достаточно, чтобы сжимать поток данных 500 MB/s и распаковывать 1.5 GB/s. Что касается степени сжатия, то размер упакованных с использованием LZ4 данных занимает до 10% меньше места, чем при использовании LZJB.
Поддержка LZ4 вчера интегрирована в дерево исходных текстов Illumos и предлагается для активации в качестве предпочитаемого метода прозрачного сжатия. Для активации LZ4 следует обновить пул через команду "zpool upgrade" для поддержки возможности "feature flags", затем нужно установить флаг "feature@lz4_compress" командой "zpool set feature@lz4_compress=enabled имя_пула", после чего можно активировать сжатие для любого набора данных ("zfs set compression=lz4 dataset"). После активации сжатия пул невозможно будет импортировать на машины со старой реализацией ZFS, не поддерживающей LZ4.
Дополнительно, для загрузчика GRUB подготовлен патч, для обеспечения загрузки с корневых разделов, в которых используется сжатие LZ4. Данный патч включён в Illumos, но следует иметь в виду, что для уже установленных систем нужно в первую очередь обновить GRUB при желании использовать LZ4 на загрузочном разделе.
© OpenNet