Большое файловое хранилище для маленькой такой компании

Большое файловое хранилище для маленькой такой компании

И если в случае первого и второго предлагается множество прекрасных средств, в частности для багтрекинга существуют известные каждому Redmine, Trac, а для управления версиями Subversion, Git, Mercurial, то для грамотной организации файлового хранилища приходится в очередной раз изобретать велосипед.

Что требуется?

Что я понимаю под файловым сервером? Хороший вопрос. В идеале это должна быть система по типу каталога, способная хранить большие объемы двоичных файлов (pdf, doc, xls, msi, avi и др.), позволяющая тегировать файлы для гибкого поиска по хранилищу, автоматически индексировать их содержимое и метаданные, производить поиск по множеству критериев, предоставлять доступ к файлам как локально, так и через браузер (web-интерфейс), совместно редактировать файлы, иметь клиенты для разных ОС, синхронизирующие версии с сервера, но что-то я замечтался… Конечно, же, такой системы не существует. Сейчас, наверное, многие возразят мне и укажут на Microsoft SharePoint Server, однако для небольшой компании этот продукт неподъемен ввиду сложности в обслуживании и астрономической цены.

Такие варианты как Dropbox, SkyDrive и другие сразу же отбрасываются, так как руководство не хочет распространять проекты компании неизвестно куда, опять же есть ограничения на скорость доступа (в случае файлового сервера в локальной сети большинство запросов поступает по высокоскоростным соединениям и лишь часть — через веб-интерфейс), а также на размер хранимых данных.

Какие же существуют свободные аналоги, частично решающие задачи, перечисленные выше? Я произвел тщательное исследование этого вопроса и готов поделиться с вами своим горьким опытом.

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

OwnCloud

Недавно вышла новая версия (4.5) системы для организации хранения, синхронизации и обмена данными OwnCloud. Ранее на Хабрахабре уже появлялась замечательная статья об OwnCloud, которая и мотивировала меня познакомиться с облаком поближе. Об особенностях процесса установки OwnCloud хабраюзером BlackIce13 была написана прекрасная статья Опыт установки ownCloud 6 на Debian 7 wheezy. Первое впечатление было просто волшебным: современный web-интерфейс, возможность онлайн просмотра (txt, PDF, ODF) и редактирования (txt) файлов, календарь, задачи, адресная книга, синхронизация по протоколу WebDAV, поиск по содержимому, а что самое главное — возможность монтирования локальных папок и внешних хранилищ по протоколам FTP, Samba, и др. Однако после более плотного знакомства обнаружилось огромное количество багов и глюков, как достаточно безобидных и даже забавных, так полное и безвозвратное падение системы. С OwnCloud врагам не нужно применять хитрые DDoS-атаки ибо эта функция изначально заложена разработчиками в ядро системы. Больше всего интересовала функция монтирования удаленной файловой системы через Samba. То есть в локальной сети выделялся web-сервер с системой управления проектами и OwnCloud, а также простой Windows-файловый сервер, с которого web-интерфейс и подтягивал бы данные для удаленного доступа. Однако монтирование через Samba не захотело функционировать ни при каких условиях, несмотря на официально заявленную функциональность и примеры на сайте OwnCloud. Была произведена попытка обмануть OwnCloud и подсунуть её «локальную» папку с примонтированной Samba-шарой, но это вгоняло OwnCloud в неадекватное состояние. Вообще, средство достаточно неплохое для домашнего использования, или если Вам достаточно пространства жесткого диска сервера на всю компанию. Стоит отметить развитое сообщество разработчиков OwnCloud, в котором Вам всегда подскажут как бороться с очередным фэйлом. Добавьте ссылку на их багтрекер себе в избранное, так как вам часто придется общаться с этими ребятами.

iFolder

Разрабатываемое компанией Novell, средство iFolderтакже предоставляет так необходимые нам возможности — распределение на несколько серверов, синхронизация между клиентами, веб-интерфейс к хранилищу. Горьким фактом является то, что iFolder со стороны Linux поддерживает openSUSE, для которого процесс установки состоит из одной команды. Для других дистрибутивов Linux установка iFolder — это практически невыполнимая задача несмотря на множество мануалов, например iFolderInstall. Мне, к сожалению, не удалось установить iFolder ввиду специфичных версий пакетов, которые требуются для работы системы и которые уже давно не доступны на сайте iFolder Novell. Возможно, читатели Хабра более удачливые и продвинутые и у них получится найти общий язык с iFolder. Помимо iFolder на том же сайте компания Novell предлагает еще два проекта для совместной работы (Kablink Teaming) и для обмена сообщениями (Kablink Conferencing), впрочем они были мне не так интересны, поэтому оставляю знакомство с ними вам на десерт.

SparkleShare

Достаточно интересное средство, написанное согласно приданию некими хакерами, которым надоело синхронизировать свои файлы. Оно основано на системе управления версиями git и по сути является надстройкой. Для файлового сервера создается отдельный репозиторий и затем над ним навешивается SparkleShare. Клиенты, работая с файлами, синхронизируют их между собой и сервером по аналогии клиента для Dropbox. Кроме официального сайта, есть неплохая инструкция по установке и работе с SparkleShare. «Благодаря» фундаменту в виде git возникают и недостатки, свойственные системам такого класса: клиенты хранят полную локальную копию репозитория, что в случае больших объемов просто невозможно. Существует способ «ленивого» доступа к репозиторию посредством git-fs, но только в режиме чтения. Опять же для непрограммистов (экономисты, отдел кадров), это слишком высокотехнологичное решение и они скорее будут пересылать друг другу документацию бесконечными e-mail, чем воспользуются git. Опять же ненависть репозиториев к бинарным файлам окончательно исключает SparkleShare из списка возможных решений.

