, Виртуализация KVM, Полное руководство, 2е изд

Виртуализация KVM, Полное руководство, 2е изд

Ведрэн Дэйкинч

Хумбле Девасси Чираммал

Прасад Мукхедкар

Эйнил Веттатху

 

Первая публикация на английском языке: Август 2016 (Июнь 2019)

Второе издание на английском языке: Октябрь 2020

Ссылка на продукт: 2250920

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

При подготовке этой книги были предприняты все усилия чтобы гарантировать точность представленной информации. Тем не менее, информация, содержащаяся в этой книге, продаётся без гарантии в явном или неявном виде. Ни авторы, ни Packt Publishing, ни их дилеры и дистрибьюторы не будут нести ответственность за любые убытки, вызванные или предположительно вызванные прямо или косвенно этой книгой.

Packt Publishing пыталась предоставить информацию о товарных знаках обо всех компаниях и продуктов, упомянутых в данной книге для надлежащего использования капиталов. Тем не менее, Packt Publishing не может гарантировать точность этой информации.

Опубликовано Packt Publishing Ltd.

Livery Place

35 Livery Street

Birmingham B3 2PB, UK

ISBN 978-1-83882-871-4

www.packtpub.com

2020-11-07

 Состав исполнителей

Авторы
Ведрэн Дэйкинч
Хумбле Девасси Чираммал
Прасад Мукхедкар
Эйнил Веттатху
Редактор ввода в эксплуатацию
Виджин Борича
Редактор приобретения
Шрилекха Айнэни
Главный редактор
Эрун Нэйдар
Редактор разработки содержимого
Найхар Кэйпэйдия
Технический редактор
Соухам Амбурле
Литературный редактор
Safis Editing
Координатор проекта
Ниил Димелло
Корректор
Safis Editing
Составитель указателя
Приянка Дхадке
Технолог
Эйпарна Бхагат

 Об авторах

Ведрэн Дэйкинч обладает степенью магистра в области электротехники и вычислений и он выступает ИТ- тренером курсов, покрывающим администрацию систем, облачные вычисления, автоматизацию и оркестровку. Он является сертифицированным тренером Red Hat, VMware и Microsoft. В настоящее время он работает руководителем отдела операционных систем в Университетском колледже алгебры в Загребе. В рамках своей работы он читает лекции по 3-х и 5-ти летним учебным программам системной инженерии, программированию и мультимедийным трекам. Он также много консультирует и занимается системной интеграцией проектов своих клиентов- чем он увлечён последние 20 лет. Его подход прост - привносите практику реальной жизни во все курсы, в которых он участвует, ибо это обеспечит дополнительную стоимость его студентам и клиентам.

Хумбле Девасси Чираммал работает главным инженером программного обеспечения Red Hat в команде инжиниринга систем хранения. Он имеет более чем 15 летний опыт в ИТ и его область специализации состоит в освоении всего стека экосистем и архитектурных решений, со средоточением на основанных на запросах решениях. В настоящее время он в первую очередь сосредоточен на Ceph и GlusterFS и их интеграцией с системами оркестровки, такими как Kubernetes. Он обладает практическим опытом таких развивающихся технологий как решения IaaS и PaaS в Облаках и контейнерах. В прошлом он работал над системами обнаружения вторжений, кластерными решениями и виртуализацией. Он является приверженцем открытого кода и центральным автором во многих проектах с открытым исходным кодом, таких как Kubernetes. Он активно организует встречи по Openshif/ Kubernetes, виртуализции, GlusterFS, CentOS. Его дескриптор в Twitter @hchiramm, а его веб- сайт http://www.humblec.com/.

Прасад Мукхедкар является специализированным инженером облачных решений в Red Hat India с более чем 10 летним опытом оказания помощи клиентам на их пути к виртуализации и внедрению облачных решений. Он сертифицированный архитектор Red Hat и обладает большим опытом проектирования и внедрения высокопроизводительной облачной инфраструктуры. Он специализируется на настройке производительности Red Hat Enterprise Linux 7/8, виртуализации KVM автоматизации Ansible и Red Hat OpenStack. Он гигантский фанат утилиты Linux "GNU Screen".

Эйнил Веттатху стартовал своё сотрудничество с Linux в колледже и вскоре начал свою карьеру в качестве системного администратора Linux. Он универсал, заинтересованный технологиями с открытым исходным кодом. Он обладает практическим опытом в разработке и внедрении крупномасштабных сред виртуализации с применением технологий с открытым исходным кодом и обладает обширными познаниями в области libvrt и KVM. В настоящее время он в основном работает техническим менеджером по работе с клиентами для Red Hat. Его веб- сайт http://anilv.in.

 Рецензент

Ранджит Рэйджэйрам работает старшим главным инженером технической поддержки в ведущей компании Enterprise Linux открытого исходного кода. Он начал свою карьеру с оказания поддержки компаниям, которые предоставляют веб- хостинг и удалённое управление серверами. Ранджит также предоствляет техническое сопровождение конечным пользователям. На заре своей карьеры он работал наплатформах Linux, Unix и FreeBSD.

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

В своей текущей организации он вовлечён в реализацию, установку и устранение неисправностей сетевых сред Linux. Помимо этого он также активный автор в пространстве контейнеров Linux (Docker, Podman)? Kubernetes и OpenShift.

Помимо этой книги он выступал техническим рецензентом самой первой редакции Виртуализация KVM. Полное руководство, причём обе доступны в Packt.

 www.PacktPub.com

 Предисловие

Mastering KVM Virtualization это книга, которая должна предоставить вам состояние "с нуля до героя" за тот промежуток времени, который потребуется вам на то, чтобы прочесть эту книгу. В ней собрано всё, что может предложить KVM как для DevOps, так и для обычных пользователей уровня системного администрирования, а также для разработчиков. Мы надеемся, что прочитав эту книгу, вы сможете осознать всё о внутреннем устройстве KVM, а также о более современных понятиях и обо всём, что творится между ними. Не важно, приступаете ли вы только к виртуализации KVM или уже следуете ей, вы должны обнаружить ценные сведения на страницах этой книги.

 Для кого эта книга

Эта книга предназначена как начинающим линуксоидам, так и профессионалам, поскольку она не требует существенных знаний в Linux заранее. Мы окажем вам содействие по мере прочтения этой книги, и это неотъемлемая часть нашего процесса обучения.Если вам интересны KVM, OpenStack, стек ELK, Eucalyptus или AWS – мы окажем вам содействие.

 Что охватывает эта книга

Глава 1. Основы виртуализации KVM, обсуждает различные типы виртуализации, виды гипервизоров и понятия виртуализации Linux (Xen и KVM). В этой главе мы попробуем пояснить некоторые основы виртуализации Linux и то, как они соответствуют средам облачных решений с точки зрения верхнего уровня.

Глава 2. KVM в качестве решения виртуализации, запускает обсуждение понятий виртуализации и основных потребностей виртуализации наших окружений, поясняет основы аппаратных и программных сторон виртуализации, а также различных подходов к виртуализации. В этой главе мы начинаем обсуждение KVM и libvirt, те понятия, которые мы будем применять на протяжении всей книги.

Глава 3. Установка гипервизора KVM, libvirt и oVirt, продолжает Главу 2, вводя некоторые новые понятия, включающие oVirt, какой-то GUI, который мы можем применять для управления свомии структурами виртуализации. Мы проведём вас через процесс проверки совместимости применяемого оборудования с KVM, ознакомим с некоторыми основными командами для развёртывания виртуальных машин, а затем перейдём к пояснению того как мы будем применять oVirt в том же самом сценарии.

