ѕодпишитесь на наш Telegram-канал Ѕудьте в курсе последних новостей 👇 😉 ѕодписатьс€
ѕоддержим в трудное врем€ —пециальное предложение на техническую поддержку вашей »“ - инфраструктуры силами наших экспертов ѕодобрать тариф
ѕоставка оборудовани€ √аранти€ и помощь с настройкой. —кидка дл€ наших читателей по промокоду WIKIMERIONET  упить
»нтерфейс статистики Merion Mertics показывает ключевые диаграммы и графики по звонкам, а также историю звонков в формате, который легко поймет менеджер ѕопробовать бесплатно
¬недрение
офисной телефонии
Ўаг на пути к созданию доступных унифицированных коммуникаций в вашей компании ¬недрить
»нтеграци€ с CRM ѕомогаем навести пор€док с данными
и хранить их в единой экосистеме
ѕодключить
»“ Ѕезопасность ”мна€ информационна€ безопасность дл€ вашего бизнеса «аказать
ћерион Ќетворкс

7 минут чтени€

ƒобро пожаловать в статью, посв€щенную началу работы с виртуализацией 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