Документ содержит описание программной платформы облачных вычислений OpenStack. Документ содержит описание общей архитектуры CloudComputing, схематичную и


Скачать 402.46 Kb.
НазваниеДокумент содержит описание программной платформы облачных вычислений OpenStack. Документ содержит описание общей архитектуры CloudComputing, схематичную и
страница1/3
Дата публикации14.03.2014
Размер402.46 Kb.
ТипДокументы
referatdb.ru > Информатика > Документы
  1   2   3


БГЛИ.30344-03 13 01

Аннотация

Документ содержит описание программной платформы облачных вычислений OpenStack. Документ содержит описание общей архитектуры CloudComputing, схематичную и логическую архитектуру OpenStack и детальное описание каждого из компонентов платформы. В документе приводится описание вспомогательных сервисов платформы облачных вычислений.

СОДЕРЖАНИЕ

Аннотация 2

СОДЕРЖАНИЕ 3

1. Архитектура CloudComputing 4

2. Описание OpenStack 6

3. Компоненты 7

4. Схематичная архитектура 11

5. Логическая архитектура 13

6. Вычислительный контроллер (Nova) 15

7. Инфраструктура хранения (Swift) 19

8. Сервис образов (Glance) 21

9. Инструментальная панель 22

10. Аутентификация и авторизация 23

11. Ceilometer 24

12. Вспомогательный сервис Zabbix 26

12.1. Архитектура 26

13. Вспомогательный сервис GLPI 37

13.1. Технические требования 37

14. Вспомогательный сервис Chef 40

14.1. Архитектура 40

15. Вспомогательный сервис MediaWiki 44

15.1. Технические требования 44




  1. Архитектура CloudComputing

При детальном рассмотрении "облако" представляет собой не единственный сервис, а целый набор сервисов. Каждый уровень на рисунке 1.1 вносит свой вклад в предоставление сервисов.





Рисунок 1.1 – Уровни, на которых строится CloudComputing

Самый нижний уровень отвечает за инфраструктуру (Infrastructure-as-a-Service или IaaS, инфраструктура как сервис). IaaS представляет собой сервис по аренде инфраструктуры, т.е. вычислительных ресурсов и систем хранения. К этим ресурсам относятся не только виртуальные серверы с гарантированной вычислительной мощностью, но и каналы связи требуемой пропускной способности для доступа к хранилищам данных и Интернет. Таким образом, на этом уровне предоставляется возможность временного использования компьютеров или дата-центров при требуемом качестве обслуживания, с возможностью исполнения произвольной операционной системы и программ.

Следующий уровень сервиса при движении на диаграмме вверх – уровень платформы (Platform-as-a-Service или PaaS, платформа как сервис). PaaS похож на уровень IaaS, но включает в себя операционные системы и сопутствующие службы, ориентированные на определенные приложения. Например, PaaS совместно с виртуальными серверами и системами хранения предоставляет определенную операционную систему и набор приложений, а также доступ к различным специализированным локальным сервисам. Другими словами, PaaS – это IaaS вместе со стеком приложений, выполняющим конкретную задачу.

На самом верху схемы располагается наиболее простой предоставляемый уровень – уровень приложений (Software-as-a-Serviceили SaaS, программное обеспечение как сервис), который предполагает использование приложения из централизованной (и, возможно, удаленной – из "облака") системы для работы на локальном компьютере. SaaS является измеряемой услугой и позволяет как бы арендовать приложение и оплачивать только время работы с ним.

Как правило, системное программное обеспечение для облачных вычислений состоит из двух частей:

  • клиентская часть, которая обеспечивает управление облаком и предоставлением его ресурсов по запросу пользователей;

  • серверная часть, которая обеспечивает масштабирование и обеспечение облачных ресурсов.

Так выглядит "облачные" Cloud Computing в самых общих чертах. В приведенной схеме опущены некоторые составляющие, например data-Storage-as-a-Service(dSaaS, хранилище как сервис). Также существуют специальные "облачные" сервисы, обеспечивающие взаимодействие, как между внутренними компонентами, так и с внешними системами (при помощи некого API), например Web.

  1. ^ Описание OpenStack