Глава 4. Сетевая среда libvirt, поясняет как libvirt взаимодействует с различными сетевыми понятиями - виртуальными коммутаторами в разных режимах, как применять инструменты CLI для управления с сетевой средой libvirt, устройствами TAP и TUN, построением момтов Linux и Open vSwitch. После этого мы обсудим дополнительные экстремальные примеры примененич SR-IOV, понятие, которое должно обеспечить минимальную задержку и максимальную пропускную способность и применяется в тех ситуациях, когда на счету каждая миллисекунда.

Глава 5. Хранилище libvirt, является большой, поскольку понятия хранения чрезвычайно важны при создании сред виртуализации и облачых решений. Мы обсуждаем все типы хранилищ, поддерживающих KVM - локальные пулы хранения, NFS, iSCSI, SAN, Ceph, Gluster, множественность путей и избыточность, типы виртуальных дисков и тому подобное. Мы также предлагаем вам заглянуть в будущее хранилищ - с обсуждением некоторых технологий и среди них NVMe и NVMeoF.

Глава 6. Устройства и протоколы Виртуальных устройств отображения, рассказывает о различных видах отображения виртульных машин, протоколах удалённого доступа, включая VNC и SPICE, а также NoVNC, который гарантирует переносимость отображения, так как мы можем применять консоль виртуальной машины внутри веб браузера, приприменяии NoVNC.

Глава 7. Виртуальные машины: Установка, настройка и управление жизненным циклом, вводит дополнительные способы развёртывания и настройки виртуальных машин KVM, а также процессов миграции, которые очень важны для любого вида промышленной среды.

Глава 8. Создание и модификация дисков ВМ, шаблонов и моментальных снимков, Обсуждает различные типы образов виртуальных машин, роцессы работы с шаблонами виртуальных машин, применение моментальных снимков, а также некоторые варианты использования и практические советы использования моментальных снимков. Она также служит введенеием в нашу следующую глву, в которой мы применяем шаблоны и диски виртуальных машин намного более сглаженным образом для для персонадизации виртуальных машин по окончанию запуска с применением cloud-init и cloudbase-init.

Глава 9. Персонализация ВМ при помощи cloud-init, Обсуждат одно из наиболее фундаментальных понятий в облачгных средах - как выполнять персонализацию неких образа/ шаблона виртуальной машины после запуска. Почти во всех облачных средах для осуществления настроек виртуальной машины Linux применяется cloud-init и мы дадим пояснения как он работает и как заставить его работать в вашей среде.

Глава 10. Автоматизированные развёртывания гостей Windows и их персонализация, является продолжением Главы 9 с сосредоточением на работе с шаблонами виртуальных машин Microsoft Windows и персонализацией после их запуска. Для этого мы применяем cloudbase-init, некое понятие, которое в своей основе то же самое что и cloud-init, но но подогнано лишь под операционные системы на основе Microsoft.

Глава 11. Ansible и составление сценариев для оркестровки и автоматизации, забирает нас в первую часть путешествия по Ansible - развёртыванию AWX и Ansible, а также поясняет как применять эти понятия в наших средах на основе KVM. Это всего лишь одна из моделей использования Ansible, котороая применяетс в ИТ наших дней, ибо вс\ история DevOps и инфраструктуры- как - кода (IaaS) выставляют намного больше в отрасли ИТ по всему миру.

Глава 12. Горизонтальное масштабирование KVM посредством OpenStack, обсуждает собственно процесс сборки облачной среды на основе KVM. OpenStack выступает стандартным подходом реализации при использовании KVM.В этой главе мы обсудим все блоки построения и службы OpenStack, то как развернуть их с нуля, а также опишем как применять это в промышленных средах.

Глава 13. Горизонтальное масштабирование KVM посредством AWS, осуществит наше путешествие по использованию общедоступных и гибридных понятий при помощи Amazon Web Services (AWS). Как и почти все прочие главы, эта глава чрезвычайно практична и позволяет вам получить представление об AWS как о понятии, которое будет иметь ключевое значение при развёртывании инфраструктуры гибридного облака с применением Eucalyptus в самом конце этой главы.

Глава 14. Платформа мониторинга виртуализации KVM, вводит очень популярное понятие мониторинга через стек Elasticsearch, Logstash, Kibana (ELK). Она также проведёт вас по всему процессу настройки и интеграции необходимого стека ELK с вашей инфраструктурой KVM, причём всеми способами к окончательному результату - применению инструментальной панели и UI для мониторинга вашей среды на основе KVM.

Глава 15. Регулирование и оптимизации ВМ KVM, обсуждает различные подходы регулировок и оптимизации в средах KVN через построное построение всех принципов построения вашей инфраструктуры и помещения её в (верное) использование. Здесь мы обсудим ряд современных тем - NUMA, KSM, производительность ЦПУ и памяти, прикрепление к ЦПУ, регулировка VirtIO, а ткже блочных и сетевых устройств.

Глава 16. Руководство по поиску и устранению неисправностей KVM, начинается с самых основ - устранения неисправностей и ведения журналов и поясняет различные методологии устранения неисправностей для KVM и oViirt, Ansible и OpenStack, Eucalyptus и AWS. Это именно те задачи реальной практики, с которыми мы также сталкивались в своих промышленных средах на протяжении написания данной книги, в том числе проблемы, относящиеся к моментальным снимкам и шаблонам.

 Как получить от этой книги больше пользы

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

Таблица 0-1. Предварительные требования
ПО/ аппаратные средства, рассматриваемые в этой книге Требования к ОС

CentOS 7

Windows, macOS X и Linux (любой)

CentOS 8

Windows, macOS X и Linux (любой)

Ubuntu 18.04

Windows, macOS X и Linux (любой)

 Код в действии

Видео Кода в действии для данной книги можно просмотреть по ссылке: https://bit.ly/32IHMdO.

 Загрузка цветных изображений этой книги

Мы дополнительно снабжаем вас файлом PDF, который содержит цветные изображения экранных снимков/ схем, использованных в данной книге. Вы можете загрузить этот файл по адресу: http://www.packtpub.com/sites/default/files/downloads/9781838828714_ColorImages.pdf.

 Соглашения

В данной книге вы найдёте ряд текстовых стилей, которые делают разницу между различными видами информации. Здесь мы приводим некоторые примеры этих стилей и объяснение их назначения.

CodeInText обозначает в тексте, имена таблиц базы данных, имена папок, имена файлов, расширения файлов, имена путей, модели URL-адресов, ввод пользователя, и регулировки Twitter. Вот некие примеры: "Всё что нам требуется, так это убрать комментарий с одного конвейера, который определён в файле конфигурации, расположенного в папке /etc/logstash.".

Блок кода записываются следующим образом:


<memoryBacking>
    <locked/>
</memoryBacking>
 	   

Когда мы желаем привлечь ваше внимание к определённой части блока кода, соответствующие строки или элементы устанавливаются жирным текстом:


POWER TTWU_QUEUE NO_FORCE_SD_OVERLAP RT_RUNTIME_SHARE NO_LB_MIN NUMA
NUMA_FAVOUR_HIGHER NO_NUMA_RESIST_LOWER
 	   

Жирный шрифт указывает некий новый термин, важное слово или слова, которые вы наблюдаете на экране. Например, слова в меню или блоках диалога в тексте, подобном приводимому здесь. Например: "После того как вы нажмёте кнопку Refresh на данной странице должны появиться новые данные".

[Замечание]Замечание

Предостережения или важные замечания появляются в блоках подобных этому.

[Совет]Совет

Советы и ловкие приёмы возникают таким образом.

 Разделы

В этой книге вы будете находить отдельные часто повторяющиеся заголовки (Приготовление, Как это сделать..., Как это работает..., Также ознакомьтесь... и Дополнительно). Чтобы получить чёткие инструкции как выполнить определённый рецепт, применяйте эти разделы следующим образом:

 Обратная связь с читателями

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

Для отправки обычного отклика просто пошлите электронное письмо на адрес feedback@packtpub.com с упоминанием заголовка книги в теме вашего сообщения.

Если у вас существует тема, в которой у вас имеется опыт и вы заинтересованы либо в написании, либо во вкладе в книгу, обратитесь к руководству по адресу www.packtpub.com/authors.

 Поддержка пользователей

Теперь, когда вы являетесь гордым владельцем книги Packt, у нас есть целый ряд моментов для помощи вам в получении максимальной выгоды от вашей покупки.

 Опечатки

Хотя мы и предприняли все меры чтобы обеспечить точность нашего содержимого, ошибки всё- таки возможны. Если вы обнаружили ошибку в нашей книге - возможно, ошибку в тексте или в коде - мы будем признательны если вы сообщите об этом нам. Сделав это, вы можете предостеречь остальных читателей от разочарования и помочь нам улучшить последующие версии данной книги. Если вы обнаружили ошибку, пожалуйста, сообщите о ней посетив www.packtpub.com/submit-errata, выбрав вашу книгу, кликнув на ссылку Errata Submission Form, и заполнив подробности найденной вами ошибки. Когда ваша ошибка будет проверена, вы получите уведомление и ошибка будет выложена на наш веб- сайт или добавлена в какой- нибудь перечень существующих ошибок с заголовком раздела Errata.

Для просмотра ранее выявленных ошибок посетите www.packtpub.com/books/content/support и введите название нужной книги в поле поиска. Необходимая информация появится в разделе Errata.

 Незаконное тиражирование

Пиратство, защищённых авторским правом материалов в Интернете является постоянной проблемой во всех средствах массовой информации. В Packt мы подходим к защите наших авторских прав и лицензий очень серьёзно. Если вы столкнётесь с какой-либо незаконной копией наших работ в любой форме в Интернете, пожалуйста, предоставьте нам сразу адрес местонахождения или имя веб-сайта, чтобы мы могли принять меры. {Прим. пер.: Согласно закону об авторском праве РФ, авторские права на перевод принадлежат авторам этого перевода. Данным переводом, по нашему мнению, мы служим популяризации основных стратегических направлений развития тем Packt. В случае наличия конструктивных предложений, готовы к тесному сотрудничеству.}

Пожалуйста, обратитесь по адресу copyright@packtpub.com со ссылкой на материалы содержащие признаки нарушения авторских прав.

Мы выражаем вам признательность в защите наших авторов и нашей возможности доносить до вас имеющего ценность содержимого.

 Вопросы

Если у вас есть проблемы по любым сторонам данной книги, вы можете контактировать с нами по адресу questions@packtpub.com и мы предпримем все меры в отношении ваших проблем.

 Содержание

Предисловие
Что охватывает эта книга
Что вам нужно для этой книги
Для кого эта книга
Соглашения
Обратная связь с читателями
Поддержка пользователей
Код в действии
Опечатки
Незаконное тиражирование
Вопросы
Часть 1. Основы виртуализации KVM
Глава 1. Основы виртуализации KVM
Виртуализация Linux и как всё начиналось
Типы виртуализации
Применение гипервизора/ диспетчера виртуальных машин
Гипервизоры 1 и 2 типа
Проекты виртуализации с открытым исходным кодом
Xen
KVM
Что виртуализация Linux предлагает вам в своём облаке
Выводы
Вопросы
Далнейшее чтение
Глава 2. KVM в качестве решения виртуализации
Виртуализация как концепция
Сопоставление виртуализации и физических сред
Почему виртуализация настолько важна?
Аппаратные требования для виртуализации
Программные требования для виртуализации
Внутреннее устройство libvirt, QEMU и KVM
libvirt
QEMM
Внутреннее устройство QEMM - KVM
Структуры данных
Модели потоков в QEMM
KVM
Структуры данных
Поток исполнения vCPU
Выводы
Вопросы
Дальнейшее чтение
Часть 2. libvirt и ovirt для управления виртуальными машинами
Глава 3. Установка гипервизора KVM, libvirt и oVirt
Знакомство с QEMU и libvirt
Знакомство с oVirt
Установка QEMU, libvirt и oVirt
Установка самой первой ВМ в KVM
Автоматизация установки ВМ
Установка oVirt
Запуск ВМ при помощи QEMU и libvirt
Выводы
Вопросы
Дальнейшее чтение
Глава 4. Сетевая среда libvirt
Основы построения физической и виртуальной сетевой среды
Построение виртуальной сетевой среды
Сетевая среда Libvirt NAT
Сетевая среда маршрутизации Libvirt
Сетевая среда изолированной Libvirt
Применение сетевой среды пространства пользователя при помощи устройств TAP и TUN
Реализация построения моста Linux
Настройка Open vSwitch
Прочие варианты применения Open vSwitch
Основы SR-IOV и его использование
Основы macvtap
Выводы
Вопросы
Дальнейшее чтение
Глава 5. Хранилище libvirt
Введение в хранилище
Пулы хранения
Локальные пулы хранения
Пулы хранения Libvirt
Пул хранения NFS
Хранилище iSCSI и SAN
Избыточность хранилища и множество путей
Gluster и Ceph в качестве основы хранения для KVM
Gluster
Ceph
Виртуальные образы диска и форматы, а также базовые операции хранилища KVM
Получение сведений образа
Подключение диска при помощи virt-manager
Подключение диска при помощи virsh
Создание библиотеки образов ISO
Удаление пула хранения
Создание томов хранения
Создание томов при помощи команды virsh
Удаление тома при помощи команды virsh
Самые последние развёртывания в хранилище - NVMe и NVMeOF
Выводы
Вопросы
Дополнительное чтение
Глава 6. Устройства и протоколы Виртуальных устройств отображения
Применение устройств отображения виртуальной машины
Физические и виртуальные графические картыв сценариях VDI
Разбиение GPU на части на примере vGPU nVidia
PCI проброс GPU
Обсуждение протоколов удалённого отображения
История протоколов удалённого отображения
Типы протоколов удалённого отображения
Применение протокола отображения VNC
Почему VNC?
Применение протокола отображения SPICE
Добавление графического сервера SPICE
Методы доступа консоли ВМ
Достижение переносимости дисплея при помощи noVNC
Выводы
Вопросы
Дополнительное чтение
Глава 7. Виртуальные машины: Установка, настройка и управление жизненным циклом
Создание ВМ при помощи virt-manager
Применение virt-manager
Применение команд virt-*
virt-viewer
virt-xml
virt-clone
qemu-img
Создание новой ВМ при помощи Cockpit
Создание новой ВМ при помощи oVirt
Настройка вашей ВМ
Добавление и удаление оборудования в вашей ВМ
Миграция ВМ
Преимущества миграции ВМ
Настройка необходимой среды
Миграция в отключённом состоянии
Миграция в реальном времени или во включённом состоянии
Выводы
Вопросы
Дальнейшее чтение
Глава 8. Создание и модификация дисков ВМ, шаблонов и моментальных снимков
Изменение образов ВМ с применением инструментов libguestfs
virt-v2v
virt-p2v
guestfsh
Шаблоны ВМ
Работа с шаблонами
Развёртывание ВМ из шаблона
virt-builder и репозитории virt-builder
Репозитории virt-builder
Моментальные снимки
Работа с внутренними моментальными снимками
Управление моментальными снимками при помощи virt-manager
Работа с внешними моментальными снимками
Варианты применения и рекомендации использовния моментальных снимков
Выводы
Вопросы
Дальнейшее чтение
Часть 3. Автоматизация, персонализация и оркестровка для ВМ KVM
Глава 9. Персонализация ВМ при помощи cloud-init
В чём состоит потребность в индивидуализации виртуальной машины?
Основы cloud-init
Основы архитектуры cloud-init
Установка и настройка cloud-init во время запуска
Образы cloud-init
Источники данных cloud-init
Передача метаданных и данных пользователя в cloud-init
Применение модулей cloud-init
Примеры того как применять сценарий cloud-confg с cloud-init
Первое развёртывание
Второе развёртывание
Третье развёртывание
Выводы
Вопросы
Дальнейшее чтение
Глава 10. Автоматизированные развёртывания гостей Windows и их персонализация
Предварительные условия создания ВМ Windows в KVM
Создание ВМ Windows при помощи virt-install
Индивидуализация ВМ Windows при помощи cloudbase-init
Примеры индиводуализации cloudbase-init
Устранение распространённых проблем персонализации cloudbase-init
Выводы
Вопросы
Дальнейшее чтение
Глава 11. Ansible и составление сценариев для оркестровки и автоматизации
Основы Ansible
Подходы автоматизации
Введение в Ansible
Развёртывание и применение AWX
Развёртывание Ansible
Предоставление ВМ при помощи kvm_libvirt
Работа с плейбуками
Установка KVM
Применение Ansible и cloud-init для автоматизации т оркестровки
Оркестровка развёртывания многоуровневого приложения в ВМ KVM
Учимся на примерах - различные образцы использования Ansible в KVM
Выводы
Вопросы
Дальнейшее чтение
Часть 4. Масштабирование, мониторинг, регулировка производительности и устранение неисправностей
Глава 12. Горизонтальное масштабирование KVM посредством OpenStack
Введение в OpenStack
Программно определяемые сетевые среды
Основы VXLAN
Основы GENEVE
Компоненты OpenStack
Swift
Nova
Glance
Horizon
Designate
Keystone
Neutron
Дополнительные варианты применения OpenStack
Создание демонстрационной среды Packstack для OpenStack
Предоставление среды OpenStack
Пошаговая установка OpenStack
Администрирование OpenStack
Повседневное администрирование
Управление идентичностью
Интеграция OpenStack с Ansible
Установка сервера развёртывания Ansible
Настройка описи Ansible
Запуск плейбуков Ansible
Выводы
Вопросы
Дальнейшее чтение
Глава 13. Горизонтальное масштабирование KVM посредством AWS
Введение в AWS
Облачный подход
Множественные облака
Теневые ИТ
Разделение рынка
Большая инфраструктура, но никаких служб
Цены
ЦОД
Размещение это ключ
Службы AWS
Подготовка и преобразование ВМ для AWS
Что мы хотим сделать?
Выгрузка образа в EC2
Сборка гибридных облачных решений при помощи Eucalyptus
Как установить это?
Применение Eucalyptus для управления AWS
Выводы
Вопросы
Дальнейшее чтение
Глава 14. Платформа мониторинга виртуализации KVM
Мониторинг платформ виртуализации KVM
Введение в решения ELK с открытым исходным кодом
Elasticsearch
Logstash
Kibana
Настройка и интеграция стека ELK
Рабочий поток
Настройка коллектора и агрегатора данных
Создание графиков в Kibana
Создание персональных отчётов использования
ELK и KVM
Выводы
Вопросы
Дальнейшее чтение
Глава 15. Регулирование и оптимизации ВМ KVM
И это всё про проект
Общее планирование оборудования
Проектирование ВМ
Настройка производительности ЦПУ и памяти ВМ
Цепляем ЦПУ
Работа с памятью
Знакомство с KSM
Регулировка ЦПУ и памяти при помощи NUMA
Политики NUMA выделения памяти
Основы emulatorpin
KSM и NUMA
Автоматизация балансировки NUMA
Команда numactl
Основы numad и numastat
Регулировка устройства Virtio
Регулировка блочного ввода/ вывода
Регулировка сетевой среды
Как её включить
Рекомендации удержания времени гостя KVM
Программно- ориентированная архитектура
Выводы
Вопросы
Дальнейшее чтение
Глава 16. Руководство по поиску и устранению неисправностей KVM
Проверка состояния службы KVM
Ведение журнала служб KVM
Включение отладочного режима регистрации
Современные инструменты устранения неполадок
oVirt
oVirt и проблемы хранилища KVM
Проблемы с моментальными снимками и шаблонами - персонализация ВМ
Проблемы работы с Ansible и OpenStack
Зависимости
Устранение неисправностей Eucalyptus
AWS и его не помогающая многословность
Привлечение внимание к подробностям
Стек ELK
Рекомендации по устранению проблем KVM
Выводы
Вопросы
Дальнейшее чтение
Дополнение A, Обзор веб интерфейса Cockpit CentOS 8 (Глава 7 Всего сущего CentOS 8)
Обзор Cockpit
Установка и включение Cockpit
Доступ к Cockpit
Система
Журналы
Хранилища
Сетевая среда
Виртуальные машины
Учётные записи
Службы
Приложения
Диагностические отчёты
Дамп ядра
SELinux
Обновления программного обеспечения
Терминал
Подключение ко множеству серверов
Включение сохраняемых замеров
Выводы
Дополнение B, Архитектура программного обеспечения Stratis
Часть I. Предпосылки
Постановка задачи
Цель: предоставить пользователям современные функции в более простой форме
План: реализовать гибридную Файловую систему управления томами
Требования
Часть II. Обзор решения
Введение
Stratis и стек хранения Linux
Концептуальная модель
Блочные устройства, пулы и файловые системы
Атрибуты и функциональные возможности пула
Вопросы масштабируемости и производительности
Часть III. Реализация
Компоненты программного обеспечения
Практика пользователей
Известные недостатки
Программный API D-Bus
Обзор
Управление доступом D-Bus
Политика безопасности
Предотвращение подделок
Запросы состояния stratisd через D-Bus
Внутреннее устройство
Требования Уровня Данных
Уровень Данных
Блочные устройства
Целостность (опционально)
Избыточность (опционально)
Гибкость
Динамичное выделение
Тонкие тома
Файловая система
Метаданные Уровня Данных
Требования
Соглашения
Обзор архитектуры
BlockDev Data Area (BDA)
Metadata Area (MDA)
Metadata Volume (MDV)
MDA и Очень большие пулы
Метаданные и восстановление
Уровень Кэширования
Требования
Метаданные Уровня Кэширования
Шифрование
Подробности реализации
Инструментарий командной строки ’stratis’
stratisd
Имена device-mapper
Требования соглашения именования
Соглашения именования
Определения именования по уровням
Минимальная версия Имён device-mapper
Интеграция с ОС: Запуск и initrd
Интеграция с ОС: udev
Интеграция с ОС: записи /dev
Частичная активация пула
Моментальные снимки
Внутреннее устройство лежащего в основе хранилища
Выделения на основании потребности
API общего уровня
Рабочие состояния
Состояния пула
Состояния расширения пула
Состояния пространства пула
Лицензирование
Часть IV. Дополнительные материалы
Первоначальные варианты адаптации существующих решений
Расширение имеющегося проекта
SSM
LVM2
Сборка поверх имеющегося проекта
XFS
device-mapper
LVM2
Выводы
Подробности реализации шифрования
Формат на диске
Формат маркера LUKS2
Формат метаданных шифрованного Stratis
Создание шифрованного диска
Обнаружение шифрованного диска
Активация шифрованного диска
Уничтожение шифрованного диска
Согласованность ключей для шифрованных пулов
Управление ключами
Указатель