Synnefo - Synnefo

Synnefo
Разработчики)GRNET
Стабильный выпуск
0.19.1 / 23 июня 2017 г.; 3 года назад (2017-06-23)[1]
Репозиторийgithub.com/ grnet/ synnefo
Написано вPython
ТипОблачные вычисления
ЛицензияСтандартная общественная лицензия GNU
Интернет сайтwww.synnefo.org

Synnefo - это полный Открытый исходный код облако стек записан в Python что обеспечивает Вычислить, Сеть, Образ, Объем и Место хранения услуги, аналогичные предлагаемым AWS. Synnefo управляет несколькими Google Ganeti кластеры на бэкэнд которые обрабатывают низкоуровневые ВМ операций и использует Archipelago для унификации облачного хранилища. Чтобы повысить совместимость со сторонними производителями, Synnefo предоставляет OpenStack API для пользователей.

Synnefo разрабатывается GRNET (Греческая исследовательская и технологическая сеть) и поддерживает два своих общедоступных облачных сервиса: ~ океанос сервис, предназначенный для греческого академического сообщества, и ~ океанос глобальный сервис, который открыт для всех участников GÉANT сеть.

История

В ноябре 2006 года, стремясь предоставить передовые облачные сервисы греческому академическому и исследовательскому сообществу, GRNET решает запустить сервис облачного хранения, аналогичный Amazon S3, называется Питос. Проект передан на внешний подряд и откроется для публичного бета-тестирования для членов греческого академического и исследовательского сообщества в мае 2009 года.[2]

В июне 2010 года GRNET решает сделать следующий шаг в этом курсе; для создания полноценного облачного сервиса, подобного AWS (Compute / Network / Volume / Image / Storage). Эта услуга называется ~ океанос, стремится предоставить греческому академическому и исследовательскому сообществу доступ к виртуальной инфраструктуре, которой могут воспользоваться различные проекты, например эксперименты, симуляции и лаборатории. Учитывая неэфемерный характер ресурсов, которые предоставляет сервис, возникает потребность в постоянных облачных серверах. В поисках решения в октябре 2010 года GRNET решает основать службу на Google Ganeti, а также разработать и реализовать все недостающие части собственными силами.

В мае 2011 года старая служба Pithos была переписана с нуля внутри компании с намерением интегрировать ее в ~ okeanos в качестве службы хранения. Более того, новый Pithos добавляет поддержку синхронизации, подобной Dropbox.

В июле 2011 года ~ okeanos выходит на публичную альфа-стадию. Эта версия (v0.5.2.1) включает службы идентификации, вычислений, сети и примитивных изображений. Альфа-релиз нового, переписанного Pithos следует вскоре после этого, в ноябре 2011 года. Он продается как Pithos +, а старый Pithos остается отдельной услугой. Новый Pithos +, хотя еще не интегрирован в ~ okeanos, предоставляет возможности синхронизации и совместного использования файлов, а также собственные клиенты синхронизации для Mac OS X, iPhone, iPad и Windows.

В марте 2012 года ~ okeanos входит в публичную фазу alpha2. Эта версия (v0.9) включает полную интеграцию нового Pithos как части ~ okeanos и теперь действует как единое хранилище для изображений и файлов. Примерно в этот момент, в апреле 2012 года, команда ~ okeanos решает называть весь программный стек Synnefo и начинает писать первую версию документации Synnefo.

В декабре 2012 года из-за интереса со стороны других сторон к стеку Synnefo GRNET решает концептуально разделить проекты ~ okeanos и Synnefo. Synnefo начинает становиться независимым от брендов программным обеспечением для облачных вычислений IaaS, а ~ okeanos становится его реальным приложением, IaaS для греческого академического и исследовательского сообщества.

В апреле 2013 года после огромной очистки и рефакторинга кода выходит новая версия Synnefo (v.013). Все отдельные компоненты объединены в единый репозиторий Synnefo. Это первый выпуск в виде единого проекта, содержащего все части (Compute / Network / Volume / Image / Storage).

В июне 2013 года выходит Synnefo v0.14. Начиная с этой версии, Synnefo сохраняет нейтральный характер (все оставшиеся ссылки на ~ okeanos удалены). Он также получает механизм брендинга и соответствующую документацию, чтобы другие могли адаптировать его к своей торговой марке.

Обзор

Synnefo разработан для использования в любой среде.

Компоненты

Synnefo имеет модульную структуру и состоит из следующих компонентов:

Astakos (услуги идентификации / учетной записи)

Astakos - это компонент управления идентификацией, который обеспечивает общую базу пользователей для остальной части Synnefo. Astakos обрабатывает создание пользователей, группы пользователей, учет ресурсов, квоты, проекты и выдает токены аутентификации, используемые в инфраструктуре. Он поддерживает несколько методов аутентификации:

