Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

OpenStack: практическое знакомство с облачной операционной системой

Покупка
Артикул: 634677.02.99
В данной книге описана облачная операционная система OpenStack, которая пользуется поддержкой более двух сотен компаний, включая практически всех лидеров ИТ-рынка. Книга, помимо теоретических знаний, содержит множество практических упражнений и, следуя изложению материала, читатель сможет развернуть собственный стенд для тестирования возможностей облака. В 16-ти главах читатель познакомится с основными сервисами облачной операционной системы OpenStack. Рассмотрены такие компоненты, как сервис идентификации пользователей, сервисы построения объектного хранилища (Swift), блочного (Glance), хранилища образов. В главе, посвященной сетевым службам, рассматриваются концепции программ но-определяемой сети, работа с OpenStack Neutron и Open vSwitch. Также рассматриваются сервис мониторинга Ceilometer, сервис оркестрации Heat и принципы обеспечения высокой доступности облака. Кроме того, одна из глав посвящена интеграции OpenStack и системы управления контейнерами Docker. Во втором издании текст книги обновлен, чтобы соответствовать актуальным версиям рассматриваемых компонент OpenStack, а объем книги увеличен более чем на треть за счет добавления нового материала (Ceph, работа с сетью и т. д.). Издание рассчитано на ИТ-специалистов (системных и сетевых администраторов, а также администраторов систем хранения данных), желающих познакомиться с де-факто стандартом в области открытых продуктов построения облачной инфраструктуры.
Маркелов, А.А. OpenStack: практическое знакомство с облачной операционной системой / А.А. Маркелов. - 2-е изд., перераб. и доп. - Москва : ДМК Пресс, 2016. - 248 с. - ISBN 978-5-97060-386-4. - Текст : электронный. - URL: https://znanium.com/catalog/product/1028054 (дата обращения: 22.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
OpenStack

Практическое знакомство  
с облачной оПерационной системой

Второе издание, переработанное и дополненное

Андрей Маркелов

Москва, 2016

УДК 004.738.5:004.451.9OpenStack
ББК 32.972.53
 
М26

 
 
Маркелов А.А.

М26 OpenStack: практическое знакомство с облачной операционной

системой. – 2-е изд., перераб. и доп. – М.: ДМК Пресс, 2016. –
248 с.: ил.

ISBN 978-5-97060-386-4

В данной книге описана облачная операционная система OpenStack, которая

пользуется поддержкой более двух сотен компаний, включая практически всех
лидеров ИТ-рынка.

Книга, помимо теоретических знаний, содержит множество практических

упражнений и, следуя изложению материала, читатель сможет развернуть собственный стенд для тестирования возможностей облака. В 16-ти главах читатель
познакомитсясосновнымисервисамиоблачнойоперационнойсистемыOpenStack.
Рассмотрены такие компоненты, как сервис идентификации пользователей, сервисы построения объектного хранилища (Swift), блочного (Glance), хранилища
образов. В главе, посвященной сетевым службам, рассматриваются концепции
программно-определяемой сети, работа с OpenStack Neutron и Open vSwitch.
ТакжерассматриваютсяcервисмониторингаCeilometer,cервисоркестрацииHeat
и принципы обеспечения высокой доступности облака. Кроме того, одна из глав
посвящена интеграции OpenStack и системы управления контейнерами Docker.

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

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

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

УДК 004.738.5:004.451.9OpenStack
ББК 32.972.53

Все права защищены. Любая часть этой книги не может быть воспроиз
ведена в какой бы то ни было форме и какими бы то ни было средствами без
письменного разрешения владельцев авторских прав.

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

 
© Маркелов А., 2016

ISBN 978-5-97060-386-4 
© Оформление, ДМК Пресс, 2016

содержание

Предисловие............................................................. 6

