Могу ли я прозрачно сжать некоторые файлы на общем ресурсе Samba?

Мы используем сервер Ubuntu, который является основным контроллером домена для нескольких клиентов Windows XP, использующих samba.

Некоторые из наших процессов, работающих в Windows, генерируют огромное количество XML-файлов. К сожалению, мы не имеем никакого влияния на то, как эти данные хранятся (например, мы не можем изменить программы, чтобы (раз) сжать файлы XML при их загрузке / сохранении, они предоставляются третьей стороной, и мы обязаны использовать эти программы по контракту).

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

Еще немного предыстории:

  • Обработка этих файлов всегда означает, что они полностью считываются в память, изменяются там и записываются обратно.
  • Только один клиент будет одновременно иметь доступ к каталогу этих файлов, поэтому нет проблем с параллелизмом и блокировками.
  • Сервер уже имеет 4x накопители данных по 2 ТБ. Больше нет физического пространства, чтобы добавить больше (и я хотел бы избежать добавления большего количества дисков)
  • Данные должны оставаться активными в течение примерно двух лет, после чего они будут архивироваться и удаляться с дисков. [ 113]

Я думаю, что идеальным решением было бы подключить к серверу Samba своего рода плагин, который вызывается всякий раз, когда создается / записывается или читается файл, соответствующий заданному шаблону / регулярному выражению, который использует gzip / ungzip для сжатия / распаковки. файл на лету.

В качестве альтернативы я мог бы представить драйвер файловой системы Windows, который делает то же самое на стороне клиента.

Я хотел бы избежать каких-либо ручных шагов в этом процессе, потому что он слишком подвержен ошибкам.

Есть ли что-то подобное? Я уже использовал Google, но не смог найти никакого решения.

(Мне бы хотелось создать тег сжатия для этого, но мне пока не разрешено это делать.)

2
задан 5 October 2010 в 13:09

1 ответ

Вы можете смонтировать сжатую файловую систему в каталоге в общей папке SAMBA и сохранить в ней свои XML-файлы. FUSE предоставляет как минимум три файловые системы, которые можно использовать для этой цели: compFUSEd, FuseCompress и LZOlayer_fs.

Существует также патч для ядра , включающий прозрачное сжатие в файловую систему ext2 , но в нем есть запись о том, что он был заброшен и затем снова использован, только для ext2 (не ext3 / 4). ), и это определенно более агрессивно, чем использование FUSE.

0
ответ дан 5 October 2010 в 13:09

Другие вопросы по тегам:

Похожие вопросы: