По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Добро пожаловать в статью, посвященную началу работы с виртуализацией Xen на CentOS. Xen - это гипервизор с открытым исходным кодом, позволяющий параллельно запускать различные операционные системы на одной хост-машине. Этот тип гипервизора обычно называют гипервизором №1 в мире виртуализации.
Xen используется в качестве основы для виртуализации серверов, виртуализации настольных ПК, инфраструктуры как услуги (IaaS) и встраиваемых/аппаратных устройств. Возможность работы нескольких гостевых виртуальных машин на физическом хосте может значительно повысить эффективность использования основного оборудования.
Передовые возможности Xen гипервизора
Xen не зависит от операционной системы – основным стеком управления (который называется domain 0 (домен 0)) может быть Linux, NetBSD, OpenSolaris и так далее.
Возможность изоляции драйвера - Xen может разрешить основному системному драйверу устройства работать внутри виртуальной машины. Виртуальная машина может быть перезагружена в случае отказа или сбоя драйвера без воздействия на остальную часть системы.
Поддержка паравиртуализации (Paravirtualization - это тип виртуализации, в котором гостевая операционная система перекомпилируется, устанавливается внутри виртуальной машины и управляется поверх программы гипервизора, работающей на ОС хоста.): это позволяет полностью паравиртуализированным хостам работать гораздо быстрее по сравнению с полностью виртуализированным гостем, использующим аппаратные расширения виртуализации (HVM).
Небольшие размеры и интерфейс. В гипервизоре Xen используется микроядерное устройство, размер которого составляет около 1 МБ. Этот небольшой объем памяти и ограниченный интерфейс гостя делают Xen более надежным и безопасным, чем другие гипервизоры.
Пакеты 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
Linux обеспечивает детальный контроль над системными службами через systemd с помощью команды systemctl. Службы могут быть включены, выключены, перезапущены, перезагружены или даже включены или отключены при загрузке. Если вы используете Debian, CentOSили Ubuntu, ваша система, вероятно, использует systemd.
Это руководство покажет вам, как использовать основные команды для запуска, остановки и перезапуска служб в Linux.
Базовый синтаксис команды systemctl
Основной синтаксис для использования команды systemctl:
systemctl [command] [service_name]
Как правило, вам нужно запускать это как суперпользователь поэтому команды будут начинаться с sudo.
Как проверить, работает ли служба в Linux
Чтобы проверить, активна ли служба или нет, выполните следующую команду:
sudo systemctl status SERVICE_NAME
Замените SERVICE_NAME на нужный сервис.
В нашем случае мы будем брать за пример веб-сервер Apache.
Интересный факт: в Ubuntu и других дистрибутивах на основе Debian служба Apache называется apache2. В CentOS и других дистрибутивах RedHat служба Apache называется httpd или httpd.service
sudo systemctl status apache2
Так мы проверили состояние Apache. Выходные данные показывают, что служба активна (работает), как на рисунке ниже:
Как перезапустить сервис
Чтобы остановить и перезапустить службу в Linux, используйте команду:
sudo systemctl restart SERVICE_NAME
Где SERVICE_NAME - имя вашего сервиса.
После выполнения команды ваш сервис должен снова заработать. Вы можете проверить состояние с помощью команды status
Для перезапуска нашего сервера Apache используем:
sudo systemctl restart apache2
Как перезагрузить конфигурационные файлы сервиса
Чтобы служба перезагрузила свои файлы конфигурации, введите в терминале следующую команду:
sudo systemctl reload SERVICE_NAME
После перезагрузки проверьте ее состояние командой status для подтверждения.
В нашем примере мы перезагрузили Apache, используя:
sudo systemctl reload apache2
Как запустить сервис
Чтобы запустить службу в Linux вручную, введите в терминале следующее:
sudo systemctl start SERVICE_NAME
Например, команда для запуска службы Apache:
sudo systemctl start apache2
Как остановить сервис
Чтобы остановить активную службу в Linux, используйте следующую команду:
sudo systemctl stop SERVICE_NAME
Для нашего апача используем команду
sudo systemctl stop apache2
Проверьте, остановился ли сервис с помощью команды status. Вывод должен показать, что сервис неактивен - inactive (dead)
Как включить сервис при загрузке
Чтобы настроить службу для запуска при загрузке системы, используйте команду:
sudo systemctl enable SERVICE_NAME
Чтобы включить Apache при загрузке системы, выполните команду:
sudo systemctl enable apache2
Как отключить сервис при загрузке
Вы можете запретить запуск службы при загрузке с помощью команды:
sudo systemctl disable SERVICE_NAME
Например:
sudo systemctl disable apache2
Мы уже рассказывали про Asterisk Manager Interface (AMI) в предыдущих статьях. Если кратко – AMI интерфейс служит для получения команд от внешних приложений на управление АТС – инициацию вызовов, например.
Как правило, приложения, которые используют AMI именно внешние и подключаются с других хостов. Именно поэтому, необходимо наверняка знать – работает ли AMI корректно? Об это и поговорим.
Windows: проверка Telnet
Самый просто способ проверки – проверка с помощью Telnet. Нам нужно просто указать IP – адрес и порт AMI (как правило, это 5038, если не меняли) и выполнить телнет коннекцию.
Проверку надежнее всего проводить с хоста, с которого будет подключаться ваше приложение, так как AMI имеет возможность фильтрации по IP;
В качестве клиента мы воспользуемся Putty. Открываем клиент и указываем следующее:
Host Name (or IP address) - IP – адрес вашего сервера с Asterisk;
Port - 5038, стандартный порт AMI (если вы его не меняли);
Connection Type - отмечаем Telnet;
Выполняем подключение. Если все работает хорошо, то вы увидите следующее:
Linux: проверка Telnet
Если вы хотите выполнить проверку с Linux – based машины, то просто дайте следующую команду в консоли:
[admin@merionet ~]# telnet 192.168.1.14 5038
Trying 192.168.1.14...
Connected to localhost.
Escape character is '^]'.
Asterisk Call Manager/2.8.0