Выделение вычислительных ресурсов для OpenStack

Говоря о ресурсах, нужно заметить что OpenStack позволяет подтверждать виртуальным машинам больше физической памяти и вычислительных ресурсов, чем имеется в наличии. По умолчанию планировщик ассоциирует с одним физическим или «гипертрейдинговым» ядром 16 виртуальных процессоров (vCPU). Объем памяти, выделяемой виртуальным машинам по умолчанию в полтора раза больше, чем имеющийся физический. За эти значения в конфигурационном файле /etc/nova/nova.conf отвечают параметры:

cpu_allocation_ratio=16.0
ram_allocation_ratio=1.5

В целом, по рекомендациям в списках рассылки OpenStack для памяти выбирают значение 0.9. Также рекомендуется задать резервирование оперативной памяти при помощи параметра reserved_host_memory_mb в nova.conf. Обычно в расчетах можно руководствоваться закладывая на накладные расходы порядка 100 Мб на одну виртуальную машину. Обязательно нужно предусмотреть swap, как минимум вдвое больший чем этот параметр. Для процессора коэффициент сильно зависит от нагрузки. Обычно память становится раньше «бутылочным горлышком», чем ресурсы центрального процессора. Если запускается много требовательных к ЦП приложений типа Hadoop, то коэффициент выставляется ближе к 2, а иногда и к 1. Если основная нагрузка веб-сервера, то число можно увеличить вплоть до 16 заданного по умолчанию. Если вы не можете разделить типы нагрузки, то можно попробовать использовать коэффициент от 2 до 5.

My third article on OpenStack Glance was published

My third article on OpenStack Glance was published in Russian magazine Samag 6/15 (p. 12-14). Read the full in paper.

Вышла моя третья статья цикла посвященного OpenStack в ж-ле “Системный администратор” 6/15. Полная версия в печатном номере.

http://samag.ru/archive/article/2958.

Знакомство с простейшим HOT шаблоном сервиса оркестрации OpenStack

Службы Heat позволяют автоматизировать управление жизненным циклом наборов облачных сервисов (виртуальными машинами, сетями, томами, группами безопасности и т.д.) как единым целым, объединяя их в так называемые стеки (stack). Задачи могут быть как простыми, например развертывание виртуальной машины, таки и более сложными, например старт комплексного приложения из многих машин и его масштабирование в зависимости от информации передаваемой модулем телеметрии. Для описания стеков используются специальные, одновременно легко читаемые человеком и дружественные к обработке машиной форматы описания ресурсов, их ограничений, зависимостей и параметров:

Работа с OpenStack Telemetry (Ceilometer)

Сервис OpenStack Telemetry (Ceilometer) — компонент облака OpenStack, отвечающий за сбор, хранение метрик и мониторинг использования ресурсов в первую очередь для целей биллинга. Помимо сбора метрик работы облака Ceilometer также собирает информацию о событиях происходящих в работающей системе. Название сервиса Ceilometer происходит от названия прибора, используемого метеорологами для измерения высоты облаков над поверхностью земли.

Сервис спроектирован как расширяемый за счет подключаемых агентов сбора информации и легко маштабируемый горизонтально. Ceilometer поддерживает два способа сбора данных. Предпочтительный метод сбора при помощи очереди сообщений. Реализуется сервисом ceilometer-collector. Данный сервис запускается на одном или более управляющих узлах и отслеживает очередь сообщений. Сборщик получает уведомления от инфраструктурных сервисов (Nova, Glance, Cinder, Neutron, Swift, Keystone, Heat), затем преобразует их в сообщения телеметрии и отправляет обратно в очередь сообщений. Сообщения телеметрии записываются в хранилище без преобразований. Второй, менее предпочтительный способ - через опрашивающие инфраструктуру агенты. При помощи вызовов API или других инструментов агенты периодически запрашивают у сервисов необходимую информацию.