Найти в Дзене
Merion Academy

Начало работы с виртуализацией Xen в CentOS

Привет! С вами снова Merion Academy - платформа доступного IT образования. Добро пожаловать в статью, посвященную началу работы с виртуализацией Xen на CentOS. Xen - это гипервизор с открытым исходным кодом, позволяющий параллельно запускать различные операционные системы на одной хост-машине. Этот тип гипервизора обычно называют гипервизором №1 в мире виртуализации. Xen используется в качестве основы для виртуализации серверов, виртуализации настольных ПК, инфраструктуры как услуги (IaaS) и встраиваемых/аппаратных устройств. Возможность работы нескольких гостевых виртуальных машин на физическом хосте может значительно повысить эффективность использования основного оборудования. Передовые возможности Xen гипервизора Пакеты Xen Project Пакеты Xen Project состоят из: Компоненты Xen Гипервизор Xen Project отвечает за обработку процессора, памяти и прерываний, поскольку он работает непосредственно на оборудовании. Он запускается сразу после выхода из загрузчика. Домен/гость - это
Оглавление

Привет! С вами снова Merion Academy - платформа доступного IT образования.

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

 Начало работы с виртуализацией Xen в CentOS
Начало работы с виртуализацией Xen в CentOS

Xen используется в качестве основы для виртуализации серверов, виртуализации настольных ПК, инфраструктуры как услуги (IaaS) и встраиваемых/аппаратных устройств. Возможность работы нескольких гостевых виртуальных машин на физическом хосте может значительно повысить эффективность использования основного оборудования.

Передовые возможности Xen гипервизора

  • Xen не зависит от операционной системы – основным стеком управления (который называется domain 0 (домен 0)) может быть Linux, NetBSD, OpenSolaris и так далее.
  • Возможность изоляции драйвера - Xen может разрешить основному системному драйверу устройства работать внутри виртуальной машины. Виртуальная машина может быть перезагружена в случае отказа или сбоя драйвера без воздействия на остальную часть системы.
  • Поддержка паравиртуализации (Paravirtualization - это тип виртуализации, в котором гостевая операционная система перекомпилируется, устанавливается внутри виртуальной машины и управляется поверх программы гипервизора, работающей на ОС хоста.): это позволяет полностью паравиртуализированным хостам работать гораздо быстрее по сравнению с полностью виртуализированным гостем, использующим аппаратные расширения виртуализации (HVM).
  • Небольшие размеры и интерфейс. В гипервизоре Xen используется микроядерное устройство, размер которого составляет около 1 МБ. Этот небольшой объем памяти и ограниченный интерфейс гостя делают Xen более надежным и безопасным, чем другие гипервизоры.
 Xen Project
Xen Project

Пакеты Xen Project

Пакеты Xen Project состоят из:

  • Ядро Linux с поддержкой Xen Project
  • Сам гипервизор Xen
  • Модифицированная версия QEMU - поддержка HVM
  • Набор пользовательских инструментов

Компоненты Xen

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

Ниже приведен список компонентов Xen Project:

  • Гипервизор Xen Project работает непосредственно на оборудовании. Гипервизор отвечает за управление памятью, процессором и прерываниями. Он не знает о функциях ввода-вывода, таких как работа в сети и хранение.
  • Область контроля (Домен 0): Domain0 - специальная область, которая содержит драйверы для всех устройств в хост-системе и стеке контроля. Драйверы управляют жизненным циклом виртуальной машины - созданием, разрушением и конфигурацией.
  • Гостевые домены/виртуальные машины - гостевая операционная система, работающая в виртуализированной среде. Существует два режима виртуализации, поддерживаемых гипервизором Xen:
  • Паравиртуализация (PV)
  • Аппаратная поддержка или полная виртуализация (HVM)
  • Toolstack и консоль: Toolstack - это стек управления, в котором Domain 0 позволяет пользователю управлять созданием, конфигурацией и уничтожением виртуальных машин. Он предоставляет интерфейс, который можно использовать в консоли командной строки. На графическом интерфейсе или с помощью стека облачной оркестрации, такого как OpenStack или CloudStack. Консоль - это интерфейс к внешнему миру.

PV против HVM

Паравиртуализация (PV - Paravirtualization )

  • Эффективная и легкая технология виртуализации, которая была первоначально представлена Xen Project.
  • Гипервизор предоставляет API, используемый ОС гостевой виртуальной машины
  • Гостевая ОС должна быть изменена для предоставления API
  • Не требует расширений виртуализации от центрального процессора хоста.
  • Гостям PV и доменам управления требуется ядро с поддержкой PV и драйверы PV, чтобы гости могли знать о гипервизоре и могли эффективно работать без эмуляции или виртуального эмулируемого оборудования.

