Мы используем сервер Ubuntu, который является основным контроллером домена для нескольких клиентов Windows XP, использующих samba.
Некоторые из наших процессов, работающих в Windows, генерируют огромное количество XML-файлов. К сожалению, мы не имеем никакого влияния на то, как эти данные хранятся (например, мы не можем изменить программы, чтобы (раз) сжать файлы XML при их загрузке / сохранении, они предоставляются третьей стороной, и мы обязаны использовать эти программы по контракту).
Поскольку наши жесткие диски регулярно переполняются, мне интересно, существует ли такая вещь, как NTFS-сжатие для Ubuntu / Linux, для прозрачного сжатия этих файлов для клиентов.
Еще немного предыстории:
Я думаю, что идеальным решением было бы подключить к серверу Samba своего рода плагин, который вызывается всякий раз, когда создается / записывается или читается файл, соответствующий заданному шаблону / регулярному выражению, который использует gzip / ungzip для сжатия / распаковки. файл на лету.
В качестве альтернативы я мог бы представить драйвер файловой системы Windows, который делает то же самое на стороне клиента.
Я хотел бы избежать каких-либо ручных шагов в этом процессе, потому что он слишком подвержен ошибкам.
Есть ли что-то подобное? Я уже использовал Google, но не смог найти никакого решения.
(Мне бы хотелось создать тег сжатия для этого, но мне пока не разрешено это делать.)
Вы можете смонтировать сжатую файловую систему в каталоге в общей папке SAMBA и сохранить в ней свои XML-файлы. FUSE предоставляет как минимум три файловые системы, которые можно использовать для этой цели: compFUSEd, FuseCompress и LZOlayer_fs.
Существует также патч для ядра , включающий прозрачное сжатие в файловую систему ext2 , но в нем есть запись о том, что он был заброшен и затем снова использован, только для ext2 (не ext3 / 4). ), и это определенно более агрессивно, чем использование FUSE.