Установка kvm debian 10

Обновлено: 04.07.2024

Для начала устанвки и настройки у вас уже должна быть готова ОС. Причем для установки гостевых ВМ разной разрядности (32 или 64), хост-сервер (физический сервер, на котором и будем устанавливать KVM вместе с ВМ) должен быть именно с 64-битной ОС.
Все действия выполняются из-под пользователя root.

Итак, приступим к руководству.

1. Шаг — Подготовка

Посмотрим информацию по процессору

1. HT — Hyper-Threading support
Реализация технологии одновременной мультипоточности. Технология увеличивает производительность процессора при определённых рабочих нагрузках. Если включена, то система определяет два логических процессора на один физический процессор (ядро). Присутствует исключительно в сериях процессоров Intel Xeon, Pentium 4, Atom, Core i3, Core i5, Core i7.
2. LM — Long Mode (x86-64 support)
Грубо говоря, если указана, процессор выполнен по 64-битной технологии (также имеет названия: x86-64, x64, AMD64, Intel64, EM64T). Это расширение архитектуры x86 с полной обратной совместимостью. В процессорах Intel поддержка появилась с поздних Pentium 4, у AMD — c Athlon64.
3. VMX (Intel), SVM (AMD) — Hardware virtualization support
Поддержка процессором технологий Intel VT-x или AMD-V означает наличие дополнительных инструкций для предоставления прямого доступа к ресурсам процессора из гостевых систем. Позволяет приблизить производительность гостевых систем к реальным и сократить затраты производительности на поддержание хостовой платформы. В настоящий момент Virtual Machine Extensions поддерживается во многих процессорах Intel & AMD, хотя подобные расширения имеют и другие процессорные архитектуры, например, Cell.
4. SSE*, SSSE*, XMM*, 3DNow!, MMX и пр.
Различные наборы инструкций для процессоров. Широко используются компиляторами в целях оптимизации кода под конкретную архитектуру.
5. AES — Intel Advanced Encryption Standard
Этот довольно спорный набор инструкций увеличивает производительность при кодировании/декодировании AES, присутствующий только у серии Intel Xeon. Часто используется фанатами Intel для подкрепления крутизны серверной линейки CPU, хотя довольно известен тот факт, что процессоры AMD более сильны в криптовании данных, например, в алгоритме SHA.

Проверяем, поддерживает ли CPU аппаратную виртуализацию:

Если вывод не пустой и искомые флаги подсвечены цветом, значит — процессор поддерживает аппаратную виртуализацию.

Кому интересно, все действия выполнялись на конфигурации Intel Xeon Quad Core E3-1230 3.20 GHz / 8GB / 2x 1TB.

Устанавливаем KVM и библиотеки виртуализации:

теперь нужно вклчючить возможность форвардинга и проксирования arp запросов

добавим в /etc/sysctl.conf

Запускаем сервис KVM

Смотрим, загружен ли модуль KVM

Должны получить вывод:

В данном случае видим, что загружен модуль kvm_intel, так как произволитель CPU — Intel.

Проверка подключения к KVM

Должны получить вывод:

2. Шаг — Создание хранилища для виртуальных машин (Storage Pool)

приводится описание, как настроить хранилище разных видов.
В рассматриваемом же примере описан простой тип хранилища — для каждой ВМ создается свой файл *.img под виртуальный жесткий диск (или диски — если добавить их несколько), размещены они будут в директории /guest_images.
Только у нас эта директория будет точкой монтирования отдельного жесткого диска хост-сервера, специально отведенного для этих нужд.
Безопасность сохранения данных и то, что нужно создавать как минимум зеркальный raid массив, чтобы не потерять данные ВМ в случае сбоя жесткого диска, мы не будем, так как это — отдельная тема.

Просмотрим список физических дисков на хост-сервере:

На жестком диске sda установлена ОС, его не трогаем, а вот на sdb создаем раздел на все свободное место диска с файловой системой ext4:
(более подробно про следующие операции можно почитать

Выбираем диск для редактирования

Создаем новый раздел

Создаем файловую систему ext4 на всем свободном месте диска /dev/sdb

Создаем точку монтирования нашего жесткого диска для файлов виртуальных машин:

, однако мы выберем иной путь. Мы настроим его правильно.

Если выполнение этой команды не будет успешным, надо установить дополнительный пакет. Сначала узнаем, какой пакет предоставляет данную команду

После этого снова:

Отредактируем файл /etc/fstab для того, чтобы при перезагрузке хост-сервера раздел с ВМ монтировался автоматически

Добавляем строку по примеру тех, что уже имеются в файле

Сохраняем файл и продолжаем создание хранилища:

Проверяем, создалось ли оно:

Добавляем в автозагрузку:

3. Шаг — Настройка сети на хост-сервере

. ВАЖНО.

Положим, что для выхода «в мир» использовался интерфейс eth0 и он был соответствующим образом настроен.
На нем настроен IP-адрес 10.110.10.15 из /24 сети, маска — 255.255.255.0, шлюз 10.110.10.1.
Продолжаем, создаем сетевой интерфейс типа «bridge» на хост-сервере

. Важно.
DEVICE=«eth0» Имя интерфейса должно остаться таким, как было в системе. Если у вас для выхода в Интернет использовался интерфейс eth1, тогда редактировать надо его.

Когда проверили все, перезагружаем сеть:

Проверяем состояние подключения типа «bridge»:

Получаем что-то вроде этого

Делаем настройки в iptables, чтобы трафик виртуалок «ходил» через соединение типа bridge

Опционально: можно улучшить быстродействие соединения bridge, поправив настройки в /etc/sysctl.conf

4. Шаг — Установка новой виртуальной машины

Установка CentOS на гостевую ВМ:

Примечание 1:
VMName_2 — имя новой виртуальной машины
–ram 1024 — кол-во виртуальной памяти
–arch=x86_64 — архитектура ОС виртуалки
–vcpus=1 — кол-во виртуальных процессоров
–os-type linux — тип ОС
–disk pool=guest_images_dir,size=50 — размещение хранилища, размер вирт. диска
–network=bridge:br0

Установка Windows на гостевую ВМ:

Примечание:
Параметры такие же, как и в примере с установкой CentOS. Но есть различия.
При установке ОС Windows не увидит виртуального жесткого диска, поэтому надо подгрузить дополнительный виртуальный cdrom с драйверами /iso/virtio-win.iso — расположение файла ISO с драйверами виртуального диска. Взять можно отсюда.

Выполняем команду на установку новой ВМ, затем подключаемся по

к хост-серверу для продолжения установки ОС. Для того, чтобы узнать порт для подключения, выполняем:

При установке новой ВМ, порт vnc-сервера увеличится на 1. При удалении ВМ, порт освобождается,
и затем выдается новой ВМ. То есть, номер порта последней ВМ не обязательно самый большой из 590…
Чтобы узнать, на каком порту vnc виртуалка с определенным названием, вводим:

kvm_05

где VMName_1 — имя ВМ, :3 — номер по порядку порта, начиная с 5900, то есть подключаться надо на порт 5903, но в программе UltraVNC сработает и так 10.110.10.15:3

Примечание
Если при создании ВМ вылетает ошибка Permission denied, kvm не может открыть файл диска ВМ *.img,
значит, надо разрешить выполнение действий qemu-kvm из-под root (предполагается, что управление
ВМ производится из-под специально созданного для этих целей пользователя, например, libvirt). Но мы обойдемся и пользователем root.

Находим и раскомментируем в нем строки:

Полезно знать:
Конфиги ВМ находятся здесь /etc/libvirt/qemu/
Для того, чтобы отредактировать параметры (добавить процессор, ОЗУ или еще что-то),
ищем конфиг ВМ с нужным названием, редактируем:

К примеру, можно указать статический порт vnc для конкретной ВМ, чтобы всегда подключаться к нужному порту

Теперь у этой ВМ порт vnc будет — 5914. Не забудьте перезагрузить libvirtd для применения изменений. Саму ВМ тоже следует перезагрузить. Поэтому изменяйте конфигурационный файл ВМ пока она выключена, далее выполняйте service libvirtd reload, затем стартуйте ВМ.

Команды для управления ВМ:

5. Шаг — Настройка сети в случае «серых» IP-адресов в ВМ

Здесь 10.110.10.15 — белый (внешний) IP хост-сервера. 192.168.122.170 — серый IP-адрес гостевой ОС.

На примере установки ОС CentOS на гостевой машине, когда установка перешла в графический режим, и предлагает подключиться на локальный порт 5901 гостевой ОС.
Подключаемся из ПК, за которым сидите, по vnc к 10.110.10.15:5910 или 10.110.10.15:10 тоже сработает в UltraVNC.

По такому же принципу можно прокинуть порт (стандартный) RDP 3389 или SSH 22 в гостевую ОС.

6. Шаг — Подготовка к управлению виртуальными машинами удаленного сервера с удобным графическим интерфейсом (используя virt-manager)

Есть много способов «прокинуть» графику удаленного сервера на ПК, за которым выполняете действия администрирования. Мы остановимся на ssh-туннелировании.
Положим, что вы выполняете действия с локального ПК под управлением Windows (в операционных системах под управлением Linux сделать это куда легче :), нужно выполнить всего одну команду ssh -X username@12.34.56.78, конечно, с оговоркой, что на удаленном сервере X11 forwarding разрешен и вы сидите за локальным Linux ПК c графической оболочкой), тогда нам необходимо