OpenStack Compute является легко масштабируемым программным обеспечением, которое может работать как в небольших вычислительных центрах обычных компаний, так и в крупнейших дата-центрах различных сервис-провайдеров.

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

OpenStack предлагает открытый исходный код для создания государственных и частных облачных инфраструктур. Поскольку проект OpenStack является результатом работы сообщества программистов, целью проекта является стремление помочь организациям осуществлять развёртывание облачной инфраструктуры для виртуальных вычислительных машин или хранения данных. OpenStack содержит коллекцию проектов с открытым кодом, которые поддерживаемые сообществом, включая OpenStack Compute (под кодовым названием Nova), OpenStack объектов хранения (под кодовым названием Swift), и OpenStack Imaging обслуживания. OpenStack обеспечивает операционную платформу, или набор инструментов, отвечающий за организацию облака.

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

  1. Компоненты

Проект состоит из шести "основных" компонентов.

  • Хранилище объектов ("Swift") предоставляет хранение объектов. Оно позволяет хранить и производить выборку файлов, но не дает создавать директории, как, например, файл-сервер (не является POSIX-совместимой системой, но предоставляет API для работы с объектами). Ряд компаний предоставляет коммерческие услуги по хранению информации на основе Swift.

  • Компонент "Glance" предоставляет каталог и хранилище для образов виртуальных дисков. Образы дисков больше всего используются в OpenStack Compute. Хотя этот компонент и опционален, он необходим для облака любого размера.

  • Сервис Compute ("Nova") предоставляет виртуальные сервера по требованию. Подобно сервису EC2 от Amazon, он также предоставляет услуги дискового пространства аналогично Elastic Block Services (EBS). Internap предоставляет коммерческий сервис compute на основе Nova, который задействован для внутренних нужд в Mercado Libre и NASA.

В проект добавлены три дополнительных компонента, перешедших в разряд "основных".

  • Инструментальная панель ("Horizon") предоставляет модульный пользовательский веб-интерфейс для всех сервисов OpenStack.

  • Компонент авторизации ("Keystone") предоставляет аутентификацию и авторизацию для всех сервисов OpenStack. Он также предоставляет каталог сервисов, доступных в деплойменте.

  • Ceilometer – это инфраструктура для сбора метрик в облаке OpenStack, созданная для мониторинга и измерения.

Три этих новых проекта предоставляют дополнительную инфраструктуру для поддержки трех существующих проектов.

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

Компонент хранения объектов OpenStack является системой для хранения объектов в масштабируемой системе большой мощности с требованиями возможной встроенной избыточности, либо отказоустойчивости. Компонент хранения объектов имеет целый ряд приложений, таких как резервное копирование или архивирование данных, поступающей графики или видео (потоковых данных в браузере пользователя), выступающей содержания с Content Delivery Network (CDN), хранения вторичных или третичных статических данных, разработке новых приложений с интеграцией хранения данных, хранении данных при прогнозировании ресурсоёмких задач, а также создании эластичных и гибких облачных хранилищ для пользовательских веб-приложений.

Компонент обработки изображений и служб OpenStack реализует интерфейс службы поиска и поисковой системы для виртуальных машин. Он может быть сконфигурирован тремя способами: с помощью OpenStack Object Store для хранения изображений, с использованием S3 хранения непосредственно, а также с использованием S3 хранения с Object Store в качестве промежуточного уровня для S3 доступа.

Вычислительный компонент OpenStack предоставляет пользователям инструмент для организации облачной инфраструктуры, в том числе функционирование работающих экземпляров, управления сетями, а также контроля за доступом к облакам через пользователей и проектов. OpenStack представляет собой программное обеспечение, которое может контролировать облачную инфраструктуру в виде модели «инфраструктура как услуга» (IaaS) платформы облачных вычислений. Он похож по своим масштабам на облачные инфраструктуры сервисов AmazonEC2 и Rackspace. OpenStackCompute не включает программное обеспечение для виртуализации, он лишь определяет драйверы, которые взаимодействуют с основными механизмами виртуализации, которые работают на операционной системе, и предоставляет функциональность веб-API.