Глава.1..Введение.в.OpenStack....................................12
Что такое облачная инфраструктура? .........................................................12
Что такое облачные приложения? ................................................................14
История OpenStack ............................................................................................15
Архитектура OpenStack ....................................................................................17
Гипервизор KVM и эмулятор QEMU ..........................................................20
Дистрибутивы и сборки OpenStack ..............................................................22

Глава.2..Настройка.лабораторного.окружения..
OpenStack................................................................26
Подготовка CentOS 7 к использованию дистрибутива  
OpenStack RDO ...................................................................................................31
Отличия RDO от «Upstream» .........................................................................34
Как установить OpenStack RDO одной командой? ................................35
Как установить OpenStack одной командой из исходных кодов? .....37
Как определить, какую версию OpenStack я использую? ....................38
Установка и настройка брокера сообщений ...............................................39
Переход на использование утилиты OpenStackClient ...........................43

Глава.3..Сервис.идентификации.Keystone......................45
Терминология Keystone ....................................................................................45
Установка и настройка Keystone....................................................................46
Настройка Keystone в OpenStack Mitaka при помощи Apache...........49
Работа с пользователями, ролями и проектами в Keystone .................51

Глава.4..Сервис.хранения.образов.Glance......................58
Установка и настройка сервиса Glance ........................................................59
Подготовка образов виртуальных машин ..................................................64
Работаем с образами виртуальных машин .................................................68

Глава.5..Сервис.блочного.хранилища.Cinder...................72
Архитектура Cinder ............................................................................................72
Настройка сервисов Cinder .............................................................................74

Глава.6..Объектное.хранилище.Swift.............................83
Архитектура Swift ...............................................................................................84
Подготовка дополнительных серверов лабораторного окружения .....86
Установка сервиса Swift-proxy .......................................................................88
Установка узлов хранения Swift ....................................................................88

 Содержание

Создание сервисных колец Swift ...................................................................92
Завершение настройки ......................................................................................94
Работа с сервисом Swift ....................................................................................95
Настройка Swift в качестве хранилища для Glance ................................97
Рекомендации по поиску неисправностей в сервисах Swift ................99

Глава.7..Контроллер.и.вычислительный.узел.Nova.........100
Архитектура Nova ............................................................................................ 100
Установка контроллера Nova ....................................................................... 101
Установка вычислительных узлов Nova .................................................. 104

Глава.8..Службы.сети.Neutron....................................107
Архитектура Neutron ...................................................................................... 107
Установка узла управления Neutron ......................................................... 110
Установка сетевого узла Neutron ................................................................ 117
Установка вычислительного узла Neutron .............................................. 120

Глава.9..Работа.с.виртуальными.машинами..
из.командной.строки................................................123
Сеть в OpenStack .............................................................................................. 123
Запускаем экземпляр виртуальной машины ......................................... 127
Зоны доступности и агрегирование вычислительных узлов ............ 133
Добавляем к экземпляру виртуальной машины сеть .......................... 136
Моментальные снимки и резервные копии ............................................ 139
Зашифрованные тома ..................................................................................... 144
Квоты на ресурсы ............................................................................................. 145
Живая миграция виртуальных машин ..................................................... 147

Глава.10..За.фасадом.Neutron....................................152
Виртуальный коммутатор Open vSwitch ................................................. 152
Группы безопасности ...................................................................................... 158
Утилита для визуализации сети plotnetcfg ............................................. 160
Зеркалирование трафика на Open vSwitch для мониторинга  
сети в OpenStack............................................................................................... 160
Балансировщик нагрузки как сервис (LBaaS) ...................................... 164

Глава.11..Веб-панель.управления.Horizon.и.работа..
пользователя.из.графического.интерфейса.................167
Установка веб-интерфейса ............................................................................ 167
Работа с OpenStack в интерфейсе Horizon .............................................. 169

Глава.12..Сервис.сбора.телеметрии..Ceilometer............177
Установка служб управляющего узла ....................................................... 179

Содержание  5

