Опыт внедрения
OpenStack
Окружение и
инфраструктура
О нас
• http://at-consulting.ru
• Для вопросов
– Бараблин Михаил
– mbarablin@at-consulting.ru
– @miklebarablin
Телеком
ТЭК
Банки
Госсектор
2
План
• Внедрение OpenStack, как это
• Технические заметки с проектов
3
Что вы хотите нам внедрить?
• Виртуализация vs облака
• Open source
• Интеграция с окружением
4
Описание задачи
• Инфраструктура состоит из множества ЦОД
• Гарантии производительности для систем
• IaaS для сложных и legacy систем
• Интеграция с внешними системами
• Обеспечение защиты данных (РК,
избыточность инфраструктуры,
мониторинг)
5
Общая схема 2
6
Особенности задачи
• Использование существующего «enterprise»
оборудования
• Требования к защите каналов и сети
• Разные “не-cloud” системы с разными ОС и
требованиями к сети (dhcp, vrrp)
• Существующая сеть L3
• Даже Интернета нет 
7
Пользователи «облаков» 2
8
Что внедряем в итоге
9
Backup Мониторинг CMDB
CM Биллинг Workflow
Openstack Инфраструктура
Техника
10
Компоненты
• Openstack havana
– CLVM + Gfs cluster (redhat cluster stack mod)
– OVS
• Ubuntu 12.04, KVM
• PXE + Puppet 3 open source
• Bareos (Bacula fork)
• Zabbix (+ceilometer)
• Наш софт
11
Инфраструктура. Схема
12
Сеть
13
Сеть, изоляция
• VLAN – ограничение на 4096 L2
– Ограничения на оборудовании
– Нужен переход на openflow
• GRE – булетпруф. Чтобы были только mac
гипервизоров на оборудовании
• Двойное теггирование q-in-q – не влезает в
стандартный mtu, Jumbo frames
14
Сеть
• Будут проблемы!
• Бондинг – не всегда из коробки
• Ограничение трафика
• Отказались от Security Groups в пользу
FWaaS
• ML2 L2 population – хорошо, но иногда
глючит
15
Сеть. Схема
16
СХД
17
Дисковая подсистема
• FC – хорошо. IO трафик не гоняем по сети
• FC multipath Драйверы для СХД – не
работают – пока очень сырые
• Снапшоты – только для root дисков (qcow2)
• LUN не больше 1 TB – более удобно
работать с СХД
18
GFS, cinder, custom
• GFS медленно, но достаточно
• Cinder быстрее (на 30%)
– Изолированно, но труднее бэкапить
• Custom – Cinder + FC
19
Дисковая подсистема. Схема
20
Дисковая подсистема. cLVM patch
Clvm – как драйвер lvm/iscsi
/usr/share/pyshared/cinder/volume/driver.py
iscsi_properties = self._get_iscsi_properties(volume)
return {
- 'driver_volume_type': 'iscsi',
- 'data': iscsi_properties
+ 'driver_volume_type': 'local',
+ 'data': {'device_path': self.local_path(volume)},
}
21
Серверы
• 2 Ethernet * 1G
• 2 Ethernet * 10 G
• 2 HBA
• 2 CPU * 6 Core
• 32 GB Flash
• 128 Gb RAM
• 10-20 ВМ на сервер
22
Серверы
Total
VM 600
VM freq 2400
VM vCPU 4 5760000Ghz
VM RAM 8 4800Gb
Sockets 2
Cores 6
Freq 2400 28800Ghz
RAM 128 Gb
CPU ovrecommit 5
Server count by CPU
(vm freq/srv freq/overcommit)
40
Memory usage 80%
Server count by Mem
(vm mem/srv mem*usage)
47
Chassis count 16BL 2,9375
23
Отказоустойчивость
24
Отказоустойчивость
• Для ВМ, в пределах availability group
– GFS – обеспечивает эвакуацию ВМ nova-evacuate
– Мониторинг + автоматизация переезда
• 2 L3 агента на ext-сеть, можно больше
• PaceMaker для сервисов OpenStack
• Ноды управления – физика, задублированы
• Репликация БД (MySQL)
• Миграция роутеров
25
Развертывание
• PXE + DHCP для «железа»
• Ubuntu 12.04
– preseed
– puppet agent
• Puppet 3
– Облегченные рецепты
– Генерируем /etc/hosts
• Pkg mirror
• DNS/NTP
26
Развертывание
27
Резервное копирование Bareos
• ВМ, Снапшоты – не надо использовать для
cinder – там dd!
– Альтернативный способ открытый вопрос
– Нет thin провиженинга
• Qemu snapshot + block commit (с версии 1.3)
– позволяет выполнять живые снапшоты
• Bareos: Passive agent 2
• Функции РК – выносим в OSS
• РК через агент
28
Мониторинг Zabbix
29
Проблемы
• В большой сети нужно следить за L3-агентами. Если управление
теряется – возникают сюрпризы
• Нужно очищать старые токены из keystone
• При удалении volume – dd нулями
• Мониторинг, требует floating_ip / агентов
• Файрвол OpenStack (Security Groups), фильтрует трафик на
гипервизорах:
– переносим точку фильтрации на L3 (FWaaS)?
– как быть с клиентами, желающими использовать у себя VRRP?
• Нет поддержки установки ОС с ISO
• Запуск сервисов OpenStack как WSGI
• Есть shaping, но не работает т.к. не используем security group
30
Всякое
• Не используем контейнеры и LXC, но можно
совместить с KVM
• USB токены для ВМ
• Разработка / тестирование / обновление
• API драйверов для оборудования – крайне
легок!
• Кстати вышел ICE HOUSE, все апгрейдимся!
31
Спасибо!
Вопросы?
Бараблин Михаил
mbarablin@at-consulting.ru
32