Система OpenStack Compute предназначена для использования различных облачных вычислений потребителями, используя стандартные разграничения прав доступа на основе ролей заданий доступа. К примеру, роли контроля действий, которые пользователю разрешено выполнять, а также которые выполнять запрещено. Например, пользователь не может выделить IP-адрес без NetAdmin или роли привилегий администратор. Доступ пользователей к частности изображений ограничен проекта, но ключ доступа и секретный ключ назначены на пользователя. Ключевые пары предоставления доступа к примеру включены на пользователя, но квоты для контроля потребления ресурсов через доступные аппаратные ресурсы на одного проекта.

OpenStack Compute использует прав система управления, которая использует доступа на основе ролей (RBAC) модель и поддерживает следующие пять ролей.

  • Облако администратора (администратора): пользователи этого класса пользуются полным доступом к системе.

  • ИТ-безопасности (ITSEC): Эта роль ограничивается ИТ-безопасности. Это позволяет владельцам роль в карантин экземпляров.

  • Менеджер проекта (Управление проектами): по умолчанию для владельцев проекта, эта роль дает пользователям возможность добавлять других пользователей к проекту, взаимодействовать с проектом изображения, и запуск и прекратить экземпляров.

  • Администратор сети (NetAdmin): пользователи с этой ролью разрешается выделить и назначить общедоступных IP-адреса, а также создавать и изменять правила брандмауэра.

  • Разработчик (разработчик): Это общее роль цели, назначенный по умолчанию пользователь.

Хотя в первоначальной концепции EC2 API поддерживает пользователей, OpenStack Compute добавляет концепции проектов. Проекты состоят из отдельных VLAN, хранилищ, изображений, ключей, и пользователей. Пользователь может указать, какой проект он или она хочет использовать путем добавления: project_id к его или ее ключ доступа. Если проект не указан в запросе API, вычислительный компонент попытается использовать проект с тем же идентификатор, что и идентификатор пользователя.

Для проектов существуют следующие квоты:

  • количество томов, которые могут быть созданы;

  • общий размер всех томов в рамках проекта, измеряется в ГБ;

  • количество процессорных ядер, которые могут быть задействованы;

  • публичнодоступные IP-адреса.

Изображения и экземпляры. Вычислительный компонент OpenStack создает экземпляры и выполняет функции создания образа диска, его запуска, отображения состояния, сохранения данных, а также завершения работы. OpenStack поддерживает следующие типы стандартов виртуализации: KVM, UML, XEN, Hyper-Vи QEMU.

Изображение – файл, содержащий информацию о виртуальном диске, который полностью копирует всю информацию о рабочем компьютере в определенный момент времени, включая операционные системы информации и файловые системы. Вычислительный компонент опирается на использование инструментов командной строки euca2ools эвкалипта: команды для добавления, работы, и удаления изображений.

Есть два метода для управления изображениями. Изображения могут быть поданы через службу OpenStack Imaging, или использовать Nova-ObjectStore службу. При использовании службы OpenStack Imaging, сервера на месте хранения службы изображения получает изображения на хост-машине, а затем OpenStack Compute загружает изображение из машины.

OpenStack создает услуги доступные через API совместимый с Amazon EC2/S3 и следовательно, клиентские приложения написанные для AWS (Amazon web services) могут быть использованы и для OpenStack.


  1. ^ Схематичная архитектура