Установка служб вычислительного узла для отправки  
сообщений телеметрии................................................................................... 182
Работа со службой телеметрии ................................................................... 184

Глава.13..Сервис.оркестрации.Heat............................190
Архитектура сервиса ....................................................................................... 191
Установка сервисов Heat ............................................................................... 191
Запуск простого стека .................................................................................... 194
Запуск стека, состоящего из нескольких виртуальных машин ....... 198

Глава.14..Контейнеры.Docker.и.OpenStack...................201
Краткое знакомство с Docker ....................................................................... 201
Совместное использование Docker и OpenStack .................................. 202
Настройка работы драйвера Docker для OpenStack Nova ................. 204

Глава.15..Программно-определяемая.система..
хранения.данных.Ceph..............................................210
Архитектура Ceph ............................................................................................ 212
Быстрая установка кластера Ceph при помощи ceph-deploy ............ 216
Установка кластера ceph вручную .............................................................. 220
Интеграция Ceph с сервисами OpenStack ............................................... 225

Глава16..Отказоустойчивость.и.производительность..
OpenStack..............................................................233
Обзор способов обеспечения высокой доступности сервисов  
облака ................................................................................................................... 233
Выделение вычислительных ресурсов ..................................................... 235
Выделение оперативной памяти ................................................................. 236
Производительность сети ............................................................................. 238
Определение аппаратных требований к оборудованию ..................... 239

Заключение............................................................240

Приложение.1..Пример.правил.брандмауэра,..
реализующих.группы.безопасности..
на.вычислительном.узле...........................................241

Приложение.2..Листинги.шаблонов.Heat......................243
Запуск одной виртуальной машины – test-server.yml ........................ 243
Развертывание WordPress на двух виртуальных машинах ............... 244

Приложение.3..Список.используемых.службами..
OpenStack.сетевых.портов........................................247

Предисловие

благодарности

В первую очередь я хочу поблагодарить мою жену Лену за терпение 
и поддержку, проявленные во время написания этой книги и доработки текста для второго издания. Также хотелось бы поблагодарить 
рецензентов этой книги – Антона Арапова и Артемия Кропачева, благодаря ценным замечаниям которых данная книга стала значительно 
лучше и избавилась от многих неточностей и опечаток.
Автор приносит благодарность читателям первого издания, приславшим свои замечания и исправления: Александру Румянцеву 
и Владимиру Манькову.

об авторе

Андрей Маркелов имеет более чем десятилетний опыт преподавания как авторских курсов, так и авторизированных курсов по ИТтехнологиям таких компаний, как Red Hat и Microsoft.
В настоящее время автор работает в качестве старшего менеджера по архитектуре компании Ericsson, специализируясь на облачных технологиях. До этого работал в качестве старшего системного 
архитектора в компании Red Hat, а также в крупных системных 
интеграторах России, получив более чем десятилетний опыт продаж, проектирования и внедрения сетевых и инфраструктурных 
решений.
Около шестидесяти публикаций в отечественных ИТ-журналах 
(«Системный администратор», «Linux Format», «PC Week» и др.).
Андрей является сертифицированным архитектором Red Hat 
(RHCA) с 2009 года и имеет сертификаты Red Hat в таких технологиях, как OpenStack, OpenShift, RHEV, Cloud Storage, настройка производительности, безопасности Linux-систем и др.
Кроме того, автор имеет сертификаты Microsoft Certified System 
Engineer, Sun Certified System Administrator, Novell Certified Linux 
Professional, Mirantis Certified OpenStack Administrator и VMware 
Certified Professional.
Блог автора располагается по адресу: http://markelov.blogspot.ru/. 
Его twitter-аккаунт: @amarkelov.

Предисловие  7

рецензенты

