Posts in 2015

Зеркалирование трафика на Open vSwitch для мониторинга сети в OpenStack (port mirroring)

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

        Запустим один экземпляр виртуальной машины:

$ nova boot –flavor m2.tiny –image cirros-raw –key-name demokey1 –security-groups demo-sgroup test-vm

        Далее, определив на каком из вычислительных узлов запустилась виртуальная машина, посмотрим топологию Open vSwitch:

[root@compute-opt ~]# ovs-vsctl show
20eab69c-e759-41b0-a480-97688ec0b4b8
    Bridge br-int
        fail_mode: secure
        Port “qvobee51cf7-fb”
            tag: 1
            Interface “qvobee51cf7-fb”
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
        Port br-int
            Interface br-int
                type: internal
    Bridge br-tun
        fail_mode: secure
        Port “gre-c0a87adc”
            Interface “gre-c0a87adc”
                type: gre
                options: {df_default=“true”, in_key=flow, local_ip=“192.168.122.215”, out_key=flow, remote_ip=“192.168.122.220”}
        Port br-tun
            Interface br-tun
                type: internal
        Port “gre-c0a87ad2”
            Interface “gre-c0a87ad2”
                type: gre
                options: {df_default=“true”, in_key=flow, local_ip=“192.168.122.215”, out_key=flow, remote_ip=“192.168.122.210”}
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
    ovs_version: “2.4.0”

Основы облачного хранилища данных Ceph. Часть 2. Установка кластера

My next article about Ceph published in Russian magazine Samag 12/2015, pp 07-11. The hands-on guide to installation of Ceph cluster with ceph-deploy and manual. The third article in January issue will discuss OpenStack integration. The announcement is here http://samag.ru/archive/article/3084

OpenStack: Живая миграция виртуальных машин

Рассмотрим на практике что стоит за кнопкой “Live Migrate Instance” веб-интерфейса и как работает живая миграция виртуальных машин в OpenStack. Сразу оговоримся что для инициации вам понадобятся привилегии администратора облака, поскольку для пользователя информация об облаке скрыта, в том числе и о конкретных гипервизорах на которых запускаются виртуальные машины. Различные балансировки нагрузки и миграции в OpenStack — вне области ответственности пользователя.

Сервис OpenStack Nova поддерживает живую миграцию виртуальных машин в двух вариантах:

Подготовка образов для OpenStack при помощи Oz

В составе официальной документации OpenStack работе с образами посвящено отдельное руководство – OpenStack Virtual Machine Image Guide. Документ содержит как обзор средств автоматизированного создания образов, так и примеры их создания вручную.
        В качестве примера рассмотрим работу с утилитой Oz.
        Это утилита командной строки написана на Python и на Linux-машине с гипервизором KVM и сервисом libvirtd позволяет создавать образы виртуальных машин с минимальным вмешательством пользователя. Для этого Oz использует заранее подготовленные файлы ответов не интерактивной установки операционной системы. Например, для установки Windows используются файлы ответов unattended setup, для CentOS – kickstart-файлы и так далее. Файлы ответов для различных операционных систем расположены в директории /usr/lib/python2.7/site-packages/oz/auto/. Их можно и нужно редактировать, например для выбора правильной временной зоны. В качестве инструкций сам Oz требует файлы в формате Template Description Language (TDL). Это XML-файлы, описывающие какая операционная система устанавливается, где находится дистрибутив, какие дополнительные изменения необходимо внести в образ.
        Не рекомендуется запуск утилиты на тех же хостах, где развернуты сервисы OpenStack. Во время работы утилита запускает виртуальную машину в которой и производится установка операционной системы по вашим инструкциям TDL шаблона с использованием общих файлов ответов.
В CentOS и Fedora установка утилиты производится командой:

Очередная статья в “Системном администраторе”

My fourth article on OpenStack was published in Russian magazine Samag 7-8/15 (p. 14-17). Read the full in paper.

Вышла моя четвертая статья цикла посвященного OpenStack в ж-ле “Системный администратор” 7-8/2015. Полная версия в печатном номере. http://samag.ru/archive/article/2982

Авторизованный курс и экзамен по Red Hat OpenStack в УЦ Инвента

Коллеги,  31 августа - 4 сентября читаю в УЦ Инвента (Москва) курс по RHELOSP 6 и провожу экзамен Red Hat Certified System Adminstrator in OpenStack. Курс и экзамен проводятся в первый раз в России. С учетом курса и летней акции учебного центра - стоит это в три раза дешевле чем в Фарнборо. Подробности - на сайте учебного центра http://rhd.ru/training/offers.html (курс в конце списка). Содержание курса там-же по ссылкам.

Update по книге OpenStack

Издательство ДМК-Пресс сообщило что на мою книгу по OpenStack очень большое число предзаказов. Сопоставимое было только у одной из книг по администрированию VMware. Презентация книги будет на конференции “День рождения OpenStack” 22 июля. Регистрация на конференцию - http://www.openstackday.ru/birthday2015/ Подробнее о книге - http://markelov.blogspot.ru/p/openstack.html

Предзаказ моей книги по OpenStack

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

.

Выделение вычислительных ресурсов для 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.

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

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

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

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

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

Настройка работы Docker и OpenStack

Первое с чего мы начнем — это установка Docker и необходимых пакетов. Обращаю внимание, что этот вариант установки подходит только для тестовых сред. Для «боевой установки» следует собрать rpm-пакет с драйвером Docker и не устанавливать на вычислительные узлы средства, применяемые при разработке. Действия выполняем на вычислительном узле:

[root@os2 ~]# yum -y install net-tools docker-io
python-pip git

Также обратите внимание на то, что мы устанавливаем пакет net-tools, который в современных дистрибутивах при установке по умолчанию заменен на iproute,а утилиты из его состава имеют статус устаревших. Нам он понадобится ради команды ifconfig, которая используется драйвером Docker.

Пара новых статей про OpenStack и СПО

В журнале “Системный администратор” 5/2015 опубликована вторая статья из моего цикла про OpenStack. Полная версия в печатной версии журнала. http://samag.ru/archive/article/2936

Также вышла небольшая заметка в журнале “Бизнес и Информационные технологии” (БИТ). Тема номера - свободное программное обеспечение http://bit.samag.ru/archive/more/151

Заметки по поиску неисправностей в сервисах Swift

Сервисы Swift пишут сообщения об ошибках в системный журнал /var/log/messages. Как правило там могут быть trace-сообщения Python. 

Проверьте что все сервисы запущенны при помощи команды lsof -i и что они работают на правильных портах. Если вы не нашли в списке одну из служб, вы можете попытаться запустить ее вручную, указав исполнимому файлу ваш конфигурационный файл. Например: 

[root@sw3 ~]# swift-object-server
/etc/swift/object-server.conf 
Traceback (most recent call last): 
  File "/usr/bin/swift-object-server",
line 27, in  
 ...
LookupError: No loader given in section
'filter:recon' 

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

OpenStackClient — новый официальный проект OpenStack

Недавно список официальных проектов OpenStack пополнился еще одним проектом — OpenStackClient

Утилита командной строки openstack представляет собой единый унифицированный клиент для доступа к OpenStack API. В целом, OpenStackClient позволяет делать тоже самое, что и утилиты каждого сервиса (nova, neutron, keystone-manage и др.),  но при помощи единой команды и унифицированного формата.

Добавление утилиты в RDO сводится к установке пакета:

[root@os1 ~]# yum -y install  python-openstackclient

Для аутентификации клиент использует ту же схему, что и другие утилиты, за исключением замены устаревших  «тенантов» (OS_TENANT_NAME) на «проекты». Пример моего keystonerc тестовой среды:

Курсы и экзамены по облачным технологиям в ближайшие месяцы

В ближайшие месяцы читаю в Инвенте курсы:

Ну и до кучи экзамены:

20 апреля - EX401

Записи вебинаров об облачных продуктах Red Hat на русском

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

 Приятного просмотра :)