Как сделать свой облачный сервер
Создание облачного сервера (виртуальной машины)
При создании облачного сервера — виртуальной машины — в качестве загрузочного (системного) диска можно выбрать локальный диск или сетевой диск.
К любому серверу в качестве дополнительных можно добавлять сетевые диски.
Создание в панели управления
Чтобы создать облачный сервер, в панели управления:
По умолчанию в качестве операционной системы выбирается образ Ubuntu. Чтобы сменить источник ОС, нажмите на кнопку Выбрать другой источник. Можно выбрать:
В поле User data, открывающееся по кнопке , дополнительно можно прописать пользовательский скрипт, выполняющийся при загрузке системы.
Выберите конфигурацию виртуальной машины. Есть два вида конфигураций:
Чтобы выбрать локальный диск в качестве загрузочного, отметьте галочку Локальный диск.
Если в качестве системного выбран сетевой диск (галочка Локальный диск не установлена), то выберите его тип:
Укажите размер сетевого диска.
Если в качестве системного диска указан локальный диск и нет необходимости в дополнительном диске, то сетевой диск можно удалить, нажав кнопку Удалить диск.
Для добавления дополнительного сетевого диска нажмите кнопку Добавить сетевой диск. Можно добавить несколько дополнительных дисков.
Выберите подходящий тип подсети, к которой будет подключен сервер. Если в регионе, в котором создается сервер, есть подсети, то они отобразятся в списке.
Примечание: подробнее о дальнейшей работе с сетями, например, о подключении сервера к внешней сети, в инструкции Управление сетями.
Определите настройки доступа. Укажите пароль для root или добавьте SSH-ключ для более безопасного подключения.
Нажмите кнопку Создать.
Созданный облачный сервер появится в списке серверов проекта.
Подготовка к созданию с помощью CLI
Подробно о начале работы через консольные клиенты в инструкции Начало работы с OpenStack CLI.
Перед созданием облачного сервера вам нужно выбрать образ сервера, доступную зону, сеть и флейвор сервера.
Образ сервера
Вы можете выбрать готовый образ или загрузить собственный, подробнее в инструкции Создание образа.
Просмотрите список всех доступных образов операционных систем, используя команду:
Список образов выглядит следующим образом:
Для просмотра информации об образе по UUID введите:
Для просмотра информации об образе по имени введите:
Выбрав нужный образ, скопируйте его ID — он понадобится при создании сервера.
Доступные зоны
В регионе может быть доступна одна или несколько зон. Каждая зона представляет собой набор серверов виртуализации и хранения данных, расположенных в отдельных стойках. Серверы в различных зонах можно объединять локальными сетями. Доступные в каждой зоне ресурсы определяются квотами.
Список доступных зон выглядит следующим образом:
Сохраните имя выбранной зоны.
Просмотр информации о сетях
Для просмотра доступных сетей:
Ответ будет выглядеть следующим образом:
Можно выбрать приватную или публичную сеть. UUID сети нужно будет указать при создании сервера.
Подробнее о настройке сервера после создания, например, подключении плавающего IP-адреса или порта к серверу, в инструкции Управление сетями.
Флейвор сервера
В терминологии OpenStaсk конфигурации сервера обозначаются термином флейвор (flavor).
Для создания сервера вы можете:
Сохраните UUID и имя флейвора.
Просмотр типов сетевых дисков
Для создания сервера с сетевыми дисками нужно выбрать их тип.
Просмотрите список доступных типов:
Он выглядит следующим образом:
Перейдите к созданию облачного сервера в зависимости от его типа по инструкциям ниже. После создания он появится в списке серверов проекта.
Создание сервера с загрузочным локальным диском
С помощью CLI
Для создания облачного сервера с загрузочным локальным диском укажите зону доступности, имя выбранного флейвора, сеть и имя образа, из которого нужно создать сервер, например:
Ответ будет выглядеть следующим образом:
Через Terraform
Подробно о начале работы с Terraform.
Создание сервера с загрузочным сетевым диском
С помощью CLI
Для создания облачного сервера с одним загрузочным сетевым диском:
Пример создания сетевого диска:
Ответ будет выглядеть следующим образом:
Пример создания сервера из сетевого диска:
Ответ будет выглядеть следующим образом:
Через Terraform
Подробно о начале работы с Terraform.
Через Terraform можно создать проект с облачным сервером с загрузочным сетевым диском, используя готовый пример на GitHub. Пример создания сервера с загрузочным сетевым диском и двумя портами в разных подсетях.
Создание сервера с загрузочным локальным и дополнительным сетевым диском
С помощью CLI
Через Terraform
Подробно о начале работы с Terraform.
Через Terraform можно создать проект с облачным сервером с загрузочным локальным и дополнительным сетевым диском, используя готовый пример на GitHub.
Персональное облако
Облачное хранилище позволяет не только хранить данные, но и обеспечивать совместную работу с ними в NAS.
Возможные решения
Существует несколько вариантов облачных сервисов: NextCloud, Seafile, Pydio и т.д…
Ниже рассмотрена часть из них.
OwnCloud
Реализован на PHP/Javascript.
NextCloud
Форк OwnCloud. Реализован на PHP/Javascript.
SparkleShare
Seafile
Реализован на C/Javascript.
Pydio
Реализован на PHP/Javascript.
ProjectSend
Реализован на PHP/Javascript.
SpiderOak
Закрытая проприетарная система.
С учётом того, что данное ПО платное и частично закрытое, его использование исключается.
Установка NextCloud
Изначально было желание использовать Seafile: серверная часть реализована на C, он эффективен и стабилен. Но выяснилось, что в бесплатной версии есть далеко не всё.
Потому, я попробовал Nextcloud и остался доволен. Он предоставляет больше возможностей и полностью бесплатен.
Посмотреть, как он работает в демо-режиме вы можете здесь.
Вот общие точки сопряжения между облачным хранилищем и системой:
Т.к. конфигурация NextCloud достаточно объёмна и состоит из нескольких файлов, я не буду приводить их здесь.
Всё, что нужно вы найдёте в репозитории на Github.
Там же доступна конфигурация для SeaFile.
Сначала установите и запустите NextCloud.
Для этого надо скопировать конфигурацию в каталог /tank0/docker/services/nextcloud и выполнить:
Кардинальных отличий или сильного улучшения производительности я не заметил.
Ниже я считаю, что вы используете версию 13+.
Далее, зайдите в NextCloud и выбрав в меню справа вверху «Приложения», выполните установку необходимых плагинов.
Замечу, что если вы установите версию 13+, но потом решите обновиться на версию 15, это и многое другое вы сможете сделать с помощью утилиты occ.
Настройка LDAP не тривиальна, потому я расскажу подробнее.
Нажимайте кнопку «Проверить конфигурацию DN» и, если индикатор проверки зелёный, кнопку «Далее».
Фильтр будет выглядеть так:
Нажимайте «Проверить базу настроек и пересчитать пользователей», и если всё корректно, должно быть выведено количество пользователей. Нажимайте «Далее».
На следующей странице будет настроен фильтр пользователей, по которому NextCloud их будет искать.
На этой странице надо ввести логин какого-либо пользователя и нажать «Проверить настройки».
Последний раз «Далее».
Итоговый фильтр здесь такой:
OnlyOffice
OnlyOffice — это прекрасный кроссплатформенный офисный пакет, который поддерживает работу с документами MS Office. Он бесплатный и открытый, также как и LibreOffice и также способен работать, как сервер.
Но при этом, поддержка оригинального формата у него реализована гораздо лучше, почти как в оригинальном офисе от MS, он более стабилен, имеет более продуманный интерфейс.
Кстати, есть и Desktop версия OnlyOffice, в том числе под Linux. В общем, намучавшись с тяжёлой и нестабильной Collabora (это LibreOffice), я выбрал OnlyOffice и пока вполне доволен.
Конфигурация OnlyOffice доступна на Github и ниже, под спойлером.
Поясню некоторые моменты:
Теперь надо поднять офис:
И, если всё работает, по адресу office.NAS.cloudns.cc будет следующая страница:
Затем, в настройках NextCloud требуется выбрать Пункт «Администрирование->ONLYOFFICE» и прописать в первых двух полях адрес сервера документов: https://office.NAS.cloudns.cc/ и ваш JWT token.
В третьем поле надо прописать адрес облака.
JWT токен возможно сгенерировать, например здесь.
Выводы
Облачное хранилище является центральным звеном для взаимодействия пользователей между собой и другими сервисами.
В этой роли NextCloud весьма удобен и обладает широким функционалом.
У него есть свои в процессе обновления между версиями, но в целом, это хранилище возможно рекомендовать.
Создание своей облачной системы за час
В последнее время появилась возможность создать свой облачный сервис (IaaS) без усилий и программирования. В простейшем случае можно создать Cloud-In-A-Box используя всего один компьютер с процессором который поддерживает виртуализацию. Данное облако имеет свои ограничения и, по-моему, подходит только для тренировки. Если у вас есть две машины с процессорами которые поддерживают виртуализацию, то можно создать полноценное облако пригодное для тестирования и разработки облачных решений. Недавно компания Eucalyptus представила новую версию своего продукта Eucalyptus 3.4. С помощью программы FastStart можно создать полноценную AWS и S3 совместимую IaaS систему без усилий и глубоких знаний продукта.
Я использовал две Intel NUC машины для установки Eucalyptus. Так как у NUC нет дисковода, то я воспользовался CentOS 6.2 машиной для создания загрузочного USB ключа. Для начала надо получить FastStart ISO зайдя на www.eucalyptus.com/eucalyptus-cloud/get-started/try#faststart. После этого создать загрузочный ключ. Я использовал UNetbootin для создания ключа. Не забудьте скопировать FastStart ISO на ключ после окончания работы UNetbootin. На моей машине UNetbootin оставил файловую систему на ключе в read-only режиме после окончания работы и надо было сделать umount и mount ключа для записи файла.
Перед началом инсталляции решите какие IP вы присвоите машинам и какие будете использовать для виртуальных машин в вашем облаке. Я решил присвоить 192.168.10.1 Frontend машине, 192.168.10.2 Node Controller(NC) и использовать 192.168.9.1-192.168.9.100 для публичных адресов виртуальных машин. Убедитесь, что ваши сетевые настройки позволяют задавать машинам статические IP. Если это невозможно вам придется использовать DHCP, что чревато проблемами если сервера получат новые IP после инсталляции системы. Так, что я бы рекомендовал использовать статические IP.
После создания ключа загрузите первую машину с USB. Сначала я установил Node Controller. При инсталляции помимо нескольких стандартных вопросов CentOS мне надо было ввести IP сервера, маску сети, Default Gateway и DNS.
После создания NC я загрузил вторую машину с USB и выбрал Install CentOS 6 with Eucalyptus Frontend в меню. При инсталляции было задано несколько дополнительных вопросов про сетевые настройки и публичные и закрытые адреса для виртуальных машин. Для публичных я выбрал вышеуказанный диапазон, а для закрытых предложенный системой 172.31.Х.Х диапазон. После, когда система предложила зарегистрировать NC, я указал адрес первой созданной машины 192.168.10.2. И это все. После перезагрузки я получил работающую облачную систему.
Для работы с ней можно использовать как UI так и командную строку. После инсталляции система сообщает все параметры для работы с облаком. Если вы что-то забыл просто зайдите на Frontend машину по ssh и вы получите напоминание как это:
Для работы через UI перейдите по адресу указанному выше
Введите ваши данные для demo пользователя и можно начать работать. По умолчанию в системе уже есть один образ на базе CentOS 6.4 и созданы несколько ключей. Так что можно сразу запустить виртуальную машину.
Для работы с командной строкой зайдите по ssh на Frontend машину. И загрузите переменные окружения для одного из двух созданных по умолчанию пользователей. Например:
После этого можно начать использовать командную строку для работы с системой. Например, отобразить все ресурсы системы доступные для запуска виртуальных машин:
После этого надо перезапустить NC процес /etc/init.d/eucalyptus-nc restart и в моем распоряжении оказалось в двое больше ресурсов. Я бы не стал злоупотреблять с изменением числа процессоров, но удвоить их, думаю, смело можно если виртуальные машины не будут использовать 100% своих процессорных мощностей.
Если вам привычнее использовать русскоязычный интерфейс в UI, то можно поменять языковые настройки UI. Для этого зайдите по ssh на Frontend машину и отредактируйте /etc/eucalyptus-console/console.ini файл. Надо поменять locale language=ru_RU
После этого перезапустите eucalyptus-console процесс /etc/init.d/eucalyptus-console restart
Зайдя опять в UI вы увидите, что меню и многие сообщения переведены на русский язык.
На всю инсталляцию двух машин и настройки я потратил меньше часа.
Делаем сетевое хранилище из старого ПК
Содержание
Содержание
При покупке нового компьютера, возникает вопрос, что сделать со старым: продать, подарить, отдать знакомым. Не спешите расставаться со старым другом!
Некогда любимый ПК, разжалованный в старую железку, может еще пригодиться. Сейчас популярна тема домашних сетевых хранилищ, так называемых NAS-серверов.
На рынке есть аппаратные решения — компактные черные квадраты и прямоугольники на 2–20 дисков. Цена от 12 000 рублей за самый простенький вариант. Это те же компьютеры, только с большой корзиной для дисков и специфической операционной системой. Охлаждение продумано в них значительно лучше в сравнении со стандартным ПК, зато у нашей старой железки есть ряд неоспоримых преимуществ.
Преимущества NAS из Б/У ПК
Апгрейд: новая память, система охлаждения, количество HDD;
Подключение периферии: принтер, камеры, модули связи;
Установка любой понравившейся ОС;
Стоимость Б/У железа меньше, чем у готового решения.
Зачем нужен NAS?
Количество устройств, транслирующих мультимедийный контент в доме, увеличивается с каждым годом. К настольным ПК и ноутбукам, добавились планшеты, смартфоны, телевизоры, умные колонки. Скоро кофемолка с холодильником начнет запрашивать доступ к папке с фотографиями и списку контактов. Закачивать файлы на каждое устройство долго, неудобно, платить за облако на несколько терабайт — дорого.
NAS-сервер из старого ПК может выступать в качестве: персонального облака, хостинга для сайтов, хранилища фильмотеки с доступом с любого устройства, местом для сохранения бекапов своих проектов. Отправив торрент-файл со смартфона на закачку, фильм можно просмотреть на телевизоре после загрузки. Владельцам частных домовладений пригодится функция записи с IP-камер видеонаблюдения. Сохранение данных со всех устройств можно синхронизировать и автоматизировать.
Мощностей обычного ПК хватит на 5–10 человек, небольшой офис. Начинающие бизнесмены могут сэкономить на покупке дорогих аппаратных решений и быстро поднять свой сервер, собранный из старого железа. Подойдет любой компьютер, который жалко выбросить, и в то же время он уже не тянет современные графические редакторы и игры. Доступ к файловому хранилищу легко ограничить. Пользоваться сервером смогут дизайнер, бухгалтер, менеджер, но при этом каждый будет просматривать только свои папки и каталоги.
Что понадобится?
Дискретная видеокарта не нужна. Возможностей встроенных графических обработчиков от Intel и Athlon достаточно. Клавиатуру, мышь тоже отправляем в чулан.
Корпус — любой, вмещающий в себя более двух жестких дисков. Если корзина для HDD маленькая, можно расширить за счет CD-ROM. В фасад Midi-Tower монтируется до 4 корзин по 3–4 диска в каждой.
Блок питания — 300–350W. Сервера потребляют мало электроэнергии. Для полной уверенности лучше взять калькулятор и подсчитать, сколько «ест» система. Если NAS собирается на 10–15 дисков и с мощным процессором, ставим 450–500W.
Материнская плата — любая, в идеале два LAN-порта c 1 Gb каналом и большим количеством выходов питания для винчестеров. Если такой нет, можно поставить расширитель в PCI-слот. При желании, с помощью китайских плат и разветвителей для кабелей питания, устанавливается два десятка HDD.
Оперативная память — зависит от операционной системы, минимальные требования: 1 Gb DDR 2. Максимум, что может потребоваться: 8Gb DDR3. Память с низкой частотой в 800 MHz предпочтительней, чем RAM с 1333 или 2400 MHz, потому что потребляет мало энергии.
Процессор лучше брать с низким TDP на уровне 45–65 ℃, Pentium IV, серверные Xeon или аналог от конкурента.
Бесперебойник должен быть с функцией парковки ПК и автоматического отключения питания платы.
Весь смысл NAS в круглосуточной работе.
Сервера иногда «падают» — это нормально и случается даже у крупных хостеров. Блок бесперебойного питания сначала должен зарядиться от сети и лишь потом дать напряжение на материнку. Для правильной работы в Bios надо настроить автоматический запуск системы после подачи питания.
Жесткие диски — красный Western Digital самый популярный вариант, стоит недорого, долговечен, хорошо ведет себя в RAID. При выборе других брендов стоит обращать внимание на тип перезаписи и выносливость диска, скорости 7200 оборотов в минуту достаточно.
SSD — от 32 Gb для установки системы. Тем, кто собирается устанавливать мультимедийные библиотеки, хостинг, ПО для IP-камер, лучше сразу поставить на 64 или 128 Gb.
Wi-Fi — любой от 100 Mb, лучше — внешний, чтобы не греть внутренности.
Охлаждение — все зависит от того, как охлаждается массив HDD. Каждый диск выдает 38–70℃. Надо ставить 1–2 больших и тихих кулера, плюс пассивное охлаждение на процессор. ВДО — еще лучше.
Какую ОС выбрать для NAS?
Существует несколько десятков операционных систем для организации работы сервера, сконцентрируемся на самых популярных.
Windows — подойдет для «неуверенных» пользователей. Управлять NAS можно через любой сервер-клиент, лучше всего для этих целей использовать FileZilla Client. Бесплатная софтина доступна на официальном сайте. Все диски сервера необходимо расшарить, добавив в папку Shared Folder. Рекомендуется сразу поставить лимит скорости и ограничить диапазон IP-адресов для доступа к HDD.
Для удаленного управления ПК из глобальной сети придется установить маршрутизатор и выбрать настройки переадресации 20 и 21 портов. Удаленное соединение через интернет осуществляется по 14 и 147 порту. Настроить DNS можно с помощью меню роутера. Рассмотрим подключение на примере Asus.
После выбора бесплатного сервера во вкладке «DDNS», необходимо зарегистрировать уникальное имя хоста, например, «myNas». Дальше в любом браузере вводим название своего домена: myNasAsuscomm.com и получаем доступ к расшаренным папкам.
— бесплатное ПО на базе FreeBSD. Основные преимущества: дружественный веб-интерфейс, репликация данных ZFS быстрее в 8 раз, чем в FreeBSD, поддержка RAID 0,1 и 5. Инсталляционный образ весит 780 мегабайт. Как настроить, читаем здесь.
NAS4FREE — еще одна бесплатная операционная система на ОС FreeBSD. Обновленный графический интерфейс с поддержкой обмена файлами на ОС Windows.
Open Media Vault (OMV) — масштабируемая система на основе Debian linux. В отличие от FreeNAS, умеет делать RAID 6. Можно настроить отправку сообщения по электронной почте, есть автоматическое создание бекапов и плагины для DAAP медиа-сервера, BitTorrent-клиент, хостинга, NFS, ISCSI, RSYNC. ОС подходит для дома и небольшого офиса на 5–10 человек. Панель управления напоминает смесь браузера и веб-панели администратора сайта. Инструкция по установке.
Ubuntu Server — подойдет фанатам Пингвина. Интерфейс крайне лаконичен. Последняя актуальная версия — 12.4 LTS. У администраторов сайтов сложностей не возникнет.
Synology (Xpenology) — красивая, современная, дорогая. Устанавливается в качестве лицензионной системы на аппаратные NAS-сервера. Управлять ею так же легко, как Windows. Позволяет инсталлировать сотни модулей: хостинг, CMS, готовые и настроенные для работы облачные хранилища, различные менеджеры, языки и среды программирования, почтовые сервера, пакеты офисных программ, автоматическое копирование USB-носителей, создание баз данных. Всем она хороша, кроме цены. Synology идет в комплекте с аппаратными NAS + надо платить за расширенные возможности. Demo версия доступна по ссылке.
Xpenology — все то же самое, только взломанное ручками неравнодушных граждан. Единственный минус — не работает удаленный доступ, поскольку выделенный IP-сервер получает через Synology. Проблема решается с помощью серого IP, но только внутри локальной сети. Как установить и пропатчить, написано тут.
Какой создать RAID?
Для доступа к данным сервера можно не заморачиваться с рейдом дисков, особенно, если используется обычная Windows OS. Acronis умеет делать единый виртуальный диск из нескольких винчестеров. Доступ к нему можно получить через FTP с любого устройства. Создавать RAID стоит, если скорости чтения HDD не хватает для игр, когда необходимо хранить объемные видеоролики, большое количество фотографий и бекапов.
Особенности RAID-массивов
RAID 0 — автоматическое распределение файлов по разным дискам. Полетит один HDD — все файлы будут потеряны. Используется только для хранения неважной информации — игр со стима, старых копий бекапа. Единственное преимущество — быстрая скорость чтения, иногда помогающая при фризах в онлайн-играх.
RAID 1 (зеркало) — все файлы дублируются на двух группах винчестеров. При установке 2 терабайт, доступно для записи только 1T.
RAID 2, 3 и 4 — не поддерживается на домашних ПК и многих OC, пропускаем.
RAID 5 — минимум установка 3 HDD, на каждом хранится информация для восстановления и записанные данных. При выходе их строя одного, с 2 других можно восстановить информацию. RAID 5 объединяет в себе возможности 0 и 1, но «съедает» около 16% полезного пространства. Если выйдет из строя сразу 2 диска – информация будет утеряна. Хорошо подходит под хранение видео и объемных файлов.
RAID 6 — медленнее и нажористей пятого номера, отъедает 33%. Способен пережить гибель двух HDD без особых проблем. Рекомендуется для хранения важных бекапов.
SAS-контроллер для бытового использования не нужен, достаточно программной настройки работы дисков. Офису от 10 человек или специалисту по работе с графикой, может понадобится. Обычно контроллеры для RAID устанавливаются в аппаратные NAS сервера.
Какой HDD выбрать для RAID
Лучше всего использовать специальные диски для домашних сетевых хранилищ, например, WD Red Nas Hard Drive. У них есть функция 3D Action RAID, обеспечивающая быстродействие и повышенную надежность. Такие диски рассчитаны на круглосуточную работу в RAID-массивах.
Почему черепица быстро сыпется?
SMR — технология, позволяющая увеличить на 25% вместимость диска за счет использования физического пространства. На таких HDD пишущая головка в два раза толще считывающий. На всех жестких дисках тонкие дорожки с ценной информацией чередуются с широкими с сервисными данными. В результате большой объем пространства теряется. Технология SMR позволяет частично перекрывать толстые дорожки тонкими — этот метод получил название «Черепичная запись». Основной недостаток такого подхода: при записи файла, необходимо перезаписывать все смежные данные до конца пластины. Такие диски на 20% медленнее традиционных и быстрее изнашиваются. Их можно устанавливать, но в одном рейде нельзя комбинировать диски с черепичным и обычным типом записи. Последнее время производители перестали сообщать, при производстве каких дисков они используют SMR, перед покупкой уточняйте, по какой технологии изготовлена конкретная модель HDD.
Заключение
Сборка своего NAS из старого компьютера не сложнее обычного апгрейда ПК. Установив ОС по инструкции, можно за день-два поднять свой сервер и качать торренты, смотреть фильмы в 4К, связать телефон и планшет с практически безразмерным облаком. Программных решений достаточно. RAID создается в пару кликов мыши. Внимательно стоит отнестись к выбору HDD и системе охлаждения, греться и жужжать эта штука не должна!