img

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

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

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

Начало работы с 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
Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Системное администрирование
Скидка 10%
Администратор Linux
Стань Linux администратором и сделай весомый шаг в сторону карьеры в DevOps. Самые важные знания от сертифицированного и практикующего тренера с 20 летним стажем
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Fail2ban — это программное обеспечение, которое защищает ваш сервер от атак. ПО отслеживает журналы сервера и выявляет любую под
img
Виртуализация серверов — популярная тема в мире ИТ, особенно на уровне предприятий. Она позволяет разным операционным системам з
img
  Введение Системные вызовы выступают в роли посредников между приложениями и ядром. Они создают уровень абстракции, который защ
img
  Введение SWAP (SWAP-память или SWAP-пространство) – это раздел жесткого диска или SSD компьютера, где операционная система (ОС
img
  Введение Абсолютные и относительные пути определяют расположение файла или каталога в файловой системе. Это набор инструкций д
img
  Введение Файлы конфигурации Linux определяют поведение и функциональное наполнение операционной системы. Файлы конфигурации –
21 ноября
20:00
Бесплатный вебинар
Введение в Docker