kvm_01

В момент подключения к удаленному серверу Xming должен быть уже запущен.
На хост-сервере с CentOS для SSH включить X11 Forwarding, для этого отредактируйте файл sshd_config:

Устанавливаем virt-manager на хост-сервере:

Еще один компонент

7. Шаг — Непосредственный запуск virt-manager

После этого надо перезайти по SSH к удаленному серверу. Xming должен быть запущен.
Запускаем графическую утилиту управления виртуальными машинами

KVM это система виртуализации, от части сравнить ее можно например с VMWare об установки которой вы можете прочесть в этой статье. С помощью KVM вы можете создавать виртуальные машины с любыми операционными системами, про установку KVM в Ubuntu можно прочесть в этой статье . Но, на сей раз мы будем устанавливать KVM с веб интерфейсом, используя при этом панель управления сервером Cockpit . Вы же можете поставить KVM например вместо того же VirtualBox, и использовать как Cockpit для создания виртуальных машин, так же, можно использовать для этих целей и Virt Manager (графический интерфейс для управления виртуальными машинами через). С помощью данного руководства можно поднять сервер виртуализации, либо, установить KVM вместо VirtualBox на ваш компьютер.

Проверяем поддержку виртуализации

Для начала давайте убедимся что процессор поддерживает виртуализацию, сделать это просто, переходим в терминал и вводим команду:

Если вывод будет больше нуля, значит ваш процессор поддерживает виртуализацию и можно двигаться дальше. А в том случае если вам данная команда выдаст ноль, то увы, ваш процессор не поддерживает виртуализацию и установка KVM в этом случае не возможна. Так же есть вариант, что вам необходимо включить виртуализацию в настройках Bios, как это сделать, читайте в документации к материнской плате:

Устанавливаем KVM на Debian 10 с web-панелью Cockpit

Установка панель Cockpit и KVM

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

sudo apt install cockpit cockpit-machines

Устанавливаем KVM на Debian 10 с web-панелью Cockpit

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

sudo systemctl start cockpit.socket
sudo systemctl enable cockpit.socket
sudo systemctl status cockpit.socket

В итоге вы должны увидеть статус работоспособности, он должен быть активным и подсвечиваться зеленым:

Устанавливаем KVM на Debian 10 с web-панелью Cockpit

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

Устанавливаем KVM на Debian 10 с web-панелью Cockpit

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

Устанавливаем KVM на Debian 10 с web-панелью Cockpit

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

Устанавливаем KVM на Debian 10 с web-панелью Cockpit

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

systemctl start libvirtd.service
systemctl enable libvirtd.service
systemctl status libvirtd.service

Устанавливаем KVM на Debian 10 с web-панелью Cockpit

Настройка сетевого моста

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

Устанавливаем KVM на Debian 10 с web-панелью Cockpit

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

Устанавливаем KVM на Debian 10 с web-панелью Cockpit

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

Устанавливаем KVM на Debian 10 с web-панелью Cockpit

Создаем виртуальные машины с KVM

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

Устанавливаем KVM на Debian 10 с web-панелью Cockpit

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

Устанавливаем KVM на Debian 10 с web-панелью Cockpit

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

Устанавливаем KVM на Debian 10 с web-панелью Cockpit

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

sudo apt install virt-manager

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

Устанавливаем KVM на Debian 10 с web-панелью Cockpit

