Виртуализация: различия между версиями

Материал из Базы знаний сообщества разработчиков Эльбрус
Перейти к навигации Перейти к поиску
(Заготовка статьи)
 
м (→‎Виртуализация рабочих столов: Исправление опечатки в URL)
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
 +
{{ShortcutAddress|Virt}}
 +
 
== Виртуализация аппаратуры ==
 
== Виртуализация аппаратуры ==
  
Аппаратной поддержки виртуализации, позволявшей бы запускать полноценные виртуальные машины, в процессорах Эльбрус пока нет — она появится в 6-м поколении, которое ожидается во второй половине 2022 года: это Эльбрус-16С, 12С, 2С3. Когда она всё же появится, то позволит запускать виртуальные машины не только в родных кодах e2k, но также x86.
+
Аппаратная поддержка виртуализации, позволяющая запускать полноценные виртуальные машины, появилась в 6-м поколении процессоров Эльбрус — это Эльбрус-16С, 12С, 2С3. Для операционных систем семейства Linux гипервизор реализован на базе KVM с использованием Qemu и возможностью управления через <code>libvirt</code> — консольную утилиту <code>virsh</code> и графический интерфейс <code>virt-manager</code>.
 +
 
 +
: Помимо гостевых операционных систем в машинных кодах родной системы команд e2k, внутри виртуальной машины может функционировать двоичный транслятор уровня системы ([[Lintel]]) для запуска операционных систем в машинных кодах x86 / x86-64. Таким образом, поддерживается ''виртуализация x86-систем'', но '''не''' ''x86-виртуализация'': то есть поддерживается запуск нескольких «тонких» виртуальных машин с одиночной x86-системой в каждой виртуальной машине, однако не поддерживается запуск «толстой» виртуальной машины с x86-гипервизором типа ESXi, KVM-x86, Hyper-V, VirtualBox, Xen HVM и созданием виртуальных машин через него — использовать надо родной гипервизор KVM-e2k.
  
Для ядра Linux 2.6.33 был разработан механизм паравиртуализации на основе гипервизора KVM, позволяющий запускать разные экземпляры ядра без поддержки со стороны аппаратуры. Проект не был доведён до состояния готового продукта. Сейчас работы возобновлены, однако пока нет тестовых версий для внешних пользователей — возможно, появятся в течение 2021 года.
+
Для ядра Linux 2.6.33 был разработан механизм паравиртуализации на основе гипервизора KVM, позволяющий запускать разные экземпляры ядра без поддержки со стороны аппаратуры. Проект не был доведён до состояния готового продукта. Сейчас для ядра Linux 5.4 – 5.10 работы возобновлены, однако полноценная работа пока не гарантируется.
  
Через двоичный транслятор уровня системы ([[Lintel]]) возможен запуск x86 Linux с гипервизором Xen и через него создание паравиртуальных машин — в режиме PV (не PVH, не PVHVM).
+
Через двоичный транслятор уровня системы ([[Lintel]]) возможен запуск x86 Linux с гипервизором Xen и через него создание ''пара''виртуальных машин — в режиме PV (не PVH, не PVHVM).
  
 
== Контейнерная виртуализация ==
 
== Контейнерная виртуализация ==
Строка 13: Строка 17:
 
== Виртуализация рабочих столов ==
 
== Виртуализация рабочих столов ==
  
Готовых решений VDI пока нет — есть базовые средства организации удалённых рабочих столов (VNC, RDP, SSH), многоместных рабочих станций (multiseat в ОС Альт).
+
Из готовых решений VDI на платформу Эльбрус портированы программные продукты «Тионикс».
 +
 
 +
Базовые средства организации удалённых рабочих столов (VNC, RDP, SSH) имеются практически в любой [[OS|операционной системе]] семейства Linux, а в ОС Альт также реализована поддержка многоместных рабочих станций ([http://www.mcst.ru/multi-seat multi-seat]).
 +
 
 +
[[Категория: Виртуализация]]

Текущая версия на 15:12, 21 ноября 2023

Короткий адрес этой страницы: Virt

Виртуализация аппаратуры

Аппаратная поддержка виртуализации, позволяющая запускать полноценные виртуальные машины, появилась в 6-м поколении процессоров Эльбрус — это Эльбрус-16С, 12С, 2С3. Для операционных систем семейства Linux гипервизор реализован на базе KVM с использованием Qemu и возможностью управления через libvirt — консольную утилиту virsh и графический интерфейс virt-manager.

Помимо гостевых операционных систем в машинных кодах родной системы команд e2k, внутри виртуальной машины может функционировать двоичный транслятор уровня системы (Lintel) для запуска операционных систем в машинных кодах x86 / x86-64. Таким образом, поддерживается виртуализация x86-систем, но не x86-виртуализация: то есть поддерживается запуск нескольких «тонких» виртуальных машин с одиночной x86-системой в каждой виртуальной машине, однако не поддерживается запуск «толстой» виртуальной машины с x86-гипервизором типа ESXi, KVM-x86, Hyper-V, VirtualBox, Xen HVM и созданием виртуальных машин через него — использовать надо родной гипервизор KVM-e2k.

Для ядра Linux 2.6.33 был разработан механизм паравиртуализации на основе гипервизора KVM, позволяющий запускать разные экземпляры ядра без поддержки со стороны аппаратуры. Проект не был доведён до состояния готового продукта. Сейчас для ядра Linux 5.4 – 5.10 работы возобновлены, однако полноценная работа пока не гарантируется.

Через двоичный транслятор уровня системы (Lintel) возможен запуск x86 Linux с гипервизором Xen и через него создание паравиртуальных машин — в режиме PV (не PVH, не PVHVM).

Контейнерная виртуализация

Создание нескольких изолированных окружений (каждое со своими настройками, файловыми системами, сетевым стеком) на базе одного экземпляра ядра Linux возможно с помощью LXC. Для настройки контейнеров LXC используются утилиты командной строки. Такого автоматизированного инструментария, как Docker, пока нет: конкретно Docker требует языка Go, а перенос компилятора Go на архитектуру Эльбрус ещё не завершён. В любом случае надо понимать, что существующие публичные репозитории Docker с x86-образами не подходят для развёртывания на Эльбрусе — нужны соответствующие архитектуре e2k-образы.

Виртуализация рабочих столов

Из готовых решений VDI на платформу Эльбрус портированы программные продукты «Тионикс».

Базовые средства организации удалённых рабочих столов (VNC, RDP, SSH) имеются практически в любой операционной системе семейства Linux, а в ОС Альт также реализована поддержка многоместных рабочих станций (multi-seat).