Syncany

Казалось бы вот она, мечта: облачное файловое хранилище с поддержкой FTP, IMAP, WebDAV, Windows NetBIOS/CIFS, SFTP/SSH, шифрованием данных и т.п. Но проект находится в разработке вот уже два года и официальных релизов системы не поступало. Авторы приветливо предлагают вступить в ряды разработчиков или пожертвовать то, что не жалко… Так что, Хабрачитатели, мечтающие внести свою лепту в Cloud Storage, есть прекрасный вариант реализовать себя.

Rsync и Lsyncd

Выполняют функции, сходные с Dropbox, то есть синхронизацию локальной и удаленной папки. Это не совсем то, что я искал, поэтому не буду слишком подробно останавливаться на этом решении. Отмечу лишь отсутствие графического интерфейса и клиентов для ОС Windows, что автоматически исключает Rsync и Lsyncd из списка.

AeroFS

Если предыдущие продукты можно было скромно называть облачными, то AeroFS использует это понятие по полной. По сути AeroFS — это p2p сеть, которая коллективно хранит файлы не обязательно с использованием центрального сервера! Система полностью распределенная и использует сложные алгоритмы репликации данных. Есть возможность выделить центральный сервер, который привносил бы два положительных момента — web-интерфейс и дополнительную дупликацию данных (вдруг все уедут в командировку и сеть начнет испытывать истощение). До сих пор у меня к AeroFS много вопросов, ответы на которые получить пока не удается. Скачивание релиза доступно только по инвайтам, поэтому ждемс… Обязательно отпишусь по результата разворачивания AeroFS.

UPD: AjaXplorer

Благодаря umcherrel мы можем познакомиться с ещё одним средством: AjaXplorer. Впечатление, как и от OwnCloud, самые положительные. На сайте разработчиков есть возможность протестировать демо-хранилище за что им огромный плюс. Стоит также отметить простоту установки и добавления репозиториев. С технической точки зрения AjaXplorer характеризуется свойствами: онлайн просмотр (txt, pdf, zip, графика, мультимедиа) и редактирование файлов (txt), разграничение прав, адаптируется под браузеры iOS и Android, поиск (c внешними хранилищами все же лучше не использовать, к сожалению), множество плагинов на любой случай жизни. Также нужно отметить возможность дружбы AjaXplorer с различными системами управления версиями посредством плагина, что для нас тоже важно. Внешние хранилища можно подключать по Samba, FTP(S), WebDAV, IMAP, POP. И это прекрасно. Из недостатков можно отметить лишь ресурсоемкость. С другой стороны, за все нужно платить…

UPD: Amahi

Благодаря srs2k, мы узнали об Amahi. Что это за зверь? На самом деле Amahi — прекрасная платформа для домашнего медиа-центра в концепции «умного дома». Сразу бросается в глаза медиа ориентированность: Squeezebox сервер, DLNA сервер, Gallery 2, UPnP сервер uShare, медиа стриммеры Jinzora и Ampache, медиа-библиотеки OpenDB и VCD-db, учет домашнего хозяйства Home Inventory, хранение рецептов phpRecipeBook, торрент-клиенты, вики, форумы и пр. Стоит отметить также «бесплатную» услугу отслеживания динамического IP, то есть в некоторых случаях (стоит сказать, весьма ограниченных), Вам не понадобится покупать белый статический IP-адрес. Также существует возможность расширять функциональность плагинами. Установка хоть и выполняется из терминала, но Вам настойчиво и весьма бесцеремонно установят графическую панель конфигурирования, сменят IP-адрес сервера, включат DHCP, перезагрузят сервер и вообще будут себя чувствовать как дома. Конечно, для неопытных пользователей такое решение «из коробки» просто необходимо, но в большинстве случаев, я считаю, это недопустимо. С технической точки зрения Amahi поддерживает Samba, VPN, WebDAV (Outlook, iCal) и др. Более подробно прошу на сайт за красочными презентациями. С точки зрения применимости Amahi для корпоративных нужд вопрос пока остается открытым.

Вывод

Подводя итог, скажу, что мы пока выбрали в качестве временной альтернативы решение OwnCloud. Согласно поговорке нет ничего более постоянного, чем нечто временное, но мы надеемся найти альтернативный вариант, так как вероятность, что OwnCloud в ближайшие сроки избавится абсолютно от всех недостатков, к сожалению, стремится к 0. Скорее всего, мы перейдем на AjaXplorer, если лучшей альтернативы не появится.

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

Хотелось бы узнать, как решается такая проблема в более крупных компаниях с поставленным процессом разработки?

Post scriptum: Встречался ли кто с системами оповещения работников (по email, sms и др.) о запланированных или циклических задачах с веб-интерфейсом? Наверное, это тема другой статьи. Поэтому to be continued.

📎📎📎📎📎📎📎📎📎📎