Управление виртуальными машинами linux
Виртуальные машины для Linux
Что такое виртуальная машина?
Раньше виртуальные машины выполняли всю работу сами, на программном уровне, и понятно, что все это работало очень медленно. Но потом процессоры начали поддерживать аппаратную виртуализацию, это в разы ускоряет работу гостевой операционной системы. Это такие технологии, как AMD-V от AMD или Intel VT-x от Intel. Правда, эти технологии могут быть по умолчанию отключены в BIOS.
Кроме виртуальных машин, которые полностью эмулируют работу компьютера к виртуализации под linux можно отнести контейнеры, например, LXC или OpenVZ. Дальше мы рассмотрим виртуальны машины для Linux, которые вы можете использовать для установки своих систем.
1. VirtualBox
VirtualBox поддерживает как 32, так и 64 битные системы и вы можете установить не только Linux дистрибутив, но и Windows или даже MacOS. Все системы будут отлично работать. Во время создания виртуальной машины вы можете выбрать профиль гостевой ОС, для которого автоматически выставятся правильные параметры памяти, процессора и видеокарты.
Кроме непосредственно виртуализации, VirtualBox поддерживает и дополнительные функции, например, запись видео с экрана виртуальной машины, и создание снимков системы для быстрого восстановления и создание виртуальной сети между несколькими машинами. Кроме того, если установить дополнения гостевой ОС, то можно настроить общий буфер обмена между хостовой и гостевой системой, передавать между ними файлы или даже интегрировать окна программ гостевой системы в основную.
Можно сказать, что это лучшая виртуальная машина для Linux, она предлагает все необходимые возможности, и в то же время достаточно проста в использовании.
2. VMware
В отличие от VirtualBox, которая распространяется с открытым исходным кодом, это коммерческий продукт, полная версия которого стоит денег. Но для домашнего использования есть упрощенная версия, которую можно использовать полностью бесплатно.
VMWare имеет почти все те же возможности, что и VirtualBox, в некоторых тестах она показывает себя лучше чем первый вариант, но в целом их производительность одинакова. Тоже есть возможность организовывать сеть между виртуальными машинами, объединять буфер обмена и передавать файлы, но нет записи видео.
Примечательной особенностью VMWare есть то, что для некоторых систем разработаны и уже готовы сценарии автоматической установки, которые позволяют установить систему в автоматическом режиме и не указывать слишком много параметров. Это может быть очень удобным в некоторых ситуациях.
3. Qemu
Если вы хотите запустить не привычную операционную систему x86, а систему для устройств ARM, например, Android, Raspbian или RISC OS, то тут вам не помогут две предыдущие виртуальные машины Linux. С такой задачей может справиться только Qemu.
Несмотря на свое название, это очень мощный инструмент для работы с виртуализацией в Linux, для установки Qemu в Ubuntu выполните:
sudo apt install qemu qemu-kvm libvirt-bin
Подробнее про использование Qemu можно почитать в этой статье.
4. Gnome Boxes
Если вам не нравится управлять вашими виртуальными машинами с помощью командной строки, можно воспользоваться графическим интерфейсом для Qemu под названием Gnome Boxes. Эта утилита позволяет в несколько кликов создать новую виртуальную машину. При чём вам не нужно иметь установочный образ, программа может сама загрузить его из сети. Кроме создания виртуальных машин можно подключаться к удалённым виртуальным машинам по протоколу RDP или VNC. Для установки программы в Ubuntu используйте такую команду:
sudo apt install gnome-boxes
5. KVM
Чтобы начать использовать KVM сначала нужно проверить, поддерживает ли ваше оборудование аппаратное ускорение, для этого используйте утилиту cpu-checker. Если все поддерживается то вы можете перейти к установке KVM:
sudo apt install qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager
После установки вы сможете получить доступ к виртуальным машинам KVM с помощью менеджера виртуальных машин, который появится в меню. С помощью этого менеджера управляются и другие системы виртуализации Linux, например, XEN.
6. XEN
Это еще одна платформа виртуализации для Linux, которая очень похожа на KVM. Но тут есть некоторые отличия. Как и KVM здесь поддерживается аппаратное ускорение, множество архитектур, в том числе и ARM, а также запуск различных гостевых систем, включая Windows. Но главное отличие заключается в том, что KVM по умолчанию встроен в ядро Linux, а для работы Xen вам понадобиться специально собранное ядро с его поддержкой.
Из других особенностей Xen можно отметить, что система будет работать достаточно быстро даже без аппаратного ускорения, если вы будете запускать Linux.
Выводы
В этой статье мы рассмотрели лучшие виртуальные машины для Linux. Как видите виртуализация на linux развивается очень быстро и есть достаточно много решений, которые вы могли бы использовать в своей системе. Какую виртуальную машину или систему виртуализации используете вы? Напишите в комментариях!
Если импортозамещение дышит в спину: особенности установки и настройки «облака» ресурсов и виртуальных машин на Linux
Дисклеймер: данная статья не рассчитана на опытных линуксоидов, что уже собаку съели, куря мануалы OpenNebula, – для них большая часть текста покажется либо наивной, либо очевидной, либо наивно-очевидной. Мы хотим не рассказать о том, что же это за зверь такой, а скорее порекомендовать, на что обратить внимание, если вас поставили перед фактом, что надо переходить на российское ПО, и вам предстоит импортозаместить систему виртуализации. Ну, или пока запустить ее в тестовом режиме.
Не секрет, что сертифицированные операционные системы ООО «РусБИТех-Астра» названы в честь городов-героев, и самая известная из них — Astra Linux Special Edition «Смоленск» (ОС специального назначения). Про нее слышали все, кто так или иначе сталкивался с вопросом импортозамещения ПО. Есть еще специализированные релизы «Новороссийск», «Севастополь», «Керчь», «Мурманск» и «Ленинград». Они уже не так широко известны, так как предназначены для менее массовой архитектуры, чем x86-64. Но наш сегодняшний разговор пойдет не об операционной системе, а о продукте ООО «РусБИТех-Астра», который носит имя города Брест.
Что же это такое? Полное название продукта — программный комплекс средств виртуализации «Брест». По заявлению разработчика, это «современный инструментарий для управления виртуальными структурами любой сложности с применением средств защиты ОС Astra Linux Special Edition».
Собственно, базовый функционал виртуализации реализован в составе ОС с помощью KVM (модуль ядра Linux), QEMU (эмуляция аппаратного обеспечения), libvirt (демон и набор инструментов для управления виртуализацией) и virt-manager (приложение для управления виртуальными машинами).
Это классическая схема реализации виртуализации в Linux-системах, такая связка используется плюс-минус во всех отечественных дистрибутивах. Гораздо интереснее становится, если мы хотим выйти за рамки виртуализации для тестов на отдельно взятом сервере. Тут уже начинаются различия:
ROSA Linux предлагает использовать oVirt (логично, учитывая то, что базовый дистрибутив RHEL).
ALT Linux – PVE или OpenNebula.
Astra Linux – OpenNebula.
Программный комплекс «Брест» предлагает три варианта использования:
«Облако» ресурсов и виртуальных машин (ВМ).
Локальная и серверная виртуализация
Данные сценарии подразумевают создание и использование на локальном компьютере или сервере нескольких ВМ, управляемых с помощью virt-manager. Он позволяет подключать удаленные физические серверы по протоколам TCP (SASL+Kerberos), SSL/TLS и ssh для управления виртуализацией на нескольких серверах.
«Облако» ресурсов и виртуальных машин
Такой сценарий позволяет создавать и управлять большим количеством ВМ, при этом доступны все преимущества «облачного» решения: масштабируемость, высокая доступность и безопасность. ПК «Брест» позволяет через единый web-интерфейс управлять машинами, работающими в режиме дискретного и мандатного управления доступом, с учетом требований в части контроля целостности.
И вот о некоторых практических особенностях установки и настройки ПО в этом случае я и хотел бы сегодня рассказать.
Для локально-серверного сценария достаточно одного физического сервера. «Облако» ресурсов и виртуальных машин тоже можно установить и настроить на одном сервере, когда свободных серверов мало, а широкий спектр возможностей «облака» задействовать хочется, например, если нужен web-интерфейс управления и полноценное разграничение прав. Естественно, что, если сервер один, ни о какой высокой доступности речь не идет.
Компоненты для установки будут следующие:
ОС Astra Linux Special Edition «Смоленск».
Контроллер домена (Astra Linux Directory (ALD) или FreeIPA).
А если нужна высокая степень доступности?
Контроллер домена можно виртуализировать в качестве локальной виртуализации, а Frontend — установить параллельно с узлом виртуализации. Frontend-серверов неплохо бы сделать несколько. Их должно быть нечетное количество, так что необходимо минимум 3 сервера.
Данный сценарий можно реализовать с доменом как на базе ALD, так и FreeIPA. По множеству причин второй вариант мне нравится больше, и именно его я рекомендую использовать, чтобы как минимум избежать прописывания в /etc/hosts адресов всех Frontend-серверов и узлов виртуализации.
Нам понадобится общее хранилище данных, которое будет подключено к Frontend-серверу и узлам виртуализации. В качестве такового можно использовать распределенное хранилище CEPH, файловые системы NFS, CIFS, OCFS2 и CEPHFS-сервера или хранилища с доступом по протоколу iSCSI.
При планировании совместного хранилища важно помнить, что OpenNebula требует для работы минимум два подключенных LUN’а, о чем чуть более подробно расскажу ниже.
Но сначала надо понять философию OpenNebula: виртуальная машина (ВМ) – не отдельная единица, а лишь запускаемый экземпляр заранее созданного шаблона.
Процедура создания ВМ следующая:
Создаем образ диска.
Создаем шаблон ВМ, к которому подключаем образ диска.
Создаем экземпляр ВМ по шаблону.
Для хранения образов шаблонов нужен один LUN (тип хранилища — IMAGE), а для хранения данных запускаемых экземпляров – второй (тип хранилища — SYSTEM). Все изменения диска шаблона в процессе работы экземпляра находятся именно во втором хранилище. Ну, и чтобы не смешивать все в одну/две кучи, рекомендуется добавить отдельный LUN для ISO-образов (но тоже с типом хранилища IMAGE). Кстати, если загружать образы виртуальных жестких дисков, экспортированных из других систем виртуализации (да и в принципе, если загружать любые образы), необходимо обеспечить достаточно свободного места на Frontend-сервере, так как он сначала кэширует загружаемый файл в директорию /var/tmp.
Ну, и, конечно же, нашим будущим виртуальным машинам понадобится доступ к сети.
Сеть в сценарии с «облаком» ресурсов и виртуальных машин настраивается двумя способами в зависимости от того, должна ли она иметь доступ наружу или нет.
Если такой доступ есть, в качестве моста, предоставляющего ВМ доступ к сети, используются физические сетевые адаптеры узлов виртуализации. В этом нам поможет bridge-utils – и да, настраивать его базовую конфигурацию придется из консоли. Самое главное – запомнить имя, которое мы дали мосту, это имя должно быть одинаковым на всех узлах.
Для частной сети без выхода во внешнюю сеть используется программный коммутатор Open vSwitch. Он тоже настраивается из консоли (имена мостов также запоминаем и не путаем). И не забываем настроить линки Open vSwitch-коммутаторов между узлами, чтобы сеть была едина на всех узлах.
Как итог, могу сказать, что с данной системой виртуализации вполне можно иметь дело, особенно если все хорошо спланировать (вообще универсальный совет):
Сколько будет серверов и где расположить домен-контроллер.
Сколько будет Frontend-серверов и где они будут размещаться.
Какое хранилище будет использовано и как оно будет подключаться.
Заранее стоит продумать сетевые настройки и выделить пулы адресов как для инфраструктуры системы виртуализации, так и для ВМ (в том числе и для внутренней сети).
Не забыть про «плавающий» высокодоступный адрес RAFT и адреса для модулей удаленного администрирования IPMI (необходимы для обеспечения отказоустойчивости ВМ).
Зарезервировать адреса под расширение инфраструктуры.
Важно помнить, что придется менять набор тех привычек, с которым мы подходим к виртуализации. Как и со всеми продуктами на базе Linux, многое придется делать из консоли (подробности можно найти на ресурсе разработчика), но с этим пора смириться, если импортозамещение уже дышит вам в спину.
Команды консоли VirtualBox
Это просто и удобно. Однако, если вы установите VirtualBox на сервер, то там не будет графического интерфейса. Но вы можете сделать всё то же самое и даже больше с помощью команд консоли VirtualBox. Этих команд очень много. В этой статье мы рассмотрим самые полезные команды консоли VirtualBox. К концу статьи у вас будет полностью настроенная и рабочая виртуальная машина.
Основные команды VirtualBox
Управление виртуальными машинами в терминале осуществляется с помощью команды VBoxManage. Она имеет довольно простой синтаксис:
$ VBoxManage общие_опции команда опции_команды
VBoxManage setproperty machinefolder /home/virtualbox/
1. Создание виртуальной машины
Первым делом надо создать новую виртуальную машину, с которой мы будем работать. Каждая виртуальная машина, это не что иное, как XML файл с настройками. Создание виртуальной машины VirtualBox выполняется с помощью команды VBoxManage createvm. Вот её основные опции:
Список доступных видов операционных систем можно посмотреть командой:
VBoxManage list ostypes
Давайте создадим виртуальную машину для Ubuntu и зарегистрируем её в системе:
Виртуальная машина успешно создана и добавлена.
2. Добавление существующей машины
Если вы перенесли виртуальную машину с другой системы, то можете захотеть добавить её. Это аналог пункта открыть в меню графического интерфейса. Используйте команду VBoxManage registervm, которой в качестве аргумента надо передать путь к файлу виртуальной машины:
VBoxManage registervm /home/sergiy/VirtualBox VMs/Ubuntu1804/Ubuntu1804.vbox
3. Список виртуальных машин
Чтобы убедится, что всё работает вы можете захотеть посмотреть список виртуальных машин. Это можно сделать командой:
VBoxManage list vms
Или же можно посмотреть список запущенных виртуальных машин:
VBoxManage list runningvms
4. Настройка хранилища машины
По умолчанию создается только конфигурация виртуальной машины. У неё нет никакого хранилища, на котором будет размещена операционная система. Сейчас мы его добавим. Сначала надо создать жесткий диск в папке рядом с файлом виртуальной машины:
Здесь надо передать путь к файлу будущего диска и его размер в мегабайтах. Я создаю диск на 10 гигабайт. Этого должно хватить для запуска тестовой системы. Затем, с помощью команд storagectl и storageattach добавьте контролер SATA и подключите к нему этот диск:
В параметре —medium надо передать путь к файлу диска, который вы собираетесь подключить. Если вы хотите чтобы машина загрузилась из ISO образа, то вам ещё понадобится IDE контроллер:
Затем можно подключить к нему свой образ:
5. Удаленный доступ
Так как виртуальная машина на сервере, то доступа к графическому интерфейсу нет, но нам надо получить доступ к самой машине. Для этого мы можем воспользоваться протоколом RDP. Чтобы включить удаленный доступ используйте команду:
Ещё можно изменить порт RDP, на тот, который вы хотите, например, 33891:
Уже сейчас мы можем получить доступ к этой машине, но давайте ещё настроим авторизацию по паролю, чтобы никто посторонний не мог получить к ней доступ если сервер доступен из интернета. Сначала установим тип авторизации external:
Укажем, что надо использовать модуль авторизации VBoxAuthSimple:
VBoxManage setproperty vrdeauthlibrary VBoxAuthSimple
Осталось выбрать имя пользователя и пароль. Давайте это будет losst_user и losst_password. Создадим хэш для нашего пароля:
VBoxManage internalcommands passwordhash losst_password
Осталось связать этот хэш с именем пользователя losst_user для нашей машины:
VBoxManage setextradata «Ubuntu1804» «VBoxAuthSimple/users/losst_user» 4a26e3cde3647806539e746d4b7fa27401af9198ac0da1a5122e8851648566d2
Настройка rdp virtualbox завершена и теперь машина будет доступна по сети. К ней можно будет подключится с помощью утилиты Reminna. Осталось только запустить её.
6. Установка VirtualBox Extpack
Если вы хотите использовать удаленный доступ VirtualBox, вам нужно установить набор расширений VirtualBox для вашей версии программы. Сначала посмотрите не установлены ли у вас эти расширения:
VBoxManage list extpacks
Система сообщает, что у меня установлен один набор расширений. Нас будет интересовать строчка VRDE Module. Её значение должно быть RDP, не VNC и не что либо другое.
Чтобы установить набор расширений сначала посмотрите вашу версию VirtualBox:
Для моей версии 5.2 наборы расширений можно найти на этой странице. Вы без труда найдете нужный extpack с помощью поиска. Затем загрузите его на сервер и установите командой:
VBoxManage extpack install
После установки он появится в списке.
7. Настройка оборудования
Как я уже говорил, по умолчанию машине выдаются самые минимальные ресурсы, с таким количеством ресурсов смогут работать мало современных систем. Поэтому давайте дадим виртуальной машине больше оперативной памяти:
Чтобы увеличить объем видеопамяти в virtualbox выполните:
Количество памяти надо указывать в мегабайтах. Чтобы изменения работали, машина должна быть выключена. Далее дадим машине два ядра процессора:
Вот, с такими параметрами уже можно работать.
8. Управление состоянием машины
Чтобы запустить виртуальную машину используйте команду startvm. Так как мы запускаем её без графики, то следует использовать опцию —type headless:
После того, как машина была запущена, вы можете открыть её с помощью reminna:
Далее, для управления запущенной машиной используется команда controlvm. Она позволяет поставить машину на паузу или остановить её. Чтобы поставить машину на паузу используйте команду pause:
VBoxManage controlvm «Ubuntu1804» pause
Для вывода машины из состояния паузы:
VBoxManage controlvm «Ubuntu1804» resume
Для полного выключения машины:
VBoxManage controlvm «Ubuntu1804» poweroff
Если вы не хотите выключать машину, можно сохранить её состояние:
VBoxManage controlvm «Ubuntu1804» savestate
Или можно послать сигнал нажатия на кнопку выключения:
VBoxManage controlvm «Ubuntu1804» acpipowerbutton
Если работа вашей машины била прервана из-за перезагрузки компьютера или выключения света может произойти ситуация, что она останется заблокированной и вы не сможете её запустить. Для решения этой проблемы используйте команду:
Наша статья подходит к завершению, но это далеко не все команды консоли VirtualBox.
9. Просмотр информации о машине
Посмотреть информацию о текущем состоянии машины, а также об её оборудовании можно с помощью команды showvminfo:
VBoxManage showvminfo «Ubuntu1804»
Если вас интересует только состояние машины, можно отфильтровать вывод virtualbox cli утилитой grep:
VBoxManage showvminfo «Ubuntu1804» | grep State
Выводы
В этой статье мы рассмотрели полезные команды VirtualBox CLI, которые позволят вам полноценно управлять виртуальными машинами на сервере. Я не стал подробно рассказывать про настройку размера дисков, вы можете обо всём этом почитать в статье как увеличить размер диска VirtualBox. Конечно, осталось много других интересных команд, которые не поместились в эту статью, таких как настройка автоматической установки системы, настройка сети, изменение оборудование на лету и много другое.
Лучшие “Виртуальные машини” с открытым исходным кодом для Linux
Виртуализация в вычислительной технике подразумевает создание виртуальных машин, хранилищ, аппаратных средств, ресурсов компьютерной сети или операционной системы. На одном компьютере можно создать множество экземпляров данной операционной системы. Эти экземпляры называются виртуальными машинами. Программное обеспечение для виртуализации стало популярным, поскольку оно значительно расширяет возможности системы. Виртуализация наиболее предпочтительна и применяется для облачных вычислений.
Сообщество Linux создало несколько инструментов виртуализации или Virt tools, таких как QEMU, KVM, Libvert или libguestfs, которые служат основой для создания программного обеспечения виртуализации с открытым исходным кодом. В статье будет рассмотрено несколько программ виртуализации с открытым исходным кодом, таких как Oracle VM VirtualBox, Linux-KVM, виртуализация Redhat, Microsoft Hyper-V, Xen Project, oVirt, а также Boxes в Fedora.
Концепция виртуализации
Виртуализация создает слой абстракции над физическим оборудованием для создания виртуальной вычислительной системы, известной как виртуальные машины (ВМ). Это позволяет пользователю или предприятию запускать несколько виртуальных компьютеров и операционных систем на одном физическом сервере. По сути, основное преимущество виртуализации заключается в более эффективном использовании физического компьютерного оборудования.
Виртуальная машина
Виртуальная машина (ВМ) – это виртуальное представление физического компьютера. Вы можете создать несколько виртуальных машин, каждая с операционной системой и приложениями на одном физическом устройстве. Виртуальная машина не может напрямую взаимодействовать с физическим компьютером. Однако вы можете использовать гипервизор (легкий программный уровень) для управления физическим оборудованием.
Гипервизор
Гипервизор – это тонкий программный слой, который позволяет нескольким операционным системам совместно использовать физические вычислительные ресурсы и работать рядом друг с другом. Гипервизор выделяет каждой виртуальной машине часть базовых вычислительных ресурсов, таких как память и хранилище, предотвращая тем самым их взаимодействие.
Лучшие программы виртуализации с открытым исходным кодом для Linux
Для обычных пользователей
1. Oracle VirtualBox
VirtualBox был основан в 2007 году корпорацией Oracle. VirtualBox – это мощное, надежное, кроссплатформенное программное обеспечение для виртуализации с открытым исходным кодом, которое поддерживает архитектуры x86 и AMD64/Intel64. VirtualBox можно запускать без аппаратной виртуализации. Таким образом, он эффективно работает на любой системе или архитектуре без присутствия технологии Intel VT-X или AMD-V.
Вы можете использовать его для создания сред виртуализации для личного использования, небольших встроенных настольных систем, развертывания центров обработки данных, облачных вычислительных платформ или сред.
VirtualBox может работать с несколькими ОС, включая большинство операционных систем Windows (NT 4.0, 2000, XP, Vista, Server 2003, Windows 7, 8, 10), Linux 2.4, 2.6, 3.x и 4.x, DOS/Windows 3.x, OpenBSD, Solaris, OpenSolaris и OS/2.
Главные особенности
VirtualBox находится в постоянном развитии со стороны сообщества с частыми выпусками, исправлениями ошибок и новыми возможностями. Проект основан на сообществе, в то время как Oracle обеспечивает его качество на уровне предприятия.
Установка VirtualBox
Ubuntu
sudo apt-get update
sudo apt-get install virtualbox
#Установка пакета расширений VirtualBox
sudo apt-get install virtualbox-ext-pack
Fedora 34
#Установка инструментов разработки и зависимостей
#Добавьте RPM-репозиторий VirtualBox
#Импорт GPG ключа VirtualBox
sudo dnf search virtualbox
#Установка VirtualBox 6
sudo dnf install VirtualBox-6.1
#Добавьте пользователя в группу vboxusers
2. Linux KVM
Kernel-based Virtual Machine (KVM) – это инструмент виртуализации, встроенный в операционную систему Linux и предназначенный для компьютеров x86. Это программное обеспечение для виртуализации с открытым исходным кодом, разработанное сообществом Linux Kernel Community. KVM была анонсирована в 2006 году и включена в ядро Linux начиная с версии Linux 2.6.20.
KVM превращает ядро Linux в гипервизор, используя загружаемое ядро под названием KVM.ko, которое позволяет виртуальным машинам получить прямой доступ к базовым аппаратным ресурсам. Каждая виртуальная машина реализуется как процесс Linux, запланированный планировщиком Linux, с выделенным виртуальным оборудованием, таким как процессор(ы), графический адаптер, сетевая карта, память и диски.
Главные особенности
KVM обеспечивает достойную интеграцию с ОС.
ВМ в KVM – это процесс Linux, которым ядро управляет и планирует с помощью групп управления, планировщика, расширений реального времени и сетевых пространств имен.
Расширения реального времени позволяют приложениям на базе ВМ работать с меньшей задержкой и с более высоким приоритетом по сравнению с “голым металлом”.
KVM является частью сообщества Linux и постоянно предоставляет новые функции и исправления ошибок для своих пользователей Linux. KVM достаточно универсален, чтобы вручную управлять несколькими виртуальными машинами на одной рабочей станции без использования инструмента управления. Однако для крупных развертываний может потребоваться такой инструмент, как Red Hat Virtualization, чтобы упростить и оптимизировать распределение ресурсов, операции и улучшить анализ данных.
Установка KVM в Ubuntu
#Установите минимальную конфигурацию QEMU и KVM
apt-get install qemu-system libvirt-clients libvirt-daemon-system
#Установите QEMU и KVM на сервер без дополнительных графических пакетов
#Добавьте вашего пользователя в группу libvirt
3. GNOME Boxes
GNOME Boxes поставляется в качестве виртуальной машины по умолчанию при установке Fedora. GNOME Boxes прост в использовании и может сделать сложные операции виртуализации очень простыми в Linux. В целом, Gnome Boxes менее известен, но является интерфейсом для Qemu, KVM и libvirt. GNOME Boxes – одно из самых эффективных решений для виртуальных машин для Linux, Windows или BSD. В нем есть мастер быстрой настройки, что делает его очень простым в использовании даже для начинающих пользователей Linux. Его базовый внешний вид может быть не самым лучшим. Тем не менее, он может справиться с конкурентными функциями и не уступает большинству виртуальных машин.
Главные особенности
GNOME Boxes – один из лучших вариантов для пользователей Linux, которым необходимо быстро выполнять сложные задачи. Это мой выбор для быстрого и простого развертывания. Однако иногда Gnome Boxes может потребовать много времени для доступа к образу диска или даже медленно возвращать мышь в хост ОС. Я не обращаю внимания на эти недостатки из-за простоты настройки. Более того, его виртуальные машины обычно работают так же быстро, как и основная система, и вы можете не заметить никакой разницы в производительности.
Gnome Boxes усовершенствовал виртуализацию, обеспечив свободу программного обеспечения, и его стоит установить, даже если Gnome не является вашей обычной средой рабочего стола.
4. Microsoft Hyper-V
Microsoft Hyper-V – это передовое средство виртуализации, которое разрабатывается с 2008 года. Это кроссплатформенное программное обеспечение для виртуализации, которое поддерживает как системы Microsoft, так и Linux. Первоначально Microsoft Hyper-V не выпускался как проект с открытым исходным кодом и не поддерживал Linux до 2019 года, когда Microsoft выпустила драйверы Linux с открытым исходным кодом для Hyper-V.
Hyper-V позволяет запускать каждую виртуальную машину (ВМ) в своем собственном пространстве, что предотвращает влияние сбоя на другие рабочие нагрузки, а также управляет доступом к сервисам между различными людьми и системами. Гипервизор состоит из различных компонентов, таких как гипервизор Windows, Hyper-V Virtual Machine Management Service, поставщик услуг виртуализации (VSP), поставщик инструментов управления виртуализацией Windows Management Instrumentation (WMI), драйвер виртуальной инфраструктуры (VID) и шина виртуальных машин (Vmbus) для эффективного управления взаимодействием между оборудованием и ВМ.
Главные особенности
В нем имеются улучшенные компоненты безопасности, такие как безопасная загрузка, шифрование BitLocker, виртуальный модуль Trusted Platform Module (vTPM) для безопасного хранения ключей и служба Host Guardian Service для проверки хостов и предотвращения несанкционированного доступа.
Для эффективного управления виртуальными машинами под управлением дистрибутивов Linux необходимо установить и активировать Hyper-V Linux Integration Services вручную. Hyper-V LIS состоит из двух типов компонентов: драйверов и служб. Драйверы повышают производительность виртуальных машин Linux, в то время как службы предназначены для выполнения определенной работы. Службы интеграции Linux позволят вам использовать такие функции, как живая миграция, VLAN Tagging and Trunking, Symmetric multiprocessing (SMP), Static IP Injection. Вы также сможете воспользоваться функцией Live Virtual Machine Backup и возможностью выполнять горячее удаление/добавление памяти с помощью Dynamic Memory.
Microsoft поддерживает следующие дистрибутивы Linux, работающие в качестве виртуальной машины: Red Hat Enterprise Linux 5.2-5.11, 6.0-6.10, 7.0-7.6 64-bit, CentOS 5.2-5.11, 6.0-6.10, 7.0-7.6 64-bit, и Oracle Linux 6.4-6.10, 7.0-7.6. Проект Hyper-V постоянно развивается, и компания Microsoft добавляет новые функции для повышения общей эффективности, производительности и надежности. Вы также можете использовать Hyper-V с инструментами управления, такими как Hyper-V Manager, Failover Cluster Manager, System Center Virtual Machine Manager (SCVMM) и System Center Operations Manager (SCOM). Кроме того, вы можете использовать Powershell, который обеспечивает больший контроль и более прост в использовании.
Для облачных систем
1. Проект Xen
Проект Xen – это программное обеспечение виртуализации с открытым исходным кодом для Linux. Он был основан Linux Foundation в 2003 году, а также получил поддержку от Intel. Xen работает на основе гипервизора Xen, адаптированного для модифицированных и немодифицированных гостей на платформах Linux и Windows. Это пустой гипервизор, использующий микроядро для предоставления услуг, позволяющих нескольким ОС одновременно работать на одном компьютерном оборудовании.
Гипервизор Xen существует уже некоторое время и является одним из наиболее эффективных программ виртуализации в сообществе Linux. Он используется в качестве основы для многих открытых и коммерческих приложений, таких как виртуализация серверов, виртуализация рабочих станций, инфраструктура как услуга (IaaS), приложения для обеспечения безопасности, встроенные и аппаратные устройства, а также автомобильные проекты.
Главные особенности
Проект Xen является стандартом по умолчанию в гипервизорах Linux и обеспечивает безопасную, эффективную и надежную платформу виртуализации. Он обеспечивает и поддерживает некоторые из крупнейших облачных предприятий, таких как Amazon Web Services, Verizon Cloud, Public Cloud, Rackspace и многие другие. Гипервизор Xen идеально подходит для пользователей или организаций, желающих повысить коэффициент использования серверов, снизить сложность управления серверными фермами и уменьшить первоначальные затраты на инфраструктуру. Однако есть одна оговорка: Xen полагается на решения сторонних производителей для драйверов оборудования, резервного копирования и восстановления, отказоустойчивости и хранения данных.
2. oVirt
Проект oVirt (Open Virtual Datacenter) – это бесплатная платформа управления виртуализацией с открытым исходным кодом, основанная компанией Red Hat в качестве проекта сообщества. Проект разработан для ОС Linux и является лучшим вариантом для поддержки дистрибутивов Linux. Он обладает простым и удобным веб-интерфейсом, позволяющим централизованно управлять виртуальными машинами, хранилищами, вычислительными и сетевыми ресурсами. Его основные компоненты включают oVirt-engine, oVirt-engine-GUI, SDK, CLI, VDSM, oVirt-DWH и oVirt-guest-agent.
Главные особенности
Система обладает повышенной сетевой производительностью для виртуализации настольных компьютеров, что позволяет управлять средами WAN с более высокой задержкой и низкой пропускной способностью.
Она поддерживает другие внутренние устройства хранения данных, такие как NFS, FC, SCSI и POSIX-совместимые FS.
oVirt поддерживает (rsyslog) удаленное протоколирование и (remote kdump) удаленный анализ аварий.
Он обладает улучшенными функциями безопасности благодаря SELinux и sVirt.
Проект находится в стадии постоянного развития с обещанием разработки поддержки архитектуры ARM. Проект также предоставляет oVirt Node, которая является специализированной легковесной ОС на базе CentOS. oVirt Node разработана как гипервизор, предоставляющий расширенный интерфейс управления для поддержки API.
3. Red Hat Virtualization (RHV)
Redhat Virtualization – это виртуальная машина с улучшенным KVM (Kernel Virtual Machine) и расширенными возможностями, подходящими для Enterprise Server. Она не требует ОС хоста для запуска и может быть развернута на пустой среде для создания множества отдельных ВМ в соответствии с вашими требованиями.
Лучшие возможности
RHV совместим с облачными программными стеками, такими как Red Hat Cloud Infrastructure, Red Hat CloudForms для управления несколькими облаками, Red Hat Satellite для управления инфраструктурой, Red Hat OpenStack для облачного стека и Red Hat Insights для предиктивной аналитики.
В нем реализована повышенная безопасность виртуальных машин и гипервизоров с помощью SELinux, sVirt и обязательного контроля доступа (MAC).
Она поддерживает (NUMA) неравномерный доступ к памяти, что позволяет пользователям развертывать большие гостевые рабочие нагрузки при минимизации накладных расходов на доступ к физической памяти.
Одна оговорка – виртуализация Redhat также предоставляет платные ВМ, подходящие для сред корпоративного уровня. Цена зависит от выбранного вами плана поддержки.
4. ProxMox
ProxMox – это основанное на Debian решение для управления виртуализацией серверов с открытым исходным кодом для запуска различных виртуальных машин. Платформа виртуализации может управлять KVM (Kernel-based Virtual Machine) для виртуальных машин и LXC для контейнеров. Она отличается простым процессом установки, который запускает веб-интерфейс для простого управления и настройки.
Главные особенности
Почему вы должны виртуализировать свою инфраструктуру
Виртуализация может повысить масштабируемость, гибкость и подвижность, обеспечивая при этом значительную экономию средств. Вы также получите большую мобильность рабочих нагрузок, улучшенную производительность, доступность ресурсов и автоматизацию операций. По сути, это упрощает управление вычислительными ресурсами и снижает затраты на владение и эксплуатацию.
Снижение первоначальных капитальных затрат и эксплуатационных расходов: Виртуализированные среды более экономичны. Вы сможете потреблять меньше физических клиентов, что поможет вам значительно сократить первоначальные инвестиции в оборудование. Невиртуализированная среда может быть неэффективной, поскольку вычислительные ресурсы могут простаивать и не использоваться для других приложений на сервере.
Минимизация или исключение простоев: В случае простоя физический сервер требует присутствия человека для его замены или починки, что может занять несколько часов, значительно снижая производительность. В отличие от этого, виртуализированную среду легко создать и развернуть. Кроме того, она позволяет системным администраторам реплицировать и восстанавливать пострадавшую виртуальную машину, что значительно повышает отказоустойчивость.
Повышение эффективности и производительности: Виртуальные среды позволяют тратить меньше времени на обслуживание физического оборудования или инфраструктуры. Вы можете легко устанавливать, обновлять и поддерживать среду для всех виртуальных машин в виртуальной среде на сервере вместо того, чтобы управлять ею от сервера к серверу.
Она обеспечивает безопасность и изоляцию от сбоев на аппаратном уровне.
Вы можете сохранить все состояние виртуальной машины в файл.
Вы можете перенести или предоставить любую виртуальную машину на любой физический сервер.
Виртуализация сохраняет общую производительность благодаря расширенному контролю ресурсов.
Разработчики могут легко управлять и контролировать среду разработки, тестирования или производства с помощью виртуальной машины.
Станьте более экологичными: Виртуализированные среды позволяют сократить количество физических серверов, что снижает энергопотребление. По сути, это снижает затраты на электроэнергию и в целом уменьшает “углеродный след” вашей инфраструктуры. Мы все заслуживаем экологически чистой среды.
Подведение итогов
В статье рассматриваются некоторые из лучших программ виртуализации с открытым исходным кодом, такие как XenProject, VirtualBox, Microsoft Hyper-V, Linux KVM и oVirt. Виртуализация вашей архитектуры может повысить масштабируемость, маневренность и гибкость, обеспечивая при этом значительную экономию средств. Разработчики также могут наслаждаться большей мобильностью рабочей нагрузки и контролировать свои среды разработки, тестирования или производства. Более того, она позволяет сократить количество физических серверов, снижая энергопотребление и делая вашу организацию экологически чистым предприятием. По сути, виртуализация упрощает управление вычислительными ресурсами и требует меньше затрат.
Если мы пропустили какой-либо инструмент или программное обеспечение для виртуализации с открытым исходным кодом, пожалуйста, поделитесь им в разделе комментариев.