Проект OpenStack в целом разработан с целью "предоставления широкомасштабной облачной операционной системы". Для достижения этой цели, каждый из составных сервисов спроектирован для предоставления полной "Инфраструктуры как услуги" (IaaS). Интеграция достигается при помощи программных интерфейсов приложений (API), предоставляемых каждым сервисом (и, в свою очередь, отвечающим на запросы через этот интерфейс). Эти API-интерфейсы позволяют любым сервисам взаимодействовать друг с другом в системе, а также позволяют реализаторам подключить свою реализацию сервиса при условии, что они имплементируют тот же набор методов. По большей части это тот же набор API методов, что доступен конечным пользователям облака.

Схематично взаимоотношения между сервисами можно представить так (рисунок 4.1):



Рисунок 4.1 – Взаимодействие между сервисами

  • Horizon предоставляет веб-клиент для доступа к другим сервисам OpenStack;

  • Nova хранит и осуществляет выборку виртуальных дисков ("образов") и связанные с ними метаданные в Glance;

  • Glance хранит сами файлы виртуальных дисков в Swift (возможны другие бэкэнды, например, любая POSIX совместимая файловая система );

  • все сервисы (в конечном итоге) аутентифицируются через Keystone.

Это стилизованный и упрощенный вид архитектуры с учетом того, что реализатор использует все сервисы вместе в наиболее распространенной конфигурации. Кроме того, на этой диаграмме изображена только сторона "оператора" – на ней не показано, как пользователи могут все это применять. К примеру, многие пользователи сервиса compute будут широко (и напрямую) использовать хранение объектов.

  1. ^ Логическая архитектура

Логическая архитектура намного более сложная, чем схематичная архитектура, приведенная выше. Как с любой сервис-ориентированной архитектурой, диаграммы очень быстро становятся "нечитабельными" при попытке проиллюстрировать все возможные комбинации взаимодействия сервисов. В диаграмме ниже (рисунок 5.1) приведена наиболее типичная "интегрированная" архитектура облака на основе OpenStack.



Рисунок 5.1 – Логическая архитектура OpenStack

Данная иллюстрация подходит под предыдущее описание, поскольку:

  • конечные пользователи могут работать как через общий веб-интерфейс (Horizon), так и непосредственно с индивидуальным сервисом через их API;

  • все сервисы аутентифицируются через общий канал (имплементация на основе Keystone);

  • индивидуальные сервисы взаимодействуют между собой через открытые API (за исключением тех случаев, где требуются команды от привилегированного администратора).

Ниже будет подробно рассмотрена архитектура каждого сервиса.

  1. ^ Вычислительный контроллер (Nova)

Nova – контроллер, управляющий работой виртуальных машин. Все действия, необходимые для поддержки жизненного цикла виртуальной машины в облаке OpenStack обрабатывает Nova. Он управляет всеми вычислительные ресурсами, сетью, авторизацией и потребностями масштабируемости OpenStack облака. Nova – средство управления платформой и не предоставляет сама по себе никаких возможностей виртуализации, для виртуализации она использует интерфейсы Libvirt для взаимодействия с поддерживаемыми гипервизорами. Nova предоставляет свои возможности с помощью API веб-сервисов, совместимых с EC2 от Amazon Web Services.

Функции и возможности Nova:

  • управление жизненным циклом;

  • управление ресурсами;

  • сеть и авторизация;

  • API, основанное на REST;

  • асинхронная связь;

  • поддержка виртуальных машин Xen, XenServer, KVM, UML and Hyper-V.

Для реализации данных функций Openstack Nova содержит в себе следующие основные компоненты:

  • API сервер (nova-api);

  • очередь сообщений (rabbit-mq server);

  • вычислительные ноды (nova-compute);

  • сетевой контроллер (nova-network);

  • контроллер томов (nova-volume);

  • планировщик (nova-scheduler).

API сервер обеспечивает интерфейс с внешним миром, для взаимодействия с облачной инфраструктурой. API сервер является единственным компонентом, который внешний мир использует для управления инфраструктурой. Управление осуществляется через веб-сервисы с помощью EC2 API. API сервера в свою очередь взаимодействует с соответствующими компонентами облачной инфраструктуры посредством очереди сообщений.

Контроллер облака OpenStack взаимодействует с другими компонентами nova (такими как Планировщик, Сетевой контроллер и Контроллер томов) посредством AMQP (дополнительного протокола очереди сообщений). Nova использует асинхронные вызовы для ответа на запрос, с помощью обратного вызова, который посылается, когда ответ получен. Так как используется асинхронная коммуникация, то ни одна из конечных точек не находится долго в состоянии ожидания. Это особенно актуально, так как многие действия (запуск виртуальной машины или загрузка образа) при взаимодействии с вызовами API требуют много времени.

Ноды работают по определённому циклу. Они получают управляющие запросы через очередь сообщений и выполняют операции. В обычной инсталляции используется несколько нод. Нода выполняет какую-либо задачу из множества доступных, основываясь на алгоритме планирования.

Сетевой контроллер имеет дело с сетевой конфигурацией хост машины. Его задачей является выделение IP-адресов, конфигурирование сетей VLAN для проектов, реализация групп безопасности и настройка сетей для вычислительных узлов.

Контроллер диска используются для управления LVM-томами. Функции контроллера диска: создание, удаление, присоединение томов, отсоединение томов.

Планировщик перенаправляет вызовы nova-API к соответствующим компонентам openstack. Он работает как демон nova-schedule и поднимает вычислительные ресурсы/сети/размер тома из пула доступных ресурсов в зависимости от алгоритма планирования. Планировщик может принимать решения на основе различных факторов, таких как нагрузка, память, физическое расстояние от доступной зоны, архитектуры процессора и т.д. nova-schedule реализует подключаемые архитектуры. В настоящее время nova-schedule реализует несколько основных алгоритмов планирования:

  • случайный – согласно этому алгоритму принимающие вычисления хосты выбираются случайным образом из всех доступных зон;

  • доступные зоны – как и в предыдущем случае, хост для вычислений выбирается случайным образом, но только из указанной доступной зоны;

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

Основные возможности архитектуры Nova.

  • Процесс nova-api принимает и отвечает на пользовательские запросы compute и volume через API. Он поддерживает OpenStack API, EC2 API от Amazon, а также специальный Admin API (доступный для привилегированных пользователей для проведения административных операций). Он также запускает большинство координирующих действий (например, запуск экземпляра), а также обеспечивает соблюдение некоторых правил (по большей части проверок на квоты). В релизе Essex, nova-api разбили на модули, что позволяет реализаторам выполнять только определенные методы API.

  • Процесс nova-compute – это по большей части демон, создающий и уничтожающий экземпляры виртуальных машин при помощи API методов гипервизора (XenAPI для XenServer/XCP, libvirt для KVM или QEMU, VMwareAPI для VMware, и т.д.). Способ, при помощи которого это достигается, довольно сложен, однако в основе его лежит простая концепция: принять действие из очереди и выполнить ряд системных команд (например, запустить экземпляр KVM) для его выполнения, одновременно обновляя состояние в базе данных.

  • Процесс nova-volume управляет созданием, прикреплением и откреплением постоянных дисков для экземпляров виртуальных машин (функциональность схожа с Amazon Elastic Block Storage). Он может использовать тома от различных провайдеров, как например, iSCSI или Rados Block Device в Ceph.

  • Демон-процесс nova-network очень похож nova-compute и nova-volume. Он принимает сетевые задачи из очереди и затем выполняет команды по управлению сетью (как, например, установка мостового соединения интерфейсов или изменение правил iptables).

  • Процесс nova-scheduler алгоритмически является самым простым блоком кода в OpenStack Nova: он принимает запрос на экземпляр виртуальной машины из очереди и определяет, где он будет запущен (а именно, на каком хосте он будет исполняться).

  • Очередь представляет собой центральный хаб для передачи сообщений между демон-процессами. Обычно для этих целей используют RabbitMQ, но вообще это может быть любая AMQP-совместимая очередь сообщений (например, Apache Qpid).

  • SQL-совместимая база данных хранит большинство состояний процессов выполнения запросов для облачной инфраструктуры. Это включает в себя информацию о типах виртуальных машин (flavor type в терминологии OpenStack, или instance type в терминологии EC2), готовых к использованию, доступных сетях и проектах. Теоретически, OpenStack Nova может поддерживать любую базу данных, которую поддерживает SQL-Alchemy, но единственными широко употребляемыми на данный момент базами данных являются sqlite3 (только для тестирования и разработки), MySQL и PostgreSQL.