Антон Арапов – руководит командой, ответственной за развитие 
инфраструктурных проектов в компании Acision. Помогает клиентам полностью раскрыть потенциал мобильных каналов передачи 
данных, а также является ответственным за эволюционное развитие 
сервисов в сетях LTE 4G и проекты, способствующие ускорению возврата инвестиций. Сегодня технологии виртуализации являются основным средством для достижения поставленных целей. До Acision 
Антон руководил группой разработки виртуализации в ядре Linux 
в компании Red Hat. Антон является экспертом в технологиях виртуализации и их применении.
Артемий Кропачев – старший системный архитектор в группе 
консалтинга по инфраструктуре центров обработки данных в компании ICL Services. Артемий обладает сертификационными статусами 
RHCA, RHCSS, Oracle Certified Professional in Oracle Solaris. Основная область профессиональной деятельности – проектирование 
и внедрение инфраструктуры облачных решений, систем виртуализации, распределенных хранилищ данных и других сервисов на базе 
Linux/Solaris/IBM AIX.

Предполагаемая аудитория

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

 Предисловие

Отсюда следует, что, прежде чем приступать к изучению продукта, 
написанного в первую очередь под Linux и для Linux, вам необходимы навыки работы с операционной системой. Умение работать в командной строке и знание базовых команд обязательны.
Также важными будут умение самостоятельно решать задачи и навык решения проблем – один из основных навыков хорошего ИТспе циалиста – практика. Автор сознательно старался сделать изложение большей части материала никак не привязанной к конкретным 
версиям операционной системы и дистрибутива OpenStack. Но почти 
наверняка к тому моменту, как книга доберется до вас, выйдет следующая версия OpenStack, и вы, естественно, захотите воспроизвести 
упражнения на актуальной версии. Также небольшие детали могут 
отличаться в зависимости от вашего любимого дистрибутива GNU/
Linux, версии и дистрибутива OpenStack. В первую очередь это расположение конфигурационных файлов, особенности организации репозиториев с пакетами, названия пакетов и т. п.
Ну и, естественно, от ошибок и опечаток никто не застрахован, 
включая вашего покорного слугу. Как связаться с автором и прислать 
информацию об ошибках, исправлениях или задать вопрос, указано 
в заключении, на последних страницах книги.

о чем эта книга

Книга состоит из шестнадцати глав и знакомит читателя с основными 
сервисами облачной операционной системы OpenStack. Кроме того, 
рассмотрены вопросы интеграции OpenStack и системы управления 
контейнерами Docker, программно-определяемой системы хранения 
данных Ceph, настройки производительности и высокой доступности 
сервисов.
Глава 1. Введение в OpenStack. Первая глава вводит читателя 
в предметную область облачных вычислений. Дается представление 
об облачных, горизонтально масштабируемых приложениях, их отличиях от вертикально масштабируемых, традиционных приложений. Рассказывается об истории создания OpenStack, его основных 
компонентах и основных дистрибутивах, присутствующих в настоящий момент на рынке.
Глава 2. Настройка лабораторного окружения OpenStack. В данной главе рассказывается о подготовке виртуальных машин тестового окружения к установке компонентов OpenStack. Рассматриваются 
рекомендуемые настройки сети дистрибутива GNU/Linux CentOS 7, 

Предисловие  9