Pithos (службы файлового / объектного хранилища)

Pithos - это компонент хранилища объектов / файлов Synnefo. Пользователи загружают файлы на Pithos с помощью веб-интерфейса, клиента командной строки или собственных клиентов синхронизации. Это тонкий слой, отображающий пользовательские файлы в блоки с адресацией по содержимому, которые затем сохраняются на сервере хранения. Файлы разбиваются на блоки фиксированного размера, которые хэшируются независимо для создания уникального идентификатора для каждого блока, поэтому каждый файл представлен последовательностью имен блоков (хэш-карта). Таким образом, Pithos обеспечивает дедупликацию файловых данных; блоки, общие для файлов, сохраняются только один раз.

Текущая реализация использует блоки размером 4 МБ, хешированные с помощью SHA256. Адресация на основе содержимого также обеспечивает эффективную двустороннюю синхронизацию файлов, которую могут использовать все клиенты Pithos (например, клиент командной строки kamaki или собственные клиенты Windows / Mac OS). Когда кто-то хочет загрузить обновленную версию файла, клиент хеширует все блоки файла, а затем запрашивает сервер создать новую версию для этой последовательности блоков. Сервер вернет ответ об ошибке со списком отсутствующих блоков. Затем клиент может загрузить каждый блок один за другим и повторить создание файла. Аналогично, всякий раз, когда файл был изменен на сервере, клиент может запросить его список блоков и загрузить только измененные.

Pithos работает на облачном уровне и предоставляет внешнему миру API-интерфейс OpenStack Object Storage с настраиваемыми расширениями для синхронизации. Любой клиент, взаимодействующий с OpenStack Swift, также может использоваться для хранения объектов в развертывании Pithos. Процесс сопоставления пользовательских файлов с хэшированными объектами не зависит от фактического внутреннего хранилища, которое выбирается администратором с помощью подключаемых драйверов. В настоящее время у Pithos есть драйверы для двух бэкэндов хранения:

  • файлы в общей файловой системе, например, NFS, Lustre, GPFS или GlusterFS
  • объекты в кластере Ceph / RADOS.

Каким бы ни был бэкэнд хранилища, он отвечает за надежное хранение объектов без какого-либо подключения к облачным API или операциям хеширования.

Cyclades (услуги Compute / Network / Image / Volume)

Cyclades - это компонент Synnefo, который реализует сервисы Compute, Network, Image и Volume. Он предоставляет связанные API REST OpenStack: OpenStack Compute, Network, Glance, а вскоре и Cinder. Cyclades - это часть, которая управляет несколькими кластерами Ganeti на бэкэнде. Cyclades выдает команды кластеру Ganeti с помощью удаленного API Ganeti (RAPI). Администратор может динамически расширять инфраструктуру, добавляя новые кластеры Ganeti для достижения масштаба центра обработки данных. Cyclades ничего не знает об операциях управления виртуальными машинами низкого уровня, например, об управлении созданием виртуальных машин, миграции между физическими узлами и обработке простоев узлов; дизайн и реализация API конечного пользователя ортогональны работе с виртуальными машинами на сервере.

Существует два разных асинхронных пути взаимодействия между Synnefo и Ganeti. Путь эффекта активируется в ответ на запрос пользователя; Cyclades выдает Ganeti команды управления виртуальной машиной через RAPI. Путь обновления запускается всякий раз, когда состояние виртуальной машины изменяется из-за действий, инициированных Synnefo или администратором, происходящих на уровне Ganeti. В пути обновления мы отслеживаем очередь заданий Ganeti для отправки уведомлений остальной части инфраструктуры Synnefo через очередь сообщений.

Пользователи имеют полный контроль над своими виртуальными машинами: они могут создавать новые, запускать их, завершать работу, перезагружать и уничтожать. Для конфигурации своих виртуальных машин они могут выбрать количество процессоров, размер ОЗУ и системного диска, а также операционную систему из предопределенных образов, включая популярные дистрибутивы Linux (Debian, Ubuntu, CentOS, Fedora, Gentoo, Archlinux, OpenSuse), MS- Windows Server 2008 R2 и 2012, а также FreeBSD.

REST API для управления виртуальными машинами, будучи совместимым с OpenStack, может взаимодействовать со сторонними инструментами и клиентскими библиотеками.

Пользовательский интерфейс Cyclades написан на Javascript / jQuery и полностью работает на стороне клиента для максимальной скорости реагирования. Это просто еще один клиент API; все операции пользовательского интерфейса происходят с асинхронными вызовами через API.

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

Смотрите также

использованная литература

  1. ^ "Выпущен Synnefo v0.19.1". Получено 13 июля 2017.
  2. ^ "Временная шкала Synnefo". synnefo.org. Получено 4 апреля 2014.

внешние ссылки