LessFS: избавление от дублей, сжатие и шифрование файлов в Linux

Представьте себе высокопроизводительную файловую систему для Linux, позволяющую в режиме реального времени находить повторяющиеся данные и более эффективно организовывать их хранение, высвобождая свободное место на диске. Добавьте сюда сжатие и шифрование на лету и получите Lessfs.

Lessfs поддерживает сжатие LZO, QuickLZ, BZip и работает в пользовательском пространстве FUSE, что означает отсутствие необходимости модифицировать ядро операционной системы. Распространяется lessfs под свободной лицензией GPLv3.

Установка lessfs

Возможно, lessfs и все необходимые зависимости уже имеются в пакетном репозитории вашего дистрибутива. Мы рассмотрим установку из исходников. Нам потребуется установить следующие программы: mhash, tokyocabinet и fuse.

Берем исходный код mhash на sourceforge.net/projects/mhash/files/ и выполняем команды:

$ tar xvzf mhash-0.9.9.9.tar.gz
$ cd mhash-0.9.9.9/
$ ./configure
$ make
$ sudo make install

Теперь по ссылке fallabs.com/tokyocabinet/tokyocabinet-1.4.47.tar.gz скачиваем NoSQL-базу данных Tokyo Cabinet. Установка по стандартной схеме:

$ ./configure
$ make
$ sudo make install

Единственным нюансом является необходимость указания опции --enable-off64 для команды configure в том случае, если вы используете 32-битную ОС.

Теперь можно перейти к установке и настройке самой файловой системы lessfs. Скачиваем (sourceforge.net/projects/lessfs/files/lessfs/) самую последнюю версию. Выполняем configure, make и sudo make install. Затем скопируем файл настроек в /etc:

$ sudo cp etc/lessfs.cfg /etc/

Создадим директории, необходимые для работы lessfs. Пути можно отредактировать в файле настроек /etc/lessfs.cfg. По-умолчанию, для хранения файлов будет использована директория /data/dta, для метаданных /data/mta:

$ sudo mkdir -p /data/{dta,mta}

Инициализируем базу данных lessfs и запустим файловую систему с точкой монтирования /mnt:

$ sudo mklessfs -c /etc/lessfs.cfg
$ sudo lessfs /etc/lessfs.cfg /mnt

Запущенная ФС использует под хранение все доступное место того диска, где была расположена директория /data:

$ df -t fuse.lessfs
Filesystem        1K-blocks      Used Available Use% Mounted on
lessfs              5871080   3031812   2541028  55% /mnt
 
$ df -t ext4
Filesystem        1K-blocks      Used Available Use% Mounted on
/dev/sda1           5871080   3031812   2541028  55% /

Области применения lessfs

Lessfs может с успехом применяться для резервного копирования, на FTP- и почтовых серверах, при виртуализации, в устройствах хранения данных (NAS) и т.д.

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
w-495

--enable-off64

А можно как-то указать, чтобы оно само все поняло?

И есть глупый вопрос:
Чем мне грозит использование диска с системой?
Упадет скорость или все на свете?

Ваша оценка: Нет Средняя оценка: 1 (1 vote)
pomodor

Можно и не указывать, но тогда: "On 32-bit systems, you need to append --enable-off64 to the configure command. Failure to use --enable-off64 limits the databases to a 2GB file size". Это уж зависит от того как нравится и что предполагается хранить.

Чем мне грозит использование диска с системой?

Имеется ввиду что будет, если всю систему (за исключением /boot) поставить на lessfs? Ну, думаю геморроя и других веселых развлечений надолго хватит. :) Если речь о размещении lessfs на одном диске или разделе с ОС, то ничем не грозит. Во-первых, для современных многоядерных процессоров накладные расходы на хэширование, компрессию и шифрование будут почти незаметны. Во-вторых, основное предназначение lessfs — файлопомойки, а для них трафик не очень интенсивный.

Ваша оценка: Нет
w-495

Спасибо. Я про второе имел ввиду. Как я понимаю, она ставится по верх существующей нормальной ФС. И в блоки диска, методы записи на цилиндры и прочее оно не лезит. Верно?

Ваша оценка: Нет
pomodor

Совершенно не лазит. Это же FUSE! Эдакая виртуальная ФС в пространстве юзера, а не ядра. Через FUSE можно, например, прикрутить хранение файлов в MySQL и для юзера это будет прозрачно. :)

Ваша оценка: Нет
w-495

senorpomodor, пожалуйста, ставьте больше тегов у технических постов. Их так можно будет потом быстрее найти.

Ваша оценка: Нет
pomodor

А есть ли в этом смысл? Удобнее искать через поиск, нежели в тегах ковыряться. Но если теги кем-то востребованы, то буду добавлять, хорошим людям хороших тегов не жалко. :)

Ваша оценка: Нет
w-495

У меня возникает желание иногда почитать что-то леденящее душу будоражащее сердце, и я блуждаю по тегам. Мне кажется (но не уверен), обилие тегов, может благотворно повлиять на идексацию, и привлечет на сайт больше технарей.

Поиск хорош, когда знаешь что ищешь.) В противном случае, бумажные книги оказываются в выигрыше.

Ваша оценка: Нет
pomodor

Вот как раз-таки пауков теги пугают. Их вообще советуют закрывать в robots.txt. Дубли все ж как-никак...

Но раз кем-то из пользователей это востребовано, то буду проставлять, без проблем!

Ваша оценка: Нет
w-495

Как сказали ребята, из организации-имя-которой-не-произносят-вслух, robots.txt лучше вообще удалять.

Ваша оценка: Нет
pomodor

Ну, содержимое /javascript, /css, /rollover_graphics, /redirects и /scripts все же закрыто от индексации. Или я что-то не понял в примере?

А robots.txt действительно можно не использовать. Можно в метатегах прописать опцию NOINDEX для нужных страниц. Только вот зачем?

Ваша оценка: Нет
w-495

NOINDEX гугловые роботы не переваривают, как я понимаю

В примере содержимое redirects было проиндексировано.

Ваша оценка: Нет
pomodor

Очень даже переваривают. Только не в виде тега, а в виде конструкции <meta name="robots" content="noindex"> в head.

Да, redirects не заметил. Странно.

Ваша оценка: Нет
w-495

Кстати, циклические симлинки, пожалуй, единственный действенный способ избежать индексации.
Про теги, Вам спасибо.

Ваша оценка: Нет
pomodor

Варварский метод. :) А можно еще через FUSE сделать страницы с бесконечной вложенностью. Пауку должно сорвать крышу. :)

Ваша оценка: Нет
pomodor

Но с игнорированием robots.txt никогда не сталкивался. Бывало, что юзеры писали кривой robots.txt и потом удивлялись, но со стороны Гугла и Яндекса нарушений никогда не было. Да, паук все равно заберет страницу, но в выдаче она не появится.

Ваша оценка: Нет
w-495

Гарантий нет, что не появится. Я не говорил, что его проигнорируют. Просто по этим ссылкам перейдут, причем умышленно. Были стычки уже с гуглом. Стандартный ответ их представителя мол, сами дураки --- плохо составили robots.txt. А когда мордой тыкали в RFC --- мол, ну ошиблись мы, ну робот глупый работал не правильно.

Ваша оценка: Нет

Огромное спасибо! С некотторыми отклонения от вашего алгоритма установил сие чудо на openmediavault. Да здравствует дедупликация!!!

Ваша оценка: Нет
Отправить комментарий
КАПЧА
Вы человек? Подсказка: зарегистрируйтесь, чтобы этот вопрос больше никогда не возникал. Кстати, анонимные ссылки запрещены.
CAPTCHA на основе изображений
Enter the characters shown in the image.