Logout succeed
Logout succeed. See you again!

OpenStack. Практическое знакомство с облачной операционной системой PDF
Preview OpenStack. Практическое знакомство с облачной операционной системой
Маркелов А. А. OpenStack. Практическое знакомство с облачной операционной системой Четвертое издание, дополненное и исправленное Москва, 2018 1 / 30 УДК 004.738.5:004.451.9OpenStack ББК 32.971.3 М25 М25 Маркелов А. А. OpenStack. Практическое знакомство с облачной операцион- ной системой / 4-е изд., доп. и исправ. – М.: ДМК Пресс, 2018. – 306 с.: ил. ISBN 978-5-97060-652-0 Книга знакомит читателя с основными сервисами облачной опе- рационной системы OpenStack на начало 2018 года (версия Queens). Рассмотрены вопросы интеграции OpenStack и системы работы с контейнерами Docker, программно-определяемой системы хране- ния данных Ceph, настройки производительности и высокой до- ступности сервисов. В четвертое издание добавлен материал по работе с сетью, настройками производительности и отказоустой- чивости. В связи с переходом на сервис Gnocchi переработана глава, посвященная сервису телеметрии. Издание рассчитано на ИТ-специалистов (системных и сетевых администраторов, а также администраторов систем хранения дан- ных), желающих познакомиться с де-факто стандартом в области открытых продуктов построения облачной инфраструктуры типа IaaS – OpenStack. УДК 004.738.5:004.451.9OpenStack ББК 32.972.53 Все права защищены. Любая часть этой книги не может быть воспро- изведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, по- скольку вероятность технических ошибок все равно существует, издатель- ство не может гарантировать абсолютную точность и правильность приво- димых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. © Маркелов А. А., 2018. ISBN 978-5-97060-652-0 © Оформление, издание, ДМК Пресс, 2018 2 / 30 Оглавление Предисловие ....................................................................................................7 Благодарности .................................................................................................................7 Об авторе ...........................................................................................................................7 Рецензенты ......................................................................................................................8 Предполагаемая аудитория ......................................................................................8 О чем эта книга ..............................................................................................................9 Что нового во втором, третьем и четвертом изданиях? ..............................12 Что вам необходимо помимо книги ....................................................................13 Глава 1. Введение в OpenStack ...................................................................15 Что такое облачная инфраструктура? .................................................................15 Что такое облачные приложения?........................................................................17 История OpenStack .....................................................................................................18 Архитектура OpenStack .............................................................................................20 Гипервизор KVM и эмулятор QEMU .....................................................................23 Дистрибутивы OpenStack .........................................................................................25 Глава 2. Настройка лабораторного окружения OpenStack ....................29 Подготовка CentOS 7 к использованию дистрибутива OpenStack RDO ....35 Отличия RDO от «Upstream» ...................................................................................39 Как установить OpenStack RDO одной командой? ........................................39 Как установить OpenStack одной командой из исходных кодов? ..........43 Как определить, какую версию OpenStack я использую? ..........................45 Установка и настройка брокера сообщений ....................................................46 Установка и настройка базы данных ...................................................................50 Переход на использование утилиты OpenStackClient .................................51 Глава 3. Сервис идентификации Keystone ................................................53 Терминология Keystone.............................................................................................53 Установка и настройка Keystone ...........................................................................54 Работа с пользователями, ролями и проектами в Keystone ......................61 Глава 4. Сервис хранения образов Glance ................................................71 Установка и настройка сервиса Glance ..............................................................73 Подготовка образов виртуальных машин .........................................................78 Работаем с образами виртуальных машин ......................................................83 3 / 30 4 Оглавление Глава 5. Сервис блочного хранилища Cinder ...........................................87 Архитектура Cinder .....................................................................................................87 Настройка сервисов Cinder .....................................................................................89 Создание и удаление томов Cinder ......................................................................95 Глава 6. Объектное хранилище Swift ........................................................98 Архитектура Swift ........................................................................................................99 Подготовка дополнительных серверов лабораторного окружения ....101 Установка сервиса Swift-proxy ............................................................................103 Установка узлов хранения Swift ........................................................................104 Создание сервисных колец Swift .......................................................................108 Завершение настройки ..........................................................................................110 Работа с сервисом Swift ........................................................................................111 Настройка Swift в качестве хранилища для Glance ...................................113 Рекомендации по поиску неисправностей в сервисах Swift .................115 Глава 7. Контроллер и вычислительный узел Nova ...............................117 Архитектура Nova ......................................................................................................117 Установка контроллера Nova...............................................................................118 Установка вычислительных узлов Nova ...........................................................127 Глава 8. Службы сети Neutron ..................................................................132 Архитектура Neutron ...............................................................................................132 Работа Neutron при создании экземпляра виртуальной машины .......136 Установка узла управления Neutron ................................................................136 Установка сетевого узла Neutron .......................................................................144 Установка вычислительного узла Neutron .....................................................148 Глава 9. Работа с виртуальными машинами из командной строки ...152 Сеть в OpenStack .......................................................................................................152 Запускаем экземпляр виртуальной машины .................................................157 Добавляем к экземпляру виртуальной машины сеть ................................168 Моментальные снимки и резервные копии ..................................................173 Шифрование томов Cinder ....................................................................................177 Квоты на ресурсы .....................................................................................................178 Зоны доступности и агрегирование вычислительных узлов в Nova ...180 Зоны доступности в Cinder ...................................................................................184 Живая миграция виртуальных машин .............................................................185 Настройка экземпляров виртуальных машин при помощи cloud-init ......................................................................................................................189 4 / 30 Оглавление 5 Глава 10. За фасадом Neutron .................................................................192 Виртуальный коммутатор Open vSwitch .........................................................192 Группы безопасности ..............................................................................................201 Утилита для визуализации сети plotnetcfg ....................................................203 Зеркалирование трафика на Open vSwitch для мониторинга сети в OpenStack .......................................................................................................204 Балансировщик нагрузки как сервис (LBaaS) ...............................................208 Глава 11. Веб-панель управления Horizon и работа пользователя из графического интерфейса ...................................................................211 Установка веб-интерфейса ...................................................................................211 Работа с OpenStack в интерфейсе Horizon ....................................................214 Глава 12. Сервис сбора телеметрии ........................................................221 Установка служб Gnocchi и Ceilometr управляющего узла .....................223 Установка службы триггеров Aodh ....................................................................228 Установка служб вычислительного узла для отправки сообщений телеметрии ..................................................................................................................231 Интеграция с сервисами Glance и Cinder .......................................................232 Работа со службой телеметрии в современных версиях OpenStack ..233 Работа со службой телеметрии Ceilometer в версиях Newton и ранее ....238 Глава 13. Сервис оркестрации Heat ........................................................243 Архитектура сервиса ...............................................................................................244 Установка сервисов Heat .......................................................................................244 Запуск простого стека.............................................................................................248 Глава 14. Контейнеры и OpenStack .........................................................254 Краткое знакомство с Docker ..............................................................................254 Совместное использование Docker и OpenStack ........................................255 Настройка работы драйвера Docker для OpenStack Nova .......................257 Глава 15. Программно-определяемая система хранения данных Ceph ...............................................................................................263 Архитектура Ceph .....................................................................................................265 Быстрая установка кластера Ceph при помощи ceph-deploy .................270 Установка кластера ceph вручную .....................................................................274 Интеграция Ceph с сервисами OpenStack ......................................................279 Глава 16. Отказоустойчивость и производительность OpenStack ......287 Обзор способов обеспечения высокой доступности сервисов облака ....287 Выделение вычислительных ресурсов ............................................................290 5 / 30 6 Оглавление Выделение оперативной памяти .......................................................................291 Повышение производительности виртуальных машин ............................293 Повышение производительности сети ............................................................298 Определение аппаратных требований к оборудованию.........................299 Заключение .................................................................................................300 Приложение 1. Пример правил брандмауэра, реализующих группы безопасности на вычислительном узле ...................................301 Приложение 2. Листинг шаблона Heat ...................................................304 Запуск одной виртуальной машины – test-server.yml ...............................304 Приложение 3. Список основных используемых службами OpenStack сетевых портов ............................................................................305 6 / 30 Предисловие Благодарности В первую очередь я хочу поблагодарить мою жену Лену за терпение и поддержку, проявленные во время написания этой книги и дора- ботки текста для новых изданий. Также хотелось бы поблагодарить рецензентов этой книги – Антона Арапова и Артемия Кропачева, благодаря ценным замечаниям которых данная книга стала зна- чительно лучше и избавилась от многих неточностей и опечаток. Автор приносит благодарность читателям предыдущих изда- ний, приславшим свои замечания и исправления: Александру Ру- мянцеву, Владимиру Манькову, Владимиру Белых, Илье Дорохову, Олегу Бабкину, Ильназу Тарханову и Евгению Дос. Об авторе Андрей Маркелов имеет более чем десятилетний опыт преподава- ния как авторских курсов, так и авторизированных курсов по ИТ- технологиям таких компаний, как Red Hat и Microsoft. В настоящее время автор работает в качестве старшего менед- жера по архитектуре компании Ericsson, специализируясь на об- лачных технологиях и инфраструктуре виртуализации сетевых функций (NFV-I). До этого работал в качестве старшего системно- го архитектора в компании Red Hat, а также в крупных системных интеграторах России, получив более чем десятилетний опыт про- даж, проектирования и внедрения сетевых и инфраструктурных решений. Около шестидесяти публикаций в отечественных ИТ-журналах («Системный администратор», «Linux Format», «PC Week» и др.). Кро- ме того, является автором книги «Certified OpenStack Administrator Study Guide», вышедшей в 2016 году в издательстве Apress. Андрей является сертифицированным архитектором Red Hat (RHCA Level XI) с 2009 года и имеет сертификаты Red Hat в таких технологиях, как OpenStack, OpenShift, RHV, CloudForms, Ansible, Cloud Storage, настройка производительности, безопасности Linux-систем и др. 7 / 30 8 Предисловие Кроме того, автор имеет сертификаты Microsoft Certified System Engineer, Sun Certified System Administrator, Novell Certified Linux Professional, Linux Professional Institute Certification (LPIC-1), Mirantis Certified OpenStack Administrator, OpenStack Foundation Certified OpenStack Administrator и Cisco Certified Network Associate. Блог автора располагается по адресу http://markelov.blogspot.ru/. Его twitter-аккаунт: @amarkelov. Рецензенты Антон Арапов – руководит командой, ответственной за разви- тие инфраструктурных проектов в компании Acision. Помогает клиентам полностью раскрыть потенциал мобильных каналов передачи данных, а также является ответственным за эволюци- онное развитие сервисов в сетях LTE 4G и проекты, способству- ющие ускорению возврата инвестиций. Сегодня технологии виртуализации выступают основным средством для достиже- ния поставленных целей. До Acision Антон руководил группой разработки виртуализации в ядре Linux в компании Red Hat. Антон является экспертом в технологиях виртуализации и их применении. Артемий Кропачев – DevOps-архитектор в компании Bell Integrator. Артемий занимается проектированием и внедрени- ем облачных решений и систем автоматизации инфраструкту- ры и процессов разработки и тестирования (DevOps), постро- енных на базе Linux, AWS, OpenStack, OpenShift, Chef и т. п. Артемий – сертифицированный архитектор Red Hat (RHCA Level XII) по направлениям Datacenter, Cloud и DevOps. До Bell Integrator работал системным архитектором в ICL Services. Предполагаемая аудитория Данная книга рассчитана на ИТ-специалистов (системных и сете- вых администраторов, а также администраторов систем хранения данных), желающих познакомиться с де-факто стандартом в об- ласти открытых продуктов построения облачной инфраструктуры типа IaaS – OpenStack. По аналогии с минимальными требованиями программного обеспечения к среде выполнения эта книга также предъявляет ми- нимальные требования к читателю. 8 / 30 О чем эта книга 9 В первую очередь это желание разобраться с описываемым про- дуктом. Садясь за рукопись, я старался сделать книгу как можно более ориентированной на практическую работу. Лучше всего усваивается материал, который вы отработали собственными ру- ками в лабораторном окружении. Единственной чисто теорети- ческой главой в книге является первая, посвященная архитекту- ре продукта. Все остальные главы включают в себя обязательные практические упражнения. Отсюда следует, что, прежде чем приступать к изучению про- дукта, написанного в первую очередь под Linux и для Linux, вам необходимы навыки работы с операционной системой. Умение ра- ботать в командной строке и знание базовых команд обязательны. Также важными будут умение самостоятельно решать задачи и навык решения проблем – один из основных навыков хороше- го ИТ-специалиста-практика. Автор сознательно старался сде- лать изложение большей части материала никак не привязанной к конкретным версиям операционной системы и дистрибутива OpenStack. Но почти наверняка к тому моменту, как книга добе- рется до вас, выйдет следующая версия OpenStack, и вы, естествен- но, захотите воспроизвести упражнения на актуальной версии. Также небольшие детали могут отличаться в зависимости от ва- шего любимого дистрибутива GNU/Linux, версии и дистрибутива OpenStack. В первую очередь это расположение конфигурацион- ных файлов, особенности организации репозиториев с пакетами, названия пакетов и т. п. Ну и, естественно, от ошибок и опечаток никто не застрахован, включая вашего покорного слугу. О чем эта книга Книга состоит из шестнадцати глав и знакомит читателя с основ- ными сервисами облачной операционной системы OpenStack. Кроме того, рассмотрены вопросы интеграции OpenStack и систе- мы работы с контейнерами Docker, программно-определяемой системы хранения данных Ceph, настройки производительности и высокой доступности сервисов. Глава 1. Введение в OpenStack Первая глава вводит читателя в предметную область об- лачных вычислений. Дается представление об облачных, горизонтально масштабируемых приложениях, их отличи- 9 / 30