подключение репозиториев OpenStack RDO, установка и настройка 
требуемых для OpenStack компонентов.
Глава 3. Сервис идентификации Keystone. В этой главе обсуждаются концепции и терминология сервиса идентификации OpenStack, 
а также читатель знакомится с Keystone на практике. Читатель установит и настроит ключевой сервис облачной операционной системы 
и заложит фундамент для настройки остальных служб.
Глава 4. Сервис хранения образов Glance. Четвертая глава посвящена настройке каталога образов виртуальных машин. Читатель познакомится с концепциями и настройкой сервиса Glance. К концу отработки 
материала главы в лабораторном окружении должен появиться каталог 
образов с загруженным шаблоном для создания виртуальных машин.
Глава 5. Сервис блочного хранилища Cinder. В данной главе читатель познакомится с тем, как создать блочное хранилище, которое 
будут использовать запущенные экземпляры виртуальных машин. 
Настройка этого опционального сервиса позволит виртуальным машинам сохранять данные между перезагрузками.
Глава 6. Объектное хранилище Swift. В главе рассматриваются 
настройка и работа с одним из двух исторически первых сервисов 
OpenStack – объектным хранилищем Swift. Рассматриваются концепции и архитектура сервиса, а также его установка и настройка.
Глава 7. Контроллер и вычислительный узел Nova. В данной главе рассматриваются установка одного из самых важных сервисов 
OpenStack, непосредственно занимающимся управлением виртуальными машинами. В ходе практических упражнений мы добавим два 
вычислительных узла в наше лабораторное окружение.
Глава 8. Службы сети Neutron. В главе, посвященной сетевым 
службам, рассматриваются концепции программно-определяемой сети. Читатель познакомится с вариантами организации сетевого взаимодействия в облаке и настроит на сетевом и  вычислительном узле 
сервис Neutron.
Глава 9. Работа с виртуальными машинами из командной строки. 
К девятой главе читатель построит свое минимальное лабораторное 
окружение OpenStack. В этой главе мы рассмотрим, как на практике 
работать с сетями и виртуальными машинами.
Глава 10. За фасадом Neutron. В этой главе кратко рассматриваются «внутренности» сетевого сервиса OpenStack, а также такие темы, 
как группы безопасности и виртуальный коммутатор Open vSwitch.
Глава 11. Веб-панель управления Horizon и работа пользователя из 
графического интерфейса. Одиннадцатая глава, вероятно, самая дру
 Предисловие

жественная к читателю. В ней мы, наконец, встанем на место пользователя облачного сервиса и познакомимся с тем, как в графическом интерфейсе веб-консоли создать проект и запустить виртуальную машину.
Глава 12. Сервис мониторинга Ceilometer. Сервис Ceilometer 
представляет собой централизованный источник информации по 
мет рикам облака и данным мониторинга. Этот компонент обеспечивает возможность биллинга для OpenStack. В данной главе читатель 
познакомится с настройкой Ceilometer и тем, как снимать и использовать данные телеметрии OpenStack.
Глава 13. Сервис оркестрации Heat. В этой главе рассказывается 
о сервисе Heat – «кольце всевластия», призванном связать все компоненты облака OpenStack воедино. Читатель познакомится с шаблоном формата HOT, при помощи которого Heat может создавать 
большинство типов ресурсов (виртуальные машины, тома, плавающие IP, пользователи, группы безопасности и т. д.) как единое целое, 
обеспечивая управление жизненным циклом приложения в облачной 
инфраструктуре.
Глава 14. Контейнеры Docker и OpenStack. В четырнадцатой главе мы кратко познакомимся с технологией контейнеров Docker и тем, 
как она используется совместно с OpenStack.
Глава 15. Программно-определяемая система хранения данных 
Ceph. Рассматриваются установка и интеграция программной СХД 
Ceph, которая становится для OpenStack «выбором по умолчанию» 
во многих новых инсталляциях.
Глава 16. Отказоустойчивость и производительность OpenStack. 
В этой главе автор дает обзорный материал о том, какими методами 
обеспечивается высокая доступность сервисов OpenStack, и рассматривает вопросы настройки производительности.

что нового во втором издании?

Текст книги обновлен, чтобы соответствовать актуальным версиям 
рассматриваемых проектов и компонент OpenStack по состоянию на 
начало 2016 года (версия Liberty), а объем книги увеличен более чем 
на треть. Некоторые изменения второго издания:
 
 исправлен ряд неточностей и опечаток первого издания, вышедшего в июне 2015 года;
 
 добавлена глава, посвященная программно-определяемой системе хранения данных Ceph и использованию Ceph совместно 
с OpenStack;