Возможно, вам так же необходимо будет добавить вашего пользователя в группу “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

KVM - это технология полной виртуализации для Linux на x86 (включая 64-bit) оборудование, содержащее расширения виртуализации (Intel VT или AMD-V). Сам KVM состоит из загружаемого модуля ядра, kvm.ko, который обеспечивает базовую инфраструктуру виртуализации и специфичный для процессора модуль, kvm-intel.ko или kvm-amd.ko.

В Debian, Xen и VirtualBox являются альтернативами KVM.

Установим пакеты qemu-kvm с помощью команды apt-get или aptitude, например, будем использовать следующую команду:

Демон libvirt будет запускаться автоматически во время загрузки и загружать соответствующие kvm модули, kvm-amd или kvm-intel, которые поставляются вместе с Linux ядром пакета Debian. Если вы намерены создавать виртуальные машины из командной строки, то установите virtinst.

Для того, чтобы иметь возможность управлять виртуальными машинами (ВМ) от обычного пользователя, вы должны добавить этого пользователя в группы kvm и libvirt:

Теперь вы можете получить список всех своих доменов:

libvirt defaults to qemu:///session for non-root. So from <youruser> you'll need to do:

You can use LIBVIRT_DEFAULT_URI to change this.

Самый простой способ для создания и управления гостевыми ВМ это использовать графическое приложение Virtual Machine Manager virt-manager.

Также, вы можете создать гостевую ВМ в командной строке. Ниже приведен пример для создания гостевой ВМ Debian Squeeze с именем squeeze-amd64:

Since the guest has no network connection yet, you will need to use the GUI virt-viewer to complete the install.

You can avoid pulling the ISO by using the --location option. To obtain text console for the installation you can also provide --extra-args "console=ttyS0":

Для полностью автоматизированной установке смотрите preseed или debootstrap.

Between VM guests

By default, QEMU uses macvtap in VEPA mode to provide NAT internet access or bridged access with other guest. Unfortunately, this setup could not let the host to communicate with any guests.

Between VM host and guests

To let communications between VM host and VM guests, you may setup a macvlan bridge on top of a dummy interface similar as below. After the configuration, you can set using interface dummy0 (macvtap) in bridged mode as the network configuration in VM guests configuration.

Between VM host, guests and the world

In order to let communications between host, guests and outside world, you may set up a bridge and as described at QEMU page.

For example, you may modify network configuration file /etc/network/interfaces for setup ethernet interface eth0 to a bridge interface br0 similar as below. After the configuration, you can set using Bridge Interface br0 as the network connection in VM guests configuration.

You can then use the virsh(1) command to start and stop virtual machines. VMs can be generated using virtinst. For more details see the libvirt page. Virtual machines can also be controlled using the kvm command in a similar fashion to QEMU. Below are some frequently used commands:

Start a configured VM guest "VMGUEST":

Notify the VM guest "VMGUEST" to graceful shutdown:

Force the VM guest "VMGUEST" to shutdown in case it is hanged, i.e. graceful shutdown not work:

On the other hand, if you want to use a graphical UI to manage the VMs, you can use the Virtual Machine Manager virt-manager.

Guest behavior on host shutdown/startup is configured in /etc/default/libvirt-guests.

This file specifies whether guests should be shutdown or suspended, if they should be restarted on host startup, etc.

First parameter defines where to find running guests. For instance:

Below are some options which can improve performance of VM guests.

    Assign virtual CPU core to dedicated physical CPU core
      Edit the VM guest configuration, assume the VM guest name is "VMGUEST" having 4 virtual CPU core

    Disk I/O

    Disk I/O is usually the bottleneck of performance due to its characteristics. Unlike CPU and RAM, VM host may not allocate a dedicated storage hardware for a VM. Worse, disk is the slowest component between them. There is two types of disk bottleneck, throughput and access time. A modern harddisk can perform 100MB/s throughput which is sufficient for most of the systems. While a modern harddisk can only provides around 60 transactions per seconds (tps).

    For VM Host, you can benchmark different disk I/O parameters to get the best tps for your disk. Below is an example of disk tuning and benchmarking using fio:

    • Native driver for Windows VM guests
      • Create new VM guest with below configuration:
        • IDE storage for Windows OS container, assume with filename WINDOWS.qcow2
        • IDE CDROM, attach Windows OS ISO to CDROM
        • Remove IDE storage for Windows OS, DO NOT delete WINDOWS.qcow2
        • Remove VirtIO storage for dummy storage, you can delete DUMMY.qcow2
        • Remove IDE storage for CD ROM
        • Add a new VirtIO / VirtIO SCSI storage and attach WINDOWS.qcow2 to it
        • Select VirtIO / VirtIO SCSI storage for the storage containers
        • Restart the VM guest
        • VirtIO SCSI storage provides richer features than VirtIO storage when the VM guest is attached with multiple storage. The performance are the same if the VM guest was only attached with a single storage.
        • Select "None" for disk cache mode
        • Edit the VM guest configuration, assume the VM guest name is "VMGUEST"

        Network I/O

          Native driver for Windows VM guests
            Select VirtIO for the network adapter
          • Select VirtIO for the network adapter
          • Restart the VM guest

          Memory

            Huge Page Memory support
              Calculate the huge page counts required. Each huge page is 2MB size, as a result we can use below formula for the calculation. e.g. 4 VM guests, each VM guest using 1024MB, then huge page counts = 4 x 1024 / 2 = 2048. Note that the system may be hang if the acquired memory is more than that of the system available.

            Миграция гостя из RHEL/CentOS 5.x

            Иными словами, соответствующие разделы должны выглядеть примерно так:

            Если у вас был настроен сетевой мост на хосте CentOS, то обратитесь к данной статье Wiki, в которой описано, как настроить его в Debian.

            Не работает сетевой мост

            virt-manager использует виртульную сеть для гостевых машин, по умолччанию это маршрут в 192.168.122.0/24 и вы можете посмотреть его набрав ip route как root.

            Если этого маршрута нет в таблице маршрутизации ядра, то гостевые машины не смогут подключтся к сети и вы не сможете завершить создание гостевых машин.

            cannot create bridge 'virbr0': File exists:

            Чтобы решить эту проблему вы можете удалить virbr0, запустив:

            Откройте virt-manager и пройдите на вкладку "Edit" -> "Host details" -> "Virtual networks" запустите сеть по умолчанию.

            Во можете проверить сетевой статус (netstatus).

            При необходимости, можно использовать сетевой мост BridgeNetworkConnections


            Предварительная установка

            Для запуска KVM, необходимо процессор поддерживающий аппаратную виртуализацию. Intel и AMD и разработали расширения для своих процессоров, считаются соответственно Intel VT-х (кодовое название Vanderpool) и AMD-V (кодовое название Pacifica). Чтобы узнать поддерживает ваш процессор данную опцию, выполните:

            По умолчанию, если вы загрузились в XEN ядро не будет отображаться SVM или флаг VMX с помощью команды GREP. Чтобы увидеть включены ли данные флаги от Xen, введите:

            Вы должны увидеть HVM флаги.

            Кроме того, вы можете выполнить:

            Если получите следующий вывод, то у вас все хорошо и у вас имеется поддержка:

            Если получите следующий вывод, то у вас нет поддержки и будет работать гораздо медленнее без этих расширений KVM:

            Используйте 64 битное ядро (если это возможно)

            Запуск на 64 битном ядре рекомендуется, но не требуется.

            Чтобы обеспечить поддержку более 2 Гб оперативной памяти для виртуальных машин, необходимо использовать 64-битное ядро. На 32-битном ядре будут ограничено использование РАМ до 2 Гб.

            Кроме того, 64-разрядная система может содержать как 32-разрядные, так и 64-разрядные ОС, а 32-битная система может вместить только 32-разрядные ОС ваших виртуальных машин. Чтобы проверить, какой розрядности ваш процессор, вы можете запустить эту команду:

            • Если вы имеете 0, то это означает что ваш процессор не 64-битный.
            • Если вы имеете 1 и выше, то это говорит что имеет поддержку.

            Чтобы посмотреть архитектуру вашего сервера, используйте:

            x86_64 указывает работу c 64-разрядным ядром. Если вы используете i386, i486, i586 или i686, вы работаете в 32-битным ядром.

            Установка гипервизора KVM на Debian/Ubuntu

            Для минимальной установки, потребуется лишь следующий пакет virtinst который можно установить:

            Следующие пакеты необходимы если вам необходимо включить KVM на уже установленной ОС, я установлю и их:

            Для того, тобы использовать графический интерфейс установите:

            Моя первая виртуальная машина будет установлена именно через графический интерфейс т.к он очень простой.

            Добавляем своего пользователя в группы:

            После установки, вы должны войти снова, чтобы ваш пользователь становится действительным членом KVM и libvirtd групп пользователей. Члены этой группы могут запускать виртуальные машины.

            Настройка сетевого моста для подключения виртуальных машин к реальной сети

            Данная настройка необходима для вашего гипервизера, для того чтобы виртуальные сервера имели прямой доступ к интернету. Внесем некоторые изменения в конфигурационный файл

            Если у вас имееться сетевой интерфейс eth0, то его нужно заменить на br0 с добавляем следующих строк:

            Я буду использовать следующий пример с DHCP

            Это создаст виртуальный интерфейс br0.

            Теперь перезагрузите сеть:

            Замените f4:6d:04:08:f1:5f с аппаратным адресом физического Ethernet адаптер, который всегда будет частью моста.

            Проверка установки KVM

            Если получите вывод:

            Файл sock должен иметь права, аналогичные как:

            Так же, /dev/kvm должен иметь правильные группы. Если ты видишь:

            Вы можете столкнуться с проблемами при создании виртуальной машины. Изменить группу устройства для kvm/libvirtd:

            Теперь вам нужно либо войти снова или перезагрузить модули ядра:

            Установка KVM в Debian 10

            Во-первых, вам нужно включить расширение аппаратной виртуализации в BIOS вашего компьютера. Если вы используете процессор Intel, он будет называться VT-x или VT-d. Если вы используете процессор AMD, в BIOS он будет называться AMD-v.

            После включения аппаратной виртуализации выполните следующую команду, чтобы убедиться, что расширение VT-x / VT-d или AMD-v включено.

            $ grep --color --perl-regexp 'vmx | svm' / proc / cpuinfo


            Как вы видете, SVM флаг доступен. Я использую процессор AMD. Если вы используете процессор Intel, то он будет vmx. Итак, аппаратная виртуализация включена. большой!


            Установка KVM / QEMU:

            Теперь вам нужно установить KVM и QEMU из официального репозитория пакетов Debian 10 Buster.

            Сначала обновите кеш репозитория пакетов APT с помощью следующей команды:

            $ sudo подходящее обновление


            Кэш репозитория пакетов APT должен быть обновлен.


            Теперь установите KVM и QEMU с помощью следующей команды:

            $ sudo apt install qemu qemu-kvm qemu-system qemu-utils


            Для подтверждения установки нажмите Y а затем нажмите .


            Менеджер пакетов APT загрузит и установит все необходимые пакеты.


            На этом этапе необходимо установить KVM и QEMU.


            Установка LibVirt:

            Создавать виртуальные машины и легко ими управлять, libvirt используется. Это незаменимый инструмент для виртуализации KVM и QEMU.

            libvirt и все необходимые инструменты доступны в официальном репозитории пакетов Debian 10 Buster.

            Установить libvirt и все необходимые инструменты, выполните следующую команду:

            $ sudo apt установить libvirt-clients libvirt-daemon-system virtinst


            Теперь нажмите Y а затем нажмите для подтверждения установки.


            Менеджер пакетов APT загрузит и установит все необходимые пакеты.


            На этом этапе будут установлены libvirt и все необходимые инструменты.


            Теперь проверьте, действительно ли libvirtd служба работает со следующей командой:

            $ sudo systemctl статус libvirtd

            Как вы видете, libvirtd услуга Бег. В libvirtd сервис также включено. Итак, он запустится автоматически при загрузке.


            Если в любом случае, libvirtd служба не запущена, вы можете запустить ее с помощью следующей команды:

            $ sudo systemctl start libvirtd

            По умолчанию По умолчанию сеть libvirt не активен, как вы можете видеть на скриншоте ниже.

            $ sudo virsh net-list - все


            Для создания виртуальных машин с libvirt необходимо По умолчанию сеть должна быть активной.

            Чтобы начать По умолчанию сеть, выполните следующую команду:

            $ sudo virsh net-start по умолчанию


            Также настройте По умолчанию сеть для автоматического запуска при загрузке с помощью следующей команды:

            $ sudo virsh net-autostart по умолчанию


            Создание виртуальной машины KVM:

            В этом разделе я покажу вам, как создать вашу первую виртуальную машину KVM и установить операционную систему (Ubuntu 16.04 LTS) из ISO-образа на виртуальной машине. Итак, приступим.

            Сначала создайте новую структуру каталогов для виртуальных машин KVM с помощью следующей команды:

            $ sudo mkdir -pv / kvm / диск, iso


            Должна быть создана следующая структура каталогов.

            в / квм / диск каталог, все образы жестких дисков виртуальной машины будут храниться.

            в / kvm / iso каталог, все ISO-образы операционной системы будут храниться.


            Теперь перейдите к / kvm / iso каталог с помощью следующей команды:


            Теперь загрузите Ubuntu 16.04 LTS ISO образ с помощью следующей команды:


            ISO-образ загружается. На выполнение потребуется время. После завершения загрузки образ ISO будет доступен в / kvm / iso каталог.


            После завершения загрузки выполните следующую команду, чтобы создать новую виртуальную машину KVM.

            $ sudo virt-install --name server01 \
            --ОС типа Linux \
            --OS-вариант ubuntu16.04 \
            --RAM 1024 \
            --диск / КВМ / диск / server01.img, устройство = диск, шина = virtio, размер = 10, формат = qcow2 \
            --графика vnc, listen = 0.0.0.0 \
            --noautoconsole \
            --hvm \
            --cdrom / kvm / iso / ubuntu-16.04.6-сервер-amd64.iso \
            --загрузочный cdrom, hd

            ПРИМЕЧАНИЕ: Вы можете изменить полужирный шрифт в приведенной выше команде, чтобы установить новую операционную систему. Команда довольно понятна. Итак, я не буду вдаваться в подробности.

            Необходимо создать новую виртуальную машину KVM.


            Вы можете вывести список всех виртуальных машин KVM с помощью следующей команды:

            $ sudo virsh list - все

            Как видите, новая виртуальная машина KVM server01 это работает.


            Теперь распечатайте порт VNC server01 виртуальную машину с помощью следующей команды:

            $ sudo virsh vncdisplay server01

            Как видите, порт VNC : 0


            Теперь распечатайте IP-адрес вашего сервера KVM / QEMU с помощью следующей команды:

            Как видите, IP-адрес 192.168.21 год.131. В вашем случае все будет иначе. Так что не забудьте заменить его с этого момента.


            Теперь у вас должна быть возможность подключиться к VNC-серверу виртуальной машины с любого VNC-клиента.


            Просто подключитесь к адресу VNC 192.168.21 год.131: 0.


            Вы должны быть подключены к серверу VNC. Как видите, Ubuntu 16.04 Установщик LTS запущен. Теперь установите Ubuntu 16.04 на виртуальной машине, как обычно.


            Ubuntu 16.04 LTS устанавливается на виртуальную машину KVM.


            Однажды Ubuntu 16.04 LTS установлен, server01 виртуальная машина выключится автоматически.

            Чтобы снова включить его, выполните следующую команду:

            $ sudo virsh start server01


            Теперь у вас должна быть возможность подключиться к консоли server01 виртуальная машина снова использует VNC.


            Я также установил SSH-сервер на server01 виртуальная машина. Чтобы подключиться к виртуальной машине через SSH, сначала распечатайте IP-информацию виртуальной машины.


            Теперь у вас должна быть возможность подключиться к виртуальной машине по SSH с вашего сервера KVM / QEMU, как вы можете видеть на скриншоте ниже.


            Итак, вот как вы устанавливаете KVM в Debian 10 и используете libvirt для создания виртуальных машин KVM в Debian 10. Спасибо, что прочитали эту статью.

            Как удалить удаленную ветку в Git

            Git В этой статье я покажу вам, как удалить или удалить удаленную ветку Git. Я буду использовать репозиторий GitHub в качестве удаленного репозитория Git .

            Как выбрать Cherry Pick в Git

            Git git cherry pick - это функция слияния Git. Но есть небольшая разница в git cherry pick и git merge. Кроме того, вариант использования отличается. Дава.

            Git - отправка изменений в удаленную ветку Git

            Git

            Свежие статьи об операционных системах. Множество интересных гайдов и полезных советов. Почувствуйте себя своим в мире современных технологий

            Читайте также: