Denodo платформа виртуализации

1.2. Преимущества и недостатки виртуальных машин

1.2.1. Преимущества виртуальных машин

Приведу вам несколько преимуществ использования виртуальных машин:

  1. Приведу самый просто пример. Нынче, как мы знаем, вышли новые операционные системы. Windows Vista и Windows 7. И как многие из вас убедились, некоторые приложения, в частности игры, на них не работают. Так в чём проблема? Когда можно установить виртуальную машину с, допустим, операционной системой Windows XP. И всё прекрасно будет работать.
  2. Второй пункт можно отнести к злобным хакерам или просто к компьютерным хулиганам. Имеется в виду, что на виртуальной машине вы можете спокойно написать вирус или вредоносное программное обеспечение, которое сможет повредить вам лишь гостевую операционную систему виртуальной машины.
  3. Третий пункт можно было отнести ко второму. А именно то, что на виртуальную машину вы можете ставить любое ПО, не опасаясь чего-либо. Вы можете экспериментировать с различными настройками и прочее.
  4. Ну и одно из самых главных это то, что вы можете легко изучать новые операционные системы, не стирая свою старую.

Это конечно далеко не все преимущества виртуальных машин. Каждый пользователь может сам придумать, для чего ему нужна виртуальная машина.
Перед возможностью установки нескольких хостовых операционных систем на один компьютер с их раздельной загрузкой, виртуальные машины имеют следующие неоспоримые преимущества:

Обновление до SQL Server 2022

Начиная с SQL Server 2022 (16.x) Hortonworks Data Platform (HDP) и Cloudera Distributed Hadoop (CDH) больше не поддерживаются. Из-за этих изменений перед миграцией на SQL Server 2022 (16.x) необходимо вручную удалить внешние источники данных PolyBase, созданные в предыдущих версиях SQL Server, которые используют службу хранилища Azure. Для удаления внешних источников данных также требуется удалить связанные объекты базы данных, такие как учетные данные для базы данных и внешние таблицы.

Соединители службы хранилища Azure необходимо изменить на основе приведенной ниже справочной таблицы:

Внешний источник данных Исходный тип Кому
хранилище BLOB-объектов Azure wasb(s) abs
ADLS 2-го поколения abfs(s) adls

JOIN для двух и более кубов с «почти общими» измерениями

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

Рассмотрим простой пример. Имеется два источника. Первый – статистика стран мира. Второй – характеристики разных городов. Один куб содержит справочник стран, другой – городов. Первичные ключи у этих измерений, естественно, разные. Но в каждой стране есть город-столица. Поэтому часть элементов измерения городов можно «соединить» с элементами измерения стран.  Такая операция эквивалентна sql-команде left/right join и может быть выполнена в платформе «Форсайт» на BI-сервере. Для этого в виртуальном кубе один из кубов-источников нужно сделать основным, остальные кубы будут соединяемые. Далее индекс измерения основного источника нужно связать с индексом в измерениях соединяемых кубов. После этого все соединенные таким способом измерения будут рассматриваться как единое и станут общими. В итоге, в виртуальный куб попадет измерение основного куба, а выбранные в нем элементы через мэппинг индексов будут транслироваться в соответствующие измерения в соединяемых кубах-источниках.

Вернемся к нашему примеру про страны и столицы. Два этих измерения можно связать через международный код страны ISO 3166-1. Тогда в виртуальном кубе измерение стран будет общим, и данные о характеристиках всех столиц (по которым есть данные и указано значение дополнительного атрибута ISO) будут добавлены в состав общих показателей.

CPU

Теоретически QEMU способен эмулировать любой тип процессора и соотвествующие ему флаги и функциональность, на практике используют либо host-model и точечно выключают флаги перед передачей в Guest OS либо берут named-model и точечно включают\выключают флаги.
По умолчанию QEMU будет эмулировать процессор, который будет распознан Guest OS как QEMU Virtual CPU. Это не самый оптимальный тип процессора, особенно если приложение, работающее в виртуальной машине, использует CPU-флаги для своей работы. Подробнее о разных моделях CPU в QEMU.
QEMU/KVM также позволяет контролировать топологию процессора, количество тредов, размер кэша, привязывать vCPU к физическому ядру и много чего еще.
Нужно ли это для виртуальной машины или нет, зависит от типа приложения, работающего в Guest OS

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

Глоссарий по виртуализации

  • Гипервизор/VMM (Монитор виртуальной машины) –  «мозг», обеспечивающий виртуализацию: он абстрагирует, изолирует виртуальное аппаратное железо и управляет им. 
  • Хост-машина – машина (физическая или виртуальная), на которой выполняется VMM
  • Гость /VM/Виртуальная машина – машина, основанная на абстрактном аппаратном обеспечении и изолированном программном, предоставляемом machine VMM
  • Кольца защиты:
  • Четыре периметра (кольцо 0 – кольцо 3) иерархии предметной области, обеспечиваемые на аппаратном уровне 
  • Применяется для отграничения пространства ядра (обычно кольцо 0) от пользовательского пространства (обычно кольцо 3) или гостевой VM от хостовой VM/VMM
  • Железо проверяет текущий уровень привилегий (CPL), указанный в CS (сегменте с кодом) выполняющего процесса, сравнивая этот показатель с DPL (уровнем привилегий дескриптора), относящимся к целевой области памяти 
  • Привилегированные инструкции:
  • Как правило, необходимо выполнять в кольце 0
  • Управляют критически важным низкоуровевым исполнением (HLT, LIDT)
  • Отображение в памяти (INVLPG)
  • Чтение/запись в специальные регистры  (RDMSR, WRMSR, MOV CRx)
  • Могут предоставлять неограниченный доступ к хостовой OS
  • Чувствительные инструкции  — чтение и запись в MMIO (ввод-вывод через память) и устройства ввода/вывода (IN/OUT, MOV   <MEMORY_MAPPED_REGISTER>)
    Эти инструкции действуют по-разному в зависимости от того, в каком кольце защиты находятся (POPF)
    Могут предоставлять неограниченный доступ через гостевую VM
  • Инструкции перехвата – перехват команд и перенаправление логики управления 
  • Эмуляция – Программы, действующие как «имитация» аппаратного обеспечения с издержками на трансляцию  
  • Полная виртуализация:
  • Критически важные инструкции, обнаруживаемые статически или динамически и заменяемые прерываниями, которые инициируют эмулированное выполнение  
  • Работает весьма медленно из-за издержек, связанных с эмуляцией 
  • Паравиртуализация:
  • Эмуляция с учетом присутствия гостевой системы, заменяющая чувствительные инструкции API-вызовами к гостю 
  • Работает весьма быстро, но при этом негибко, поскольку гостя нужно модифицировать 
  • Виртуализация с аппаратной поддержкой –
  • Абстрагирование и поддержка чувствительных инструкций с поддержкой на уровне железа 
  • Наиболее эффективный вариант, но зависит от архитектуры (напр., x86 vs AMD)

Рисунок 3: Типы виртуализации

Виртуализация данных и хранилище данных

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

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

Абстракция

Представьте, что вы попросили нескольких человек описать в общих чертах, что такое телефон и как им пользоваться: пусть это будут бабушка, мама и подруга. Бабушка вспомнит про дисковые телефоны и трубки с витым проводом. Мама расскажет про радиотелефоны, у которых есть база и есть трубка, с которой можно ходить по всей квартире, а подруга начнёт описывать мобильник.

Несмотря на то что рассказы будут сильно отличаться между собой, у них будет несколько общих моментов про телефон:

  • у телефона есть трубка;
  • в трубку мы говорим, из трубки — слушаем;
  • можно набрать номер нужного человека и позвонить ему;
  • если вам позвонят по телефону, вы это услышите и примете звонок.

Получается, что если представить абстрактный телефон, то получится такое устройство с динамиком, микрофоном и средством набора номера. 

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

Устройство набора номера важно, а то, какая мелодия играет при вызове — нет

  Абстракция — это когда мы сосредотачиваемся только на существенных для задачи деталях и игнорируем всё остальное. В ООП абстракция означает, что для каждого объекта мы задаём минимальное количество методов, полей и описаний, которые позволят нам решить задачу. Чем меньше характеристик, тем лучше абстракция, но ключевые характеристики убирать нельзя.

Чтобы работать с абстракциями, используют интерфейсы.

Tableau

Крупнейшая и максимально упрощённая для пользователя платформа, специализирующаяся на анализе и визуализации данных. Позволяет строить эффектную графику. Основное отличие от конкурентов — возможность объединять данные из разных источников. Есть бесплатная и платная версии.

Формат данных. Работает с несколькими десятками источников данных в формате файлов, баз данных и облачных систем: XML, MS Excel, MySQL, SQL, Google BigQuery, Microsoft Azure и так далее.

Минусы. Всю функциональность можно получить только за плату. Бесплатна только публичная версия сервиса. Desctop Personal — $35 в месяц за пользователя, Desctop Professional — $70, Server — $35, Tableau Online $42 с полной поддержкой. Есть корпоративный пакет с регламентированным числом источников данных: $999–1999 в год. Данные нужно предварительно обрабатывать. Требует консалтинга со стороны профильного ИТ-специалиста.

Сбор и хранение больших данных перед обработкой

Ресурсы, выдающие большие данные могут быть весьма разнообразны. Например:

  • интернет — социальные сети, блоки и сайты СМИ, интернет вещей (IoT) и т.п.;
  • корпоративные источники — транзакции, архивы, базы данных и т. п.;
  • устройства, собирающие информацию — GPS-сигналы автомобилей, метеорологическое оборудование и т.п.

Совокупность методик по сбору данных и саму операцию называют Data Mining. В качестве примеров сервисов, осуществляющих процесс сбора информации, можно привести: Qlik, Vertica, Power BI, Tableau. Формат данных, как уже говорилось выше, может быть разнообразным — видео, текст, таблицы, SAS.

Если в сжатой форме описывать процесс сбора и обработки большого массива данных, то стоит выделить основные этапы:

  • постановка задачи для аналитической программы;
  • программа осуществляет сбор данных с их параллельной подготовкой (декодировка, отсев мусора, удаление нерелевантной информации);
  • выбор алгоритма анализа данных;
  • обучение программы выбранному алгоритму с дальнейшим анализом обнаруженных закономерностей.

В большинстве случаев полученные необработанные данные хранятся в так называемом «озере данных» — Data Lake. Формат и уровень структуризации информации при этом может быть разнообразным:

  • структурные (данные в виде строк и колонок);
  • частично структурированные (логи, CSV, XML, JSON-файлы);
  • неструктурированные (pdf-формат, формат документов и т. п.);
  • бинарные (формат видео, аудио и изображения).

Инструментарий, позволяющий хранить и обрабатывать данные в Data Lake:

  • Hadoop — пакет утилит и библиотек, используемый для построения систем, обрабатывающих, хранящих и анализирующих большие массивы нереляционных данных: данные датчиков, интернет-трафика, объектов JSON, файлов журналов, изображений и сообщений в соцсетях.
  • HPPC (DAS) – суперкомпьютер, способный обрабатывать данные в режиме реального времени или в «пакетном состоянии». Реализован LexisNexis Risk Solutions.
  • Storm — фреймворк Big Data, созданный для работы с информацией в режиме реального времени. Разработан на языке программирования Clojure.
  • DataLake – помимо функции хранения, включает в себя и программную платформу (например, такую как Hadoop), а также определяет источники и методы пополнения данных, кластеры узлов хранения и обработки информации, управления, инструментов обучения. DataLake при необходимости масштабируется до многих сотен узлов без прекращения работы кластера.

ТОП-30 IT-профессий 2022 года с доходом от 200 000 ₽

Команда GeekBrains совместно с международными специалистами по развитию карьеры
подготовили материалы, которые помогут вам начать путь к профессии мечты.

Подборка содержит только самые востребованные и высокооплачиваемые специальности
и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились
с карьерной целью на ближайшее будущее!

Скачивайте и используйте уже сегодня:

Александр Сагун
Исполнительный директор Geekbrains

Топ-30 самых востребованных и высокооплачиваемых профессий 2022

Поможет разобраться в актуальной ситуации на рынке труда

Подборка 50+ ресурсов об IT-сфере

Только лучшие телеграм-каналы, каналы Youtube, подкасты, форумы и многое другое для того, чтобы узнавать новое про IT

ТОП 50+ сервисов и приложений от Geekbrains

Безопасные и надежные программы для работы в наши дни

Получить подборку бесплатно

pdf 3,7mb
doc 1,7mb

Уже скачали 16880

Месторасположение «озера», как правило, находится в облаке. Так, около 72 % компаний при работе с Big Data предпочитают собственным серверам облачные. Это связано с тем, что обработка больших баз данных требует серьезные вычислительные мощности, в то время как облако значительно снижает стоимость работ. Именно по этой причине компании выбирают облачные хранилища.

Облако имеет ряд преимуществ перед собственным дата-сервисом. Из-за того, что расчет предстоящей нагрузки на инфраструктуру затруднителен, то закупка оборудования не целесообразна. Аппаратура, купленная на случай востребованности в больших мощностях, может просто простаивать, принося убытки. Если же оборудование окажется недостаточным по мощности, то его ресурсов не хватит для полноценной работы.

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

Как и зачем визуализировать данные

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

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

Другие типы

Программного обеспечения
  • Виртуализация приложений и виртуализация рабочего пространства: изоляция отдельных приложений от базовой ОС и других приложений; тесно связан с концепцией портативные приложения
  • Виртуализация услуг: эмуляция поведения определенных компонентов в гетерогенных компонентных приложениях, таких как API -приводимые приложения, облако -основанные приложения и сервис-ориентированные архитектуры
объем памяти
  • Виртуализация памяти: агрегирование оперативная память (RAM) ресурсы из сетевых систем в единую пул памяти
  • Виртуальная память: создает у приложения впечатление, что оно имеет непрерывную рабочую память, изолируя ее от базовой реализации физической памяти.
Место хранения
  • Виртуализация хранилища: процесс полного абстрагирования логического хранилища от физического хранилища
  • Распределенная файловая система: любой файловая система который позволяет получить доступ к файлам с нескольких хостов через компьютерную сеть
  • Виртуальная файловая система: уровень абстракции поверх более конкретной файловой системы, позволяющий клиентским приложениям получить единообразный доступ к различным типам конкретных файловых систем.
  • Гипервизор хранилища: программное обеспечение, которое управляет виртуализацией хранилища и объединяет ресурсы физического хранилища в один или несколько гибких пулов логических хранилищ.
  • Виртуальный диск: компьютерная программа, имитирующая дисковод, например, привод жесткого диска или же накопитель на оптических дисках (видеть сравнение программного обеспечения образов дисков )
Данные
  • Виртуализация данных: представление данных в виде абстрактного уровня, независимого от базовых систем, структур и хранилища.
  • Виртуализация базы данных: разделение уровня базы данных, который находится между уровнями хранилища и приложений в стеке приложений по всем
Сеть
  • Виртуализация сети: создание виртуализированной сети адресное пространство внутри или между сетевыми подсетями
  • Виртуальная частная сеть (VPN): а сетевой протокол который заменяет фактический провод или другой физический носитель в сети на абстрактный уровень, позволяя создавать сеть поверх Интернет

Сравнение решений виртуализации относительно VmWare

VMware

Astra Linux (БРЕСТ)

Инфоленд (zVirt)

НИИ Масштаб (VeiL)

Российское ПО

Нет

Да + open source

Да + open source

Да

Установка bare-metal

Да

Нет

Да

Да

Тип архитектуры

Классическая и гипер-конвергентная (vSAN)

Классическая или гипер-конвергентная

Классическая гипер-конвергентная

Классическая NFS, iSCSI, FC. Гипер-конвергентная

Платформа

ESXi

OpenNebula

oVirt+KVM

KVM

Поддержка CPU

x86_64

x86_64

x86_64

x86_64

 

Отказоустойчивость

Поддержка High-availability (высокой доступности)

Да

С помощью RAFT (open source)

Да

Да

Поддержка Fault Tolerant

Да

Нет

Нет

Нет

 

Функционал

Централизованное управление

Да

Да

Да

Да

Централизованный мониторинг производительности и сбоев

Да

С помощью Zabbix (open source)

Да

Да (упрощенный)

Управление операциями (performance management, capacity management, alerting and configuration/compliance)

Да

С помощью Foreman+Puppet (open source)

Да

Нет

Портал самообслуживания

Да

Да

Да

Нет (есть API)

Автоматизация инфраструктуры (профили узлов, автоматическое развертывание узлов)

Да

Нет

Нет

Да (упрощенный)

Интегрированное резервное копирование

Нет

Нет

Да

Да

Управление обновлениями (VM patching)

Нет

Нет

Нет

Нет

Поддержка живой миграции (vMotion)

Да

Да

Да

Да (в рамках одного кластера)

Поддержка Distributed Resource Scheduler (аналог VMware DRS)

Да

Нет

Да

Да

Интегрированные средства безопасности (Firewall, антивирус и др.)

Да

Нет

Дополнительно поддерживаются решения Dr.Web, Kaspersky

Firewall (поддерживаются решения Dr.Web, Kaspersky)

Собственное программное хранилище (vSAN)

Да

Нет

 GlusterFS

GlusterFS

Централизованное управление виртуальной сетью

Да

Нет

Да

Да

Виртуальные рабочие места (VDI)

Да (Horizon)

Да (БРЕСТ.VDI)

Да (Термит)

Да (VeiL VDI)

Виртуализация GPU

Да (NVIDIA)

Нет

Только passthrough

Да

Максимальный размер кластера

до 96 узлов, до 10000 ВМ на кластер

Максимум кластера отсутствует, рекомендуемый максимум на систему управления 500 узлов

Нет информации

До 64

Максимальное количество VM

До 1024 ВМ на хост

Нет ограничений

Нет ограничений

Нет ограничений

Поддерживаемые гостевые ОС

Windows, Linux

Windows, Linux

Windows, Linux

Windows, Linux

Поддерживаемые хост операционные системы

ESXi

Astra Linux SE

ОС zVirt Node

Своя (на основе Debian)

Схема лицензирования

Серверная виртуализация – по сокетам

Серверная виртуализация – 1 лицензия на 2 CPU конкретного сервера

Серверная виртуализация – 1 лицензия на 2 CPU конкретного сервера

Виртуализация – по количеству хостов

VDI — по числу пользователей VDI – по кол-ву параллельных соединений VDI – по пользователям VDI – по конкурентным подключениям

Виртуализация памяти

В 1960-х память на магнитных сердечниках стоила очень дорого. А мейнфреймы, встроенная память которых превосходила бы 1 Мбайт, встречались редко. Всё это способствовало развитию концепции виртуальной памяти, которая активируется небольшими дополнениями к аппаратной части благодаря набору инструкций. Выделяют страничную и сегментную организацию виртуальной памяти. 

Страничная организация виртуальной памяти

Именно этот вариант характерен для современных ОС. Здесь оперативка делится на области (страницы) фиксированного размера. Пользовательский поток, исполняемый процессором, обращается к памяти через адрес виртуальной памяти, разделённый на номер страницы и смещение внутри неё. 

С помощью буфера ассоциативной трансляции (TLB) номер виртуальной страницы преобразуется процессором в адрес соответствующей ей физической страницы. Если не получается это выполнить, понадобится дозаполнение буфера через обращения к таблице страниц (Page Walk). Это может осуществить либо сам процессор, либо ОС. Если страницу выгрузили из оперативной памяти, подкачка страницы выполняется с жёсткого диска в процессе обработки события Page fault. Когда происходит запрос на выделение памяти, ОС переносит страницы, к которым долго не обращались, на жёсткий диск. При этом критические данные остаются в оперативной памяти.

Сегментная организация 

При таком варианте организации виртуальной памяти пространство делится на сегменты любого размера. За счёт этого можно разбить данные процесса на логические блоки. Для каждого сегмента назначаются права доступа пользователям и его процессам. Когда начинает загружаться процесс, часть сегментов отправляется в оперативную память, а другая часть – в дисковую.

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

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

В случае сегментной организации памяти виртуальный адрес представляется парой (g, s), где g — номер сегмента, а s — смещение в сегменте. Физический адрес образуется сложением начального физического адреса сегмента, найденного в таблице сегментов по номеру g, и смещения s.

Недостаток данного метода распределения памяти – фрагментация на уровне сегментов и более медленное, если сравнивать со страничной, преобразование адреса.

Технология виртуализации памяти позволила 1мБайту ОЗУ на IBM 360/67 поддерживать полноценное 24-битное адресное пространство (16 МБ), входящее в компьютерную архитектуру, а каждая ВМ могла получить свой набор виртуальной памяти.

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

libvirt

libvirt — это масштабный open-source проект, который занимается разработкой набора инструментов и драйверов для управления гипервизорами. Он поддерживает не только QEMU/KVM, но и ESXi, LXC и много чего еще. Основная причина его популярности — структурированный и понятный интерфейс взаимодействия через набор XML-файлов плюс возможность автоматизации через API. Стоит оговориться что libvirt не описывает все возможные функции гипервизора, он лишь предоставляет удобный интерфейс использования полезных, с точки зрения участников проекта, функции гипервизора.
И да, libvirt это де-факто стандарт в мире виртуализации сегодня. Только взгляните на список приложений, которые используют libvirt. Хорошая новость про libvirt — все нужные пакеты уже предустановлены во всех наиболее часто используемых Host OS — Ubuntu, CentOS и RHEL, поэтому, скорее всего, собирать руками нужные пакеты и компилировать libvirt вам не придется. В худшем случае придется воспользоваться соответствующим пакетным инсталлятором (apt, yum и им подобные).
При первоначальной установке и запуске libvirt по умолчанию создает Linux bridge virbr0 и его минимальную конфигурацию.

Этот Linux bridge не будет подключен ни к одному физическому интерфейсу, однако, может быть использован для связи виртуальных машин внутри одного гипервизора. Libvirt безусловно может быть использован вместе с OVS, однако, для этого пользователь должен самостоятельно создать OVS bridges с помощью соответствующих OVS-команд.
Любой виртуальный ресурс, необходимый для создания виртуальной машины (compute, network, storage) представлен в виде объекта в libvirt. За процесс описания и создания этих объектов отвечает набор различных XML-файлов.
Детально описывать процесс создания виртуальных сетей и виртуальных хранилищ не имеет особого смысла, так как эта прикладная задача хорошо описана в документации libvirt:

  • Networking
  • Storage

Сама виртуальная машина со всеми подключенными PCI-устройствами в терминологии libvirt называется domain. Это тоже объект внутри libvirt, который описывается отдельным XML-файлом.
Этот XML-файл и является, строго говоря, виртуальной машиной со всеми виртуальными ресурсами — оперативная память, процессор, сетевые устройства, диски и прочее. Часто данный XML-файл называют libvirt XML или dump XML. Вряд ли найдется человек, который понимает все параметры libvirt XML, однако, это и не требуется, когда есть документация.
В общем случае, libvirt XML для Ubuntu Desktop Guest OS будет довольно прост — 40-50 строчек. Поскольку вся оптимизация производительности описывается также в libvirt XML (NUMA-топология, CPU-топологии, CPU pinning и прочее), для сетевых функций libvirt XML может быть очень сложен и содержать несколько сот строк. Любой производитель сетевых устройств, который поставляет свое ПО в виде виртуальных машин, имеет рекомендованные примеры libvirt XML.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Центр Начало
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: