Синнефо
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Разработчик(и) | ГРНЕТ |
---|---|
Стабильная версия | 0.19.1
/ 23 июня 2017 г [ 1 ] |
Репозиторий | github |
Написано в | Питон |
Тип | Облачные вычисления |
Лицензия | Стандартная общественная лицензия GNU |
Веб-сайт | www |
Synnefo — это полный стек с открытым исходным кодом, облачный написанный на Python , который предоставляет сервисы вычислений , сети , изображений , томов и хранилища , аналогичные тем, которые предлагает AWS . Synnefo управляет несколькими Google Ganeti кластерами на серверной стороне , которые обрабатывают низкоуровневые операции с виртуальными машинами , и использует Archipelago для унификации облачного хранилища. Чтобы повысить совместимость сторонних разработчиков, Synnefo предоставляет OpenStack пользователям API .
Synnefo разрабатывается GRNET (Греческой сетью исследований и технологий) и обеспечивает работу двух ее общедоступных облачных сервисов: сервиса ~okeanos , ориентированного на академическое сообщество Греции, и глобального сервиса ~okeanos , открытого для всех. члены сети GÉANT .
История
[ редактировать ]В ноябре 2006 года, стремясь предоставить передовые облачные услуги греческому академическому и исследовательскому сообществу, GRNET решает запустить службу облачного хранения , аналогичную Amazon S3 , под названием Pithos . Проект передан на аутсорсинг и открыт для публичного бета-тестирования для членов греческого академического и исследовательского сообщества в мае 2009 года. [ 2 ]
В июне 2010 года GRNET принимает решение о следующем шаге в этом направлении; для создания полноценного облачного сервиса, подобного AWS (вычисления/сеть/том/изображение/хранилище). Эта услуга под названием ~okeanos призвана предоставить греческому академическому и исследовательскому сообществу доступ к виртуализированной инфраструктуре, которой могут воспользоваться различные проекты, например, эксперименты, моделирование и лаборатории. Учитывая неэфемерный характер ресурсов, которые предоставляет сервис, возникает необходимость в постоянных облачных серверах. В поисках решения в октябре 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 вступает в публичную фазу альфа2. Эта версия (v0.9) включает полную интеграцию нового Pithos как часть ~okeanos и теперь действует как единое хранилище изображений и файлов. Примерно в этот момент, в апреле 2012 года, команда ~okeanos решает назвать весь стек программного обеспечения Synnefo и начинает писать первую версию документации Synnefo.
В декабре 2012 года из-за интереса других сторон к стеку Synnefo GRNET решает концептуально разделить проекты ~okeanos и Synnefo. Synnefo начинает становиться нейтральным к брендингу программным обеспечением для облачных вычислений IaaS, а ~okeanos становится его реальным приложением, IaaS для греческого академического и исследовательского сообщества.
В апреле 2013 года после масштабной очистки и рефакторинга кода выходит новая версия Synnefo (v.013). Все отдельные компоненты объединены в единый репозиторий Synnefo. Это первый релиз в виде единого проекта, содержащего все части (Вычислительные ресурсы/Сеть/Том/Образ/Хранилище).
В июне 2013 года выйдет Synnefo v0.14. Начиная с этой версии, бренд Synnefo является нейтральным (все оставшиеся ссылки на ~okeanos удалены). Он также получает механизм брендинга и соответствующую документацию, чтобы другие могли адаптировать его к своему брендингу.
Обзор
[ редактировать ]Synnefo разработан для развертывания в любой среде.
Компоненты
[ редактировать ]Synnefo имеет модульную структуру и состоит из следующих компонентов:
Астакос (услуги идентификации/аккаунта)
[ редактировать ]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 (сервисы вычислений/сети/изображений/томов)
[ редактировать ]Cyclades — это компонент Synnefo, реализующий службы вычислений, сети, изображений и томов. Он предоставляет связанные API-интерфейсы OpenStack REST: OpenStack Compute, Network, Glance и вскоре также Cinder. Cyclades — это часть, которая управляет несколькими кластерами Ganeti на бэкэнде. Cyclades передает команды кластеру Ganeti, используя Remote API Ganeti (RAPI). Администратор может динамически расширять инфраструктуру, добавляя новые кластеры Ganeti для достижения масштаба центра обработки данных. Cyclades ничего не знает об операциях управления виртуальными машинами на низком уровне, например об обработке создания виртуальных машин, миграции между физическими узлами и обработке простоев узлов; проектирование и реализация API конечного пользователя ортогональны обработке виртуальных машин на серверной стороне.
Во взаимодействии Synnefo и 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 и пользовательского интерфейса.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Выпущен Synnefo v0.19.1» . Проверено 13 июля 2017 г.
- ^ «Хронология Синнефо» . Synnefo.org . Проверено 4 апреля 2014 г.