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

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

[TOC Шифрование]

Что такое файловая система LessFS

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

Как сжать и зашифровать файлы на диске

Возможно, 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) и т.д.

Главная тема: 
Дистрибутивы: 
Программное обеспечение: 

Комментарии

--enable-off64

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

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

Можно и не указывать, но тогда: "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 — файлопомойки, а для них трафик не очень интенсивный.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Комментировать

Filtered HTML

  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.