Как сделать собственный облачный сервер
8 бесплатных инструментов для создания собственного облака
В наши дни иметь облачный файлообменник стало обязательным требованием, и мы избалованы широким выбором сервисов для хранения копий важных файлов, например, Dropbox, Google Drive, Box и др. Однако все они имеют один общий недостаток. Место хранения ограничено и, в конечном счете, они не перестают быть третьей стороной, которой вы вынуждены доверять свои (иногда конфиденциальные) файлы.
Так зачем идти на компромисс, если есть очевидное решение этой проблемы? Благодаря растущему контингенту разработчиков стало возможно создание собственного облачного файлообменника. Таким образом, нет необходимости иметь дело с посторонним сервером, и ваши файлы гарантированно видны только вам. Представляем 8 инструментов для создания собственного облака. Все они предлагают неограниченное пространство и несколько функций, которых нет у общедоступных облачных файлообменников.
Обратите внимание, что некоторые из них требуют ознакомления с процессом настройки своего собственного сервера. Просмотрев список, вы заметите, что процесс установки не так прост.
Мы уже ранее представляли Bittorrent Sync в качестве средства для перемещения объемных файлов анонимно. Но было ли вам известно, что его также можно использовать для создания своего собственного облака? Нужно лишь настроить папку так, чтобы она работала в качестве хранилища, чтобы можно было синхронизировать все файлы на всех устройствах при помощи Bittorrent Sync.
Поддерживаемые платформы: Windows, Mac OS X, Linux, FreeBSD, iOS, Android, Windows Phone, Kindle Fire.
PClouds решит вопрос по созданию личного облачного файло-обменника благодаря чему можно будет с легкостью делиться файлами между OS X и iOS. Программа недавно вышла в бета-версии и требует регистрации, но она выглядит солидно, также она проста в использовании, и в ней можно создать личное облако в экосистеме Apple, минуя iTunes. Также имеется простое приложение-менеджер файлов для мобильных устройств. В планах нет разработки для других ОС.
Поддерживаемые платформы: Mac OS X, iOS.
Невероятно разнообразный инструмент ownCloud – это бесплатное open source приложение, которое позволяет сделать нечто большее, чем просто заместить Dropbox для обмена данными. Наряду с хранением данных, приложение предлагает множество других функций : управление календарем, список задач, редактирование документов и многое другое. Здесь можно установить OwnCloud с инструкциями.
Поддерживаемые платформы: клиент доступен для Windows, Mac OS X, Linux, iOS, Android. Серверное ПО устанавливается при помощи веб-установщика.
Seafile – еще один open source вариант, представляемый как инструмент для синхронизации файлов и интернет-сотрудничества. Можно использовать облачный сервис SeaCloud.cc или же настроить резидентные серверы. Есть два вида последних: Open Source и Business (25$ в год). В приложении вы найдете многофункциональный онлайн-редактор файлов, управление версиями, мульти-платформу по синхронизации файлов и прочее.
Поддерживаемые платформы: клиент доступен для Windows, Mac OS X, Linux, iOS, Android. Серверное ПО доступно для Windows, Linux, Raspberry Pi.
Как и у OwnCloud, цель Cozy заключается в том, чтобы предоставить возможность обслуживания данных, используя собственные сетевые приложения. По словам самих разработчиков, Cozy позволяет превратить сервер во что-то вроде личного Google App Engine. Разработчики стимулируют пользователей, обещая развивать это и в будущем и объединить много разных сервисов и утилит в одном флаконе.
Поддерживаемые платформы: образы доступны на Virtualbox, Raspberry Pi, OpenVZ, Cubieboard2, Cubietruck.
AeroFS – это open source приложение для корпоративных пользователей, которое предлагает инструменты для сотрудничества как часть пакета услуг. Разработчики также предлагают бесплатную версию для личного пользования с поддержкой трех пользователей. Сервис гордится высокими скоростями синхронизации и отсутствием лимита на передачу данных. Нужно лишь установить клиент AeroFS на устройство, чтобы запустить цепь синхронизации.
Поддерживаемые платформы: Windows, Mac OS X, Linux, iOS, Android.
SparkleShare использует Git для обслуживания данных. Это значит, что вы получите полную версию истории ваших файлов, а также много чего другого, идущего вместе с Git. Это станет идеальным решением, если у вас есть документы, требующие многократных изменений. При этом, однако, приложение не очень хорошо справляется с крупными файлами.
Поддерживаемые платформы: клиент доступен для Windows, Mac OS X, Linux. И использует Git-сервер для хранения данных.
Как и SparkleShare – и как понятно из самого названия – git-annex также использует Git для управления файлами, но «без проверки содержания файлов на сервере Git». Это означает, что приложение лучше подходит для крупных файлов, чей Git приспособлен для использования. Это приложение обычно представляет собой командную строку, но для тех, кто в этом не сильно разбирается, есть и более простая альтернативная версия.
Поддерживаемые платформы: серверное ПО доступно для Windows, Mac OS X, Linux.
Вам понравился материал? Поблагодарить легко!
Будем весьма признательны, если поделитесь этой статьей в социальных сетях:
Выбор оборудования для корпоративного облачного хранилища
Данные — основа любого бизнеса. Если место их хранения недостаточно надежно или неспособно обеспечить постоянный доступ, то под угрозой будет практически вся деятельность предприятия.
Конечно, можно и нужно обеспечивать сохранность и доступность информации правильным выбором серверного ПО и грамотной конфигурацией. Но не менее важно и железо — оборудование, которое хранит и обрабатывает данные. Если оно не соответствует потребностям компании, то никакой софт не сделает его достаточно надежным и отказоустойчивым.
В этой статье мы рассмотрим один из подходов к выбору железа для создания корпоративного облачного хранилища.
Почему облако?
Облачная инфраструктура имеет ряд преимуществ:
Почему своё?
Сейчас на рынке есть множество публичных облачных сервисов. Для многих малых и средних компаний они действительно становятся хорошим выбором, особенно если речь идет об услугах с оплатой только за использованные ресурсы либо проведении тестирования сервиса. Однако свое облачное хранилище также дает ряд преимуществ. Оно придется очень кстати, если:
Выбор оборудования
При приобретении оборудования под облачное хранилище часто возникает вопрос: арендовать машины или покупать свои. Выше мы уже разбирались, в каких случаях собственный сервер незаменим. Однако организовать облако можно и на сторонних сервисах. Особенно это актуально для небольших компаний, потому что не всегда есть возможность выделить из бюджета необходимую сумму на покупку серверов, не всегда есть возможность создать собственную серверную, да и не нужно тратиться на обслуживание машин.
Но если вы всё же решили брать собственные серверы под облачное хранилище, то стоит иметь ввиду, что изменить оборудование будет проблематично и затратно. Не страшно, если мощности окажется недостаточно: всегда можно добавить еще одну машину в кластер. А вот если производительность окажется избыточной, то с этим ничего уже сделать не получится. Поэтому перед выбором стоит сделать следующее.
Четко определить цель, для которой будет использоваться сервер. В нашем случае — это файловое хранилище. Соответственно, наибольший интерес представляют накопители. На что следует обратить внимание при их выборе:
Ёмкость. Зависит от того, сколько сотрудников будет пользоваться хранилищем, какие типы файлов они будут закачивать на сервер, сколько информации уже сейчас ждет переноса в облако и на сколько увеличивается объем рабочих данных ежегодно.
В среднем для работы с текстовыми файлами, презентациями, PDF и небольшим количеством изображений нужно в среднем 10-15 Гб на сотрудника. Для работы с большими объемами высококачественных картинок и фотографий нужно увеличить минимум до 50-100 Гб, а то и больше. Потребности персонала, занимающегося обработкой видео и аудио, могут достигать нескольких терабайт на человека. В ряде случаев, например, при использовании крупных корпоративных программных пакетов с поддержкой версионности проектов, речь может идти и о 10 терабайтах на одного пользователя облака. Не забудьте учесть емкость под резервные копии файлов и непредвиденные нужды компании.
Что касается RAID-контроллеров, то для корпоративного облака лучше не использовать набортные решения. Их производительности может оказаться недостаточно для обслуживания большого количества запросов с удовлетворительной скоростью. Так что лучше выбрать дискретные модели из нижнего и среднего ценовых диапазонов.
Также необходимо определиться с вычислительной мощностью. Если вы создаёте облачное хранилище на базе нескольких серверов, то рекомендуется подбирать идентичные или очень близкие конфигурации. Это несколько упростит управление распределением нагрузки. И вообще лучше не делать ставку на одну мощную машину, комплектуя её дорогим процессором и оперативной памятью, а купить подешевле 2-3 машины. Почему?
Если ваше хранилище будет только принимать и отдавать статичные файлы, без возможности их запуска, то мощность процессора не слишком важна. Поэтому лучше не гнаться за количеством ядер и выбрать модель с хорошим «тактом». Из недорогих вариантов неплохо подойдут процессоры Intel Xeon серии E56XX с 4 ядрами, из более дорогих моделей можно порекомендовать машины на Intel Core i5.
Примеры моделей серверов
Если вы предпочитаете не собирать сервер самостоятельно, а сразу приобретать готовое к работе оборудование, то обратите внимание на несколько подходящих моделей для создания файлового хранилища.
Dell PowerEdge T110. Сервер оснащен процессором Intel Core i3 2120 с всего двумя ядрами, но зато каждое из них обладает неплохой тактовой частотой в 3,3 ГГц, что для нашего облака важнее. Начальная конфигурация оперативной памяти не очень велика — 4 Гб, однако может быть расширена до 32 Гб. Сервер поставляется в двух комплектациях — без предустановленного жесткого диска или с HDD-накопителем емкостью в 1 Тб и интерфейсом SATA.
Lenovo ThinkServer RS140. Имеет мощный процессор Intel Xeon E3 с четырьмя ядрами по 3,3 Ггц каждое. Оперативная память «из коробки» — 4 Гб, плюс еще четыре слота для ее расширения. Также в комплект входят два жестких диска по 1 Тб с SATA-интерфейсом.
HP ProLiant ML10 Gen9. Во многом схож с описанной выше моделью — всё тот же Intel Xeon E3 и два терабайтовых HDD. Основное отличие в оперативной памяти — сервер HP имеет две пластины по 4 Гб каждая.
Достаточно ли места для хранения файлов?
Объем хранилища — краеугольный камень файлового сервера. Произведя оценку объема хранимых данных и динамики роста, можно через полгода прийти к неприятному выводу, что с прогнозом вы ошиблись, и данные растут быстрее, чем планировалось.
В случае виртуализации хранилища вы практически всегда (при разумном подходе к планированию СХД) сможете расширить дисковую подсистему виртуальной машины или увеличить LUN. В случае физического файлового сервера и локальных дисков, ваши возможности будут значительно скромнее. Даже не смотря на наличие свободных слотов в сервере для дополнительных дисков, можно столкнуться с проблемой подбора накопителей, подходящих для вашего RAID-массива.
Но прежде чем решать проблему экстенсивным путем, следует вспомнить и о технических средствах, помогающих бороться с нехваткой места.
Дисковые квоты NTFS
Один из самых старых и надежных механизмов ограничения пользователей — квоты файловой системы.
Включив квоты для тома, вы можете ограничивать объем файлов, сохраняемых каждым пользователем. В квоту пользователя попадают файлы, для которых на уровне NTFS он является владельцем. Главным недостатком механизма является то, что, во-первых, не так просто определить, какие файлы принадлежат конкретному пользователю, а во-вторых, файлы, созданные администраторами, не будут включены в квоту. Механизм квот редко используется на практике, его практически полностью заместил File Server Resource Manager, впервые появившийся в Windows Server 2003 R2.
File Server Resource Manager
Этот компонент Windows Server позволит квотировать дисковое пространство на уровне конкретной папки. Если вы выделяете для сотрудников персональные домашние каталоги на файловых серверах, а также выделенные папки для общих документов отделов, то FSRM — наилучший выбор.
Конечно, квотирование само по себе не увеличит объем файлового хранилища. Но пользователи, как правило, лояльно относятся к справедливому (равному) делению ресурсов, а в случае нехватки готовы преодолеть небольшие бюрократические процедуры для расширения дискового пространства.
Квоты помогут и от перегрузки сервера в случае случайного размещения пользователем большого объема информации. По крайнее мере, это не скажется на других сотрудниках или отделах.
Кроме того, FSRM включает в себя механизм «скрининга» (фильтрации) файлов, которые можно сохранять на сервере. Если вы уверены в том, что mp3- и avi- файлам не место на файловом сервере, то можно запретить их сохранения средствами FSRM.
Компрессия NTFS
Обычные файлы хорошо поддаются сжатию средствами NTFS, а с учетом производительности современных процессоров, у сервера достаточно ресурсов на эту операцию. Если места не хватает — можно смело включать её для тома или отдельных папок. К примеру, в Windows Server 2012 появился более совершенный механизм, при использовании которого NTFS-сжатие на файловых серверах для большинства сценариев остается в прошлом.
Дедупликация
Windows Server 2012 включает в себя возможность дедупликации данных, расположенных в томе NTFS. Это достаточно продвинутый и гибкий механизм, сочетающий в себе как дедупликацию с переменной длинной блока, так и эффективную компрессию сохраняемых блоков. При этом для разных типов данных механизм может использовать разные алгоритмы сжатия, а если сжатие не эффективно — не использовать её. Такие тонкости недоступны традиционному сжатию средствами NTFS.
Кроме того, дедупликация не оптимизирует файлы, с которыми пользователи работали последние 30 дней (этот интервал можно настроить) для того, чтобы не снижать скорость работы с динамично изменяемыми данными.
Оценить потенциальную прибавку свободного места можно утилитой ddpeval. На типичном файловом сервере экономия составляет 30-50%.
Производительность файлового сервера
Как мы отмечали ранее — файловый сервер не самый требовательный к ресурсам сервис, но всё же следует разумно подойти к конфигурации дисковой и сетевой подсистем.
Дисковая подсистема
Линейная скорость чтения или записи не играют для файлового сервера решающего значения. Любой современный жесткий диск имеет высокие характеристики линейной скорости чтения/записи, но они важны лишь в тех случаях, когда пользователь копирует к себе на локальный диск большой файл, или, наоборот, размещает его на сервере.
Если посмотреть на статистику Perfmon, средняя скорость чтения/записи для 150-200 пользователей достаточно низка и составляет всего лишь несколько мегабайт в секунду. Более интересны пиковые значения. Но следует иметь в виду, что и эти пики ограничены скоростью сетевого интерфейса, а для обычного сервера это 1 Гбит/с (т.е. 100 Мб обмена с дисковой подсистемой).
В обычной работе доступ к файлам идет нелинейно, с диска считываются и записываются произвольные блоки, поэтому более критичным является производительность диска в операциях случайного доступа, то есть максимальный IOPS.
Для 150-200 сотрудников показатели достаточно скромны — 10-20 операций ввода вывода в секунду с дисковой очередью в пределах 1-2.
Этим требованиям удовлетворит любой массив из стандартных SATA дисков.
Для 500-1000 активных пользователей количетсво операции подскакивает до 250-300, а дисковая очередь достигает 5-10. Когда очередь достигает этой величины, пользователи могу заметить, что файловый сервер «подтормаживает».
На практике для достижения производительности в 300 IOPS вам уже потребуется массив как минимум из 3-4 дисков типичных SATA-дисков.
При этом следует учесть не только «сырую производительность», но и задержку, вносимую работой RAID-контроллера — так называемую RAID penalty. Эта тема доступно разъяснена в статье https://habrahabr.ru/post/164325/.
Для определения необходимого количества дисков используем формулу:
RAID-5 с penalty на запись в 4 операции, профилем чтение 50%, запись 50%, скоростью диска в 75 IOPS, целевая производительность в 300 IOPS:
Если у вас много активных пользователей, то вам потребуется ёмкий сервер или более производительные диски, такие как SAS со скоростью вращения 10 000 RPM.
Скорость сетевого интерфейса
Низкая скорость сетевого интерфейса — одна из причин задержек при работе с файловым сервером. В 2016 году сервер с 100 Мбит/с сетевой картой — нонсенс.
Типичный сервер оборудован сетевой картой со скоростью 1 Гбит/с, но и это ограничивает дисковый обмен скоростью около 100 Мб/с. Если в сервере несколько сетевых карт, то вы можете объединить их (агрегировать) в один логический интерфейс для увеличения как производительности, так и доступности облака. Хорошая новость в том, что для файлового сервера («много клиентов обращаются к одному серверу») агрегация работает хорошо.
Владельцы серверов HP могут использовать фирменную утилиту HP Network Configuration Utility
Если вы используете Windows Server 2012, то более простым и надежным способом будет использование штатного средства NIC Teaming.
Подробнее об этой настройке и нюансах использования ее в среде Hyper-V вы можете узнать из этой статьи.
Как сделать собственное облачное хранилище
Облачные сервисы хранения данных стали настоящей панацеей для всех, кто хотел получать доступ к своим данным с любого устройства из любой точки пространства. Мы с радостью переместили свои данные в облака и успешно пользуемся ими, лишь иногда с опаской читая очередную новость о хаках iCloud и Dropbox. Кому-то изначально не даёт покоя тот факт, что облако контролирует «кто-то», но не сам пользователь. Именно такие энтузиасты сделали OwnCloud.
Что это такое
«Собственное облако» представляет собой не что иное, как персональное хранилище, работающее на собственном веб-сервере или сайте. Главная фишка OwnCloud в том, что он бесплатный и опенсорсный. В целом при наличии вышеупомянутой площадки для размещения пользователю потребуется примерно 5 минут на разворачивание собственного Dropbox-like хранилища, и без хитроумного кодинга — каких-либо специфических знаний не нужно. В довесок пользователь получает доступ к приложениям (текстовые редакторы, списки задач и прочие полезные штуки), которые создают другие участники проекта для собственных нужд.
Что умеет
Список базовых функций практически идентичен всем популярным облакам: хранение и доступ к данным через веб-интерфейс, синхронизация, шаринг. Для того, чтобы не загромождать текст кучей скриншотов, можно воспользоваться демо-страницей OwnCloud — там можно потыкать все менюшки и в целом оценить внешний вид, механику и возможности сервиса.
Бонусы
Любители получать вместе с облачным хранилищем разные дополнительные вещи обрадуются наличию встроенных мультимедиа и прочих инструментов: музыкальный плеер, менеджер контактов, календарь, сервис букмарклетов и просмотрщик изображений.
Системные требования
Естественно, разворачивание собственного облака требует площадку, на которой оно и будет работать. Для таких целей подойдёт хост с поддержкой PHP5 и MySQL (либо SQLite).
Качаем OwnCloud Server и ставим его с помощью веб-установщика. По сложности процесс сравним с загрузкой файла на хост. После этого останется лишь определиться с адресом для удалённого доступа к сервису.
С чего заходить
Десктопный клиент доступен для Windows, Mac OS X и Linux. Здесь же можно скачать и исходники, с помощью которых можно собрать клиент под что угодно.
Если речь идёт о мобильном доступе, то здесь всё немного двойственно: клиенты для Android и iOS есть, но они платные. При этом отзывы о них, скажем прямо, не супер. Остаётся надеяться, что мобильные клиенты будут допиливаться.
Приложения
Нельзя не остановиться на этой возможности, так как именно она превращает обычное «самодельное» облако в многофункциональный инструмент. Большинство приложений здесь довольно свежие и, соответственно, не слишком вылизанные. Весь каталог разделяется на несколько категорий (мультимедиа, продуктивность и так далее), а дополнительная сортировка позволяет отобрать лучшие примеры по количеству загрузок и рейтингу пользователей.
В целом OwnCloud определённо заслуживает внимания всех, кто мечтал о собственном независимом от капризов разработчиков облачном хранилище. С учётом довольно стандартных требований к хосту и наличию понятных инструкций разобраться с установкой и настройкой сможет любой пользователь, в чьей голове возникла идея организации подобного личного сервиса. В совокупности с довесками в виде всевозможных приложений и доступностью кода для всего и вся продвинутые пользователи смогут превратить OwnCloud в строго персонализированную рабочую среду, заточенную под собственные нужды, ну а использование только базового функционала вполне качественно реализует основные и самые распространённые потребности: хранение и обмен данными.