img

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

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

icon strelka icons icons

узнай больше на курсе

Онлайн-курс по Linux
Курс по Linux от Мерион Нетворкс - стань Linux администратором, прокачай свой скиллсет умением работать с операционными системами линукс и сделай большой шаг к DevOps
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
Полный курс по сетевым технологиям
Полный курс по сетевым технологиям от Мерион Нетворкс - учим с нуля сетевых инженеров и DevOPS специалистов
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
DevOps-инженер с нуля
Стань DevOps-инженером с нуля и научись использовать инструменты и методы DevOps
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
Начало работы с Xen Virtualization

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


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

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

Пакеты Xen Project

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

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

Компоненты Xen

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

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

  1. Гипервизор Xen Project работает непосредственно на оборудовании. Гипервизор отвечает за управление памятью, процессором и прерываниями. Он не знает о функциях ввода-вывода, таких как работа в сети и хранение.
  2. Область контроля (Домен 0): Domain0 - специальная область, которая содержит драйверы для всех устройств в хост-системе и стеке контроля. Драйверы управляют жизненным циклом виртуальной машины - созданием, разрушением и конфигурацией.
  3. Гостевые домены/виртуальные машины - гостевая операционная система, работающая в виртуализированной среде. Существует два режима виртуализации, поддерживаемых гипервизором Xen:
    • Паравиртуализация (PV)
    • Аппаратная поддержка или полная виртуализация (HVM)
  4. 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

  1. Режим PVH сочетает в себе лучшие элементы HVM и PV
  2. Позволяет виртуализированным аппаратным гостям использовать PV диск и драйверы ввода-вывода
  3. Никаких изменений в гостевой ОС
  4. Гости HVM используют оптимизированные драйверы PV для повышения производительности - обходят эмуляцию дискового и сетевого ввода-вывода, что приводит к повышению производительности в системах HVM.
  5. Оптимальная производительность на гостевых операционных системах, таких как Windows.
  6. Драйверы 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
Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
icon strelka icons icons

узнай больше на курсе

Онлайн-курс по Linux
Курс по Linux от Мерион Нетворкс - стань Linux администратором, прокачай свой скиллсет умением работать с операционными системами линукс и сделай большой шаг к DevOps
Подробнее о курсе
Полный курс по сетевым технологиям
Полный курс по сетевым технологиям от Мерион Нетворкс - учим с нуля сетевых инженеров и DevOPS специалистов
Подробнее о курсе
DevOps-инженер с нуля
Стань DevOps-инженером с нуля и научись использовать инструменты и методы DevOps
Подробнее о курсе
Python программист с нуля
Стань разработчиком на одном из самых популярных языков программирования - Python
Подробнее о курсе
Онлайн-курс по кибербезопасности
Полный курс по кибербезопасности от Мерион Нетворкс - учим с нуля специалистов по информационной безопасности. Пора стать безопасником!
Подробнее о курсе
Онлайн-курс по сетевой безопасности
Изучи основы сетевой безопасности и прокачай скилл системного администратора и сетевого инженера
Подробнее о курсе
Еще по теме:
img
Рассказываем, как появился nginx, его отличия от apache, для чего нужен nginx и какие у него преимущества
img
В этом руководстве вы узнаете, как установить и настроить Fail2ban на своем сервере.
img
В этой статье обсудим гипервизоры — важные компоненты процесса виртуализации серверов, как они работают и какие бывают типы.
img
В этой статье мы рассмотрим, как работают различные системные вызовы, разберемся в их функциях, а также постараемся сделать работу вашей системы более безопасной и предсказуемой.
img
Статья объясняет, что такое SWAP-память, как она работает, ее преимущества и недостатки, а также как управлять объемом SWAP-пространства на разных ОС.
Весенние скидки
30%
50%
60%
До конца акции: 30 дней 24 : 59 : 59