Nova поддерживает консольные сервисы. Консольные сервисы позволяют конечным пользователям получить доступ к консолям их инстансов виртуальных машин через прокси. Для этого используется пара новых демон-процессов (nova-console и nova-consoleauth).

Nova может взаимодействовать с привычным набором инструментов: Keystone для аутентификации, Glance для работы с изображениями и Horizon для веб-интерфейса. Взаимодействие с Glance происходит весьма любопытно. API процесс может загружать образы на Glance и выполнять запросы, в то время как nova-compute скачивает образы для использования в процессе запуска виртуальных машин.

  1. ^ Инфраструктура хранения (Swift)

Swift – это хранилище объектов для хранения большого количества объектов, распределенных между узлами. Swift имеет встроенные средства для резервирования и управления отказоустойчивостью, а так же средства для резервного копирования, архивирование данных. Возможность масштабирования до нескольких патабайт и миллиардов объектов. Swift обеспечивает гибкую облачную систему хранения данных для любых веб-приложений.

Основные функции и возможности:

  • хранение образов узлов;

  • работа в качестве самостоятельного контейнера данных;

  • обеспечение отказоустойчивости и резервирования данных;

  • создание резервных копий и архивирование данных;

  • масштабирование.

Архитектура Swift весьма распределенная с целью предотвращения единой точки отказа, а также возможности горизонтального масштабирования. Она включает в себя следующие модули.

  • Прокси-сервер принимает входящие запросы через OpenStack Object API или напрямую через HTTP. Он принимает файлы на закачку, запросы на изменение мета-данных или создание контейнеров. Кроме того, он также выдает листинги файлов или контейнеров по запросу из веб-браузеров. Прокси-сервер может использовать опциональный кэш (обычно устанавливается на базе memcached) для увеличения производительности.

  • Аккаунт-сервера обслуживают аккаунты, указанные в сервисе хранения объектов.

  • Контейнер-сервера обслуживают увязку контейнеров (например папок) внутри сервиса хранения объектов.

  • Объект-сервера обслуживают сами объекты (например файлы) на узлах хранения.

  • Кроме того, периодически запускается ряд процессов для произведения действий по обслуживанию на большом узле хранения. Наиболее важными из них являются службы репликации, задачей которых является обеспечение корректности и доступности данных в кластере. В число других периодических процессов входят аудиторы, процессы обновления и сборщики мусора.

Аутентификация обрабатывается при помощи конфигурируемого WSGI межпрограммного обеспечения (обычно используется Keystone).

  1. ^ Сервис образов (Glance)

OpenStack Imaging Service (работа с образами виртуальных машин) - сервис для работы с образами виртуальных машин. Он может быть настроен на использование любым из следующих трех способов:

  • OpenStack Object Store для хранения образов;

  • прямое взаимодействие с Amazon S3;

  • взаимодействие с Amazon S3 с использованием Object Store в качестве промежуточного сервиса.

Основной функцией Glance является предоставление возможности работы с образами виртуальных машин.

Glance состоит из двух компонентов:

  • Glance API;

  • Glance реестр.

Glance состоит их четырех частей:

  • glance-api обрабатыает запросы через Image API на поиск образов, их выдачу и хранение;

  • glance-registry хранит, обрабатывает и производит выборку метаданных образов (размер, тип и т.д.);

  • база данных для хранения метаданных образов. Как и для Nova, можно выбрать базу данных на основе собственных предпочтений (однако большинство использует MySQL или SQlite);

  • хранилище данных для самих файлов образов. В представленной выше диаграмме изображена наиболее вероятная конфигурация (используется Swift в качестве хранилища изображений), но это все можно перенастроить. В дополнение к Swift, Glance поддерживает обычные файловые системы, сетевые блочные устройства RADOS, сервиc Amazon S3 и протокол HTTP. Необходимо помнить, что некоторые из этих вариантов поддерживают только режим чтения.

Также, на Glance периодически запускается ряд процессов для поддержки кэширования. Наиболее важными из них являются службы репликации, задачей которых является обеспечение корректности и доступности данных в кластере. В число других периодических процессов входят аудиторы, процессы обновления и сборщики мусора.

Glance играет центральную роль в общей картине IaaS. Он принимает запросы на образов (или метаданные образов) через API от конечных пользователей или модулей Nova и может хранить файлы на дисках.

  1. ^ Инструментальная панель

Horizon – это модульное Django веб-приложение, предоставляющее конечному пользователю интерфейс администратора для управления сервисами OpenStack. Интерфейс инструментальной панели показан на рисунке 9.1.



Рисунок 9.1 – Инструментальная панель

Как и в большинстве веб-приложений, архитектура довольно проста.

  • Horizon обычно развертывается при помощи модуля mod_wsgi в Apache. Сам код разделен на модуль многократного использования, написанный на Python, где хранится большая часть логики (взаимодействие с различными OpenStack API методами), и на презентационную часть (для облегчения конфигурирования под различные сайты).

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

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

  1. ^ Аутентификация и авторизация

Keystone предоставляет единую точку интеграции правил, каталога, токена, и аутентификации OpenStack.

Keystone обрабатывает запросы через API, а также предоставляет такие настраиваемые сущности, как каталог, правила, токен и сервисы авторизации.

Для каждой сущности Keystone можно подключить бэкэнд, что позволит использовать этот сервис различными способами. Большинство сущностей поддерживают такие стандартные серверные решения, как LDAP или SQL, а также распределенные хранилища (Key Value Stores, KVS).

Большинство использует эту функциональность в качестве точки настройки под уже существующий у них сервис аутентификации.

  1. Ceilometer

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

Основными целевыми назначениями проекта Ceilometer являются следующие:

  • эффективный сбор метрик с оптимальным расходованием процессорных и сетевых ресурсов;

  • сбор данных путем отслеживания уведомлений от служб или путем опроса инфраструктуры;

  • настройка типа собираемых данных для соответствия различным эксплуатационным требованиям;

  • получение доступа к данным измерений и их добавление с помощью REST API;

  • расширение инфраструктуры для сбора пользовательских метрик с помощью дополнительных плагинов;

  • получение подписанных и неопровержимых сообщений с результатами измерений.

Для выполнения этих требований в OpenStack реализована следующая архитектура (рисунок 11.1).

Сервер API предоставляет доступ к метрикам в базе данных посредством интерфейса REST API.

Центральный агент (central agent) опрашивает данные по утилизации ресурсов, которые не связаны с виртуальными машинами или вычислительными узлами (compute nodes). В инфраструктуре может быть запущен только один экземпляр центрального агента.

Вычислительный агент (compute agent) опрашивает данные измерений и статистику с вычислительных узлов (в основном, гипервизора). Вычислительные агенты должны быть запущены на каждом вычислительном узле, который необходимо отслеживать.

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

Хранилище данных (data store) – это база данных, которая может обрабатывать одновременные запись (с одного или нескольких коллекторов) и чтение данных (с API-сервера). Коллектор, центральный агент и API могут работать на любом узле.



Рисунок 11.1 – Архитектура OpenStack

Эти службы сообщаются с помощью стандартной шины передачи сообщений OpenStack. Только коллектор и API-сервер имеют доступ к хранилищу данных. Поддерживаются SQL базы данных совместимые с SQLAlchemy, а также MongoDB и HBase. Только конфигурация Ceilometer с MongoDB прошла тщательное тестирование и развертывание в коммерческих средах. Для базы данных Ceilometer рекомендуется использовать выделенный узел, так как инфраструктура может создавать большое количество записей в базу данных. Согласно оценкам разработчиков, измерение инфраструктуры на коммерческом уровне предполагает до 386 записей в секунду и 33 360 480 событий в день, что потребует до 239 ГБ для хранения статистики за месяц.


  1. ^ Вспомогательный сервис Zabbix

Zabbix – это программное обеспечение для мониторинга многочисленных параметров сети, жизнеспособности и целостности серверов. Zabbix использует гибкий механизм оповещений, что позволяет пользователям конфигурировать уведомления основанные на e-mail практически для любого события. Это позволяет быстро реагировать на проблемы с серверами. Zabbix предлагает отличные функции отчетности и визуализации данных основанные на данных истории. Это делает Zabbix идеальным для планирования мощности.

    1. Архитектура

Zabbix состоит из нескольких важных компонентов программного обеспечения, функции которых изложены ниже.

Сервер. Zabbix сервер – является главным компонентом, которому агенты сообщают информацию и статистику о доступности и целостности. Сервер является главным хранилищем, в котором хранятся все данные конфигурации, статистики, а также оперативные данные.

Хранилище базы данных. Как таковая вся информация о конфигурации, а так же данные собранные Zabbix хранятся в базе данных.

Веб интерфейс. Веб интерфейс обеспечивает легкий доступ к Zabbix из любого места с любой платформы. Интерфейс является частью Zabbix сервера и обычно (но не обязательно) работает на том же самом физическом компьютере, что и сервер.

Прокси. Zabbix прокси может собирать данные о производительности и доступности в помощь Zabbix серверу. Прокси является опциональной частью Zabbix; однако он может быть полезен для того чтобы распределить нагрузку с одного Zabbix сервера.

Агент. Zabbix агенты разворачиваются на наблюдаемых целях для активного мониторинга за локальными ресурсами и приложениями, и для отправки собранных данных Zabbix серверу.
  1   2   3

Похожие рефераты:

Руководство пользователя Листов Аннотация Данный документ содержит...
Данный документ содержит описание назначения приложения «Автоматизированное рабочее место плательщика» (далее – арм плательщика,...
Руководство пользователя Листов Аннотация Данный документ содержит...
Данный документ содержит описание назначения приложения «Автоматизированное рабочее место плательщика» (далее – арм плательщика,...
Информационная Система «Расчет налогов»
Данный документ содержит описание элементов интерфейса, описание возможностей и действий по управлению пользователями
1. Кто увидит Вашу рекламу?
Документ содержит информацию о компании, перечень и описание услуг, а также их стоимость
Что такое контекстная реклама?
Документ содержит информацию о компании, перечень и описание услуг, а также их стоимость
«Создание базовой основы внедрения Единой информационно-аналитической...
Данный документ содержит общее описание Единой информационно-аналитической системы по управлению водными ресурсами, сведения о назначении...
Техническое описание и инструкция по эксплуатации Усть-Каменогорск, 2011 г
Тну-01А, далее – контроллер тну, и его эксплуатации. Документ содержит технические данные, описание аппарата и его принципа действия,...
Инструкция по заполнению фно 320. 00 в pdf шаблоне Астана 2010
Настоящий документ представляет собой инструкцию для пользователей по заполнению фно 320. 00 в формате pdf. Документ содержит описание...
Руководство по эксплуатации мюжк. 406433. 003 Рэ
Настоящий документ является руководством по эксплуатации преобразователей давления измерительных рс-28G (далее – преобразователи)...
Руководство по эксплуатации
Настоящий документ является руководством по эксплуатации измерителей-регуляторов pms-11 (далее – измеритель-регулятор) и содержит...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
referatdb.ru
referatdb.ru
Рефераты ДатаБаза