Опыт внедрения OpenStack

  • 1.
  • 2.
    О нас • http://at-consulting.ru •Для вопросов – Бараблин Михаил – mbarablin@at-consulting.ru – @miklebarablin Телеком ТЭК Банки Госсектор 2
  • 3.
    План • Внедрение OpenStack,как это • Технические заметки с проектов 3
  • 4.
    Что вы хотитенам внедрить? • Виртуализация vs облака • Open source • Интеграция с окружением 4
  • 5.
    Описание задачи • Инфраструктурасостоит из множества ЦОД • Гарантии производительности для систем • IaaS для сложных и legacy систем • Интеграция с внешними системами • Обеспечение защиты данных (РК, избыточность инфраструктуры, мониторинг) 5
  • 6.
  • 7.
    Особенности задачи • Использованиесуществующего «enterprise» оборудования • Требования к защите каналов и сети • Разные “не-cloud” системы с разными ОС и требованиями к сети (dhcp, vrrp) • Существующая сеть L3 • Даже Интернета нет  7
  • 8.
  • 9.
    Что внедряем витоге 9 Backup Мониторинг CMDB CM Биллинг Workflow Openstack Инфраструктура
  • 10.
  • 11.
    Компоненты • Openstack havana –CLVM + Gfs cluster (redhat cluster stack mod) – OVS • Ubuntu 12.04, KVM • PXE + Puppet 3 open source • Bareos (Bacula fork) • Zabbix (+ceilometer) • Наш софт 11
  • 12.
  • 13.
  • 14.
    Сеть, изоляция • VLAN– ограничение на 4096 L2 – Ограничения на оборудовании – Нужен переход на openflow • GRE – булетпруф. Чтобы были только mac гипервизоров на оборудовании • Двойное теггирование q-in-q – не влезает в стандартный mtu, Jumbo frames 14
  • 15.
    Сеть • Будут проблемы! •Бондинг – не всегда из коробки • Ограничение трафика • Отказались от Security Groups в пользу FWaaS • ML2 L2 population – хорошо, но иногда глючит 15
  • 16.
  • 17.
  • 18.
    Дисковая подсистема • FC– хорошо. IO трафик не гоняем по сети • FC multipath Драйверы для СХД – не работают – пока очень сырые • Снапшоты – только для root дисков (qcow2) • LUN не больше 1 TB – более удобно работать с СХД 18
  • 19.
    GFS, cinder, custom •GFS медленно, но достаточно • Cinder быстрее (на 30%) – Изолированно, но труднее бэкапить • Custom – Cinder + FC 19
  • 20.
  • 21.
    Дисковая подсистема. cLVMpatch Clvm – как драйвер lvm/iscsi /usr/share/pyshared/cinder/volume/driver.py iscsi_properties = self._get_iscsi_properties(volume) return { - 'driver_volume_type': 'iscsi', - 'data': iscsi_properties + 'driver_volume_type': 'local', + 'data': {'device_path': self.local_path(volume)}, } 21
  • 22.
    Серверы • 2 Ethernet* 1G • 2 Ethernet * 10 G • 2 HBA • 2 CPU * 6 Core • 32 GB Flash • 128 Gb RAM • 10-20 ВМ на сервер 22
  • 23.
    Серверы Total VM 600 VM freq2400 VM vCPU 4 5760000Ghz VM RAM 8 4800Gb Sockets 2 Cores 6 Freq 2400 28800Ghz RAM 128 Gb CPU ovrecommit 5 Server count by CPU (vm freq/srv freq/overcommit) 40 Memory usage 80% Server count by Mem (vm mem/srv mem*usage) 47 Chassis count 16BL 2,9375 23
  • 24.
  • 25.
    Отказоустойчивость • Для ВМ,в пределах availability group – GFS – обеспечивает эвакуацию ВМ nova-evacuate – Мониторинг + автоматизация переезда • 2 L3 агента на ext-сеть, можно больше • PaceMaker для сервисов OpenStack • Ноды управления – физика, задублированы • Репликация БД (MySQL) • Миграция роутеров 25
  • 26.
    Развертывание • PXE +DHCP для «железа» • Ubuntu 12.04 – preseed – puppet agent • Puppet 3 – Облегченные рецепты – Генерируем /etc/hosts • Pkg mirror • DNS/NTP 26
  • 27.
  • 28.
    Резервное копирование Bareos •ВМ, Снапшоты – не надо использовать для cinder – там dd! – Альтернативный способ открытый вопрос – Нет thin провиженинга • Qemu snapshot + block commit (с версии 1.3) – позволяет выполнять живые снапшоты • Bareos: Passive agent 2 • Функции РК – выносим в OSS • РК через агент 28
  • 29.
  • 30.
    Проблемы • В большойсети нужно следить за L3-агентами. Если управление теряется – возникают сюрпризы • Нужно очищать старые токены из keystone • При удалении volume – dd нулями • Мониторинг, требует floating_ip / агентов • Файрвол OpenStack (Security Groups), фильтрует трафик на гипервизорах: – переносим точку фильтрации на L3 (FWaaS)? – как быть с клиентами, желающими использовать у себя VRRP? • Нет поддержки установки ОС с ISO • Запуск сервисов OpenStack как WSGI • Есть shaping, но не работает т.к. не используем security group 30
  • 31.
    Всякое • Не используемконтейнеры и LXC, но можно совместить с KVM • USB токены для ВМ • Разработка / тестирование / обновление • API драйверов для оборудования – крайне легок! • Кстати вышел ICE HOUSE, все апгрейдимся! 31
  • 32.