KVM это система виртуализации, от части сравнить ее можно например с VMWare об установки которой вы можете прочесть в этой статье. С помощью KVM вы можете создавать виртуальные машины с любыми операционными системами, про установку KVM в Ubuntu можно прочесть в этой статье. Но, на сей раз мы будем устанавливать KVM с веб интерфейсом, используя при этом панель управления сервером Cockpit. Вы же можете поставить KVM например вместо того же VirtualBox, и использовать как Cockpit для создания виртуальных машин, так же, можно использовать для этих целей и Virt Manager (графический интерфейс для управления виртуальными машинами через). С помощью данного руководства можно поднять сервер виртуализации, либо, установить KVM вместо VirtualBox на ваш компьютер.
Содержание
Проверяем поддержку виртуализации
Для начала давайте убедимся что процессор поддерживает виртуализацию, сделать это просто, переходим в терминал и вводим команду:
grep -Eoc '(vmx|svm)' /proc/cpuinfo
Если вывод будет больше нуля, значит ваш процессор поддерживает виртуализацию и можно двигаться дальше. А в том случае если вам данная команда выдаст ноль, то увы, ваш процессор не поддерживает виртуализацию и установка KVM в этом случае не возможна. Так же есть вариант, что вам необходимо включить виртуализацию в настройках Bios, как это сделать, читайте в документации к материнской плате:

Установка панель Cockpit и KVM
После того как убедились в поддержке виртуализации, переходим к установки панели Cockpit и пакета cockpit-machines, который отвечает за возможность создания виртуальных машин с поддержкой KVM. Для установки панели Cockpit и пакета cockpit-machines вводим команду:
sudo apt install cockpit cockpit-machines

Когда установка панели Cockpit завершится, не лишним будет запустить панель Cockpit, а так же добавить в автозапуск при старте вашей системы, ну и конечно проверить состояния Cockpit. Это можно сделать выполнив следующие команды:
sudo systemctl start cockpit.socket sudo systemctl enable cockpit.socket sudo systemctl status cockpit.socket
В итоге вы должны увидеть статус работоспособности, он должен быть активным и подсвечиваться зеленым:

Для того что бы попасть в веб интерфейс, вводим ваш IP адрес в строке браузера, а затем порт “9090”. В моем же случае IP адрес “192.168.88.241”, у вас же он будет другим:
192.168.88.241:9090
В случае вывода сообщения что об угрозе, соглашаетесь с принятием риска и нажимаете на соответствующую кнопку. Это вызвано тем, что соединения использует самоподписной сертификат ssl. Про “ssl” читайте статью на WIKI, а про “https” читайте в этой статье все на той же WIKI.

Теперь осталось лишь ввести логин и пароль, по умолчанию используется логин и пароль вашего пользователя, так же возможно войти и из под root. После входа, первым делом давайте русифицируем панель Cockpit, для этого нажимаем на кнопку с именем вашего пользователя и в выпадающем окне выбираем пункт “Display Language”. Затем в выпадающем списке выбираем язык интерфейса панели Cockpit, я же оставлю Английский:

Теперь необходимо проверить, настроен ли хост на запуск гипервизора libvirt, для этого в веб интерфейсе переходим к пункту “Terminal” и вводим команду:
virt-host-validate

После того как убедились что все работает правильно, необходимо включить демон libvirtd, добавить его в автозапуск и проверить статус, для этого выполняем следующую последовательность команд:
systemctl start libvirtd.service systemctl enable libvirtd.service systemctl status libvirtd.service

Настройка сетевого моста
Переходим к настройке сетевого моста, это необходимо для того, что бы интегрировать виртуальные машины в ту же сеть что и хост. В веб интерфейсе переходим переходим во вкладку “Networking”, затем нажимаем на кнопку “Add Bridge”:

В открывшемся окне необходимо вписать название создаваемого сетевого интерфейса, можно оставить и по умолчанию “bridge0”, я же назову его сокращенно “br0”, затем необходимо выбрать интерфейс, в моем же случае он один “enp0s3”. После чего нажимаем кнопку “Apply”:

После проведенных манипуляций, у вас должен появится интерфейс с вашим именем, в моем же случае это “br0”, а интерфейс “Ethernet” должен отключится:

Создаем виртуальные машины с KVM
Переходим к созданию виртуальных машин, для этого в панели Cockpit переходим к пункту “Virtual Machines”, далее нажимаем на кнопку “Create VM”:

В открывшимся окне в поле “Name” вводим название операционной системы, или же название самой виртуальной машины. Далее, в поле “Installation Source” необходимо указать путь к ISO образу дистрибутива, это можно сделать вручную, либо, нажать на галочку в данном пункте в правой стороне поля:

Поля “OS Vendor” и “Operating System” должны заполнится автоматически, при необходимости можно отредактировать поля “Operating System”, как в случае с Debian, данное поля выбирает установку Debian Testing. После чего в поле “Memory” выставляем количество отведенной оперативной памяти для создаваемой машины, а в поле “Storage Size” задаем размер виртуального жесткого диска. Так же можно отметить поле немедленного запуска “Immediately Start VM”, после чего нажимаем кнопку “Create”. После нажатия кнопки “Create” у вас должна появится загрузка операционной системы:

Теперь давайте установим “virt-manager”, о котором писалось выше. Он позволит вам управлять виртуальными машинами KVM. Для его установки вводим команду:
sudo apt install virt-manager
После установки вы найдете virt-manager в установленных программах, он будет называться “Менеджер виртуальных машин”. После его запуска в окне программы увидите ваши виртуальные машины:

Возможно, вам так же необходимо будет добавить вашего пользователя в группу “libvirt” и “kvm”, у меня такой необходимости не было, но, на всякий пожарный как говорится…Для этого вводим команды:
sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER
Заключение
Вы так же можете установить систему виртуализации KVM на сервер под управлением Debian 10 используя данную статью, только в этом случае в настройках virt-manager необходимо указать IP адрес сервера, на который вы устанавливали панель Cockpit и KVM. В остальном же, вы точно так же создаете и используете виртуальные машины, разницы нет. Замечу, что KVM используется многими компаниями, которые предоставляют услуги виртуализации, например тот же Digital Ocean или Amazon.
А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X