Функции, реализованные в системе Paravirtualization, включают:

  • Сигнал прерывания и таймеры
  • Драйверы дисков и сетевые драйверы
  • Эмулированная системная плата и наследуемый вариант загрузки (Legacy Boot)
  • Привилегированные инструкции и таблицы страниц

Аппаратная виртуализация (HVM - Hardware-assisted virtualization ) - полная виртуализация

  • Использует расширения виртуальной машины ЦП от ЦП хоста для обработки гостевых запросов.
  • Требуются аппаратные расширения Intel VT или AMD-V.
  • Полностью виртуализированные гости не требуют поддержки ядра. Следовательно, операционные системы Windows могут использоваться в качестве гостя Xen Project HVM.
  • Программное обеспечение Xen Project использует Qemu для эмуляции аппаратного обеспечения ПК, включая BIOS, контроллер диска IDE, графический адаптер VGA, контроллер USB, сетевой адаптер и так далее
  • Производительность эмуляции повышается за счет использования аппаратных расширений.
  • С точки зрения производительности, полностью виртуализированные гости обычно медленнее, чем паравиртуализированные гости, из-за необходимой эмуляции.
  • Обратите внимание, что можно использовать PV драйверы для ввода-вывода, чтобы ускорить гостевой HVM

Драйверы PVHVM - PV-on-HVM

  • Режим PVH сочетает в себе лучшие элементы HVM и PV
  • Позволяет виртуализированным аппаратным гостям использовать PV диск и драйверы ввода-вывода
  • Никаких изменений в гостевой ОС
  • Гости HVM используют оптимизированные драйверы PV для повышения производительности - обходят эмуляцию дискового и сетевого ввода-вывода, что приводит к повышению производительности в системах HVM.
  • Оптимальная производительность на гостевых операционных системах, таких как Windows.
  • Драйверы PVHVM требуются только для гостевых виртуальных машин HVM (полностью виртуализированных).

Установка Xen в CentOS 7.x

Чтобы установить среду Xen Hypervisor, выполните следующие действия.

1) Включите репозиторий CentOS Xen

sudo yum -y install centos-release-xen

2) Обновите ядро и установите Xen:

sudo yum -y update kernel && sudo yum -y install xen

3) Настройте GRUB для запуска Xen Project.

Поскольку гипервизор запускается перед запуском ОС, необходимо изменить способ настройки процесса загрузки системы:

sudo vi /etc/default/grub

Измените объем памяти для Domain0, чтобы он соответствовал выделенной памяти.

RUB_CMDLINE_XEN_DEFAULT="dom0_mem=2048M,max:4096M cpuinfo com1=115200,8n1 console=com1,tty loglvl=all guest_loglvl=all"

4) Запустите скрипт grub-bootxen.sh, чтобы убедиться, что grub обновлен /boot/grub2/grub.cfg

bash `which grub-bootxen.sh`

Подтвердите изменение значений:

grep dom0_mem /boot/grub2/grub.cfg

5) Перезагрузите свой сервер

sudo systemctl reboot

6) После перезагрузки убедитесь, что новое ядро работает:

# uname -r

7) Убедитесь, что Xen работает:

# xl info
host : xen.example.com
release : 3.18.21-17.el7.x86_64
machine : x86_64
nr_cpus : 6
max_cpu_id : 5
nr_nodes : 1
cores_per_socket : 1
threads_per_core : 1
.........................................................................

Развертывание первой виртуальной машины

На этом этапе вы должны быть готовы к началу работы с первой виртуальной машиной. В этой демонстрации мы используем virt-install для развертывания виртуальной машины на Xen.

sudo yum --enablerepo=centos-virt-xen -y install libvirt libvirt-daemon-xen virt-install
sudo systemctl enable libvirtd
sudo systemctl start libvirtd

Установка HostOS в Xen называется Dom0. Виртуальные машины, работающие через Xen, называются DomU.

virt-install -d \
--connect xen:/// \
--name testvm \
--os-type linux \
--os-variant rhel7 \
--vcpus=1 \
--paravirt \
--ram 1024 \
--disk /var/lib/libvirt/images/testvm.img,size=10 \
--nographics -l "http://192.168.122.1/centos/7.2/os/x86_64" \
--extra-args="text console=com1 utf8 console=hvc0"

Если вы хотите управлять виртуальными машинами DomU с помощью графического приложения, попробуйте установить virt-manager

sudo yum -y install virt-manager

--
До встречи на нашей образовательной платформе.
Merion Academy - платформа доступного IT образования.