- Виртуальные машины для Linux
- Виртуальные машины для Linux против режима Dual Boot
- Что такое виртуальная машина?
- Как активировать виртуализацию на вашем ПК
- 1. VirtualBox
- 2. QEMU
- 3. KVM
- Какие дистрибутивы работают лучше всего в VM?
- Какой инструмент VM нужно использовать?
- Популярные виртуальные машины в Linux
- Список виртуальных машин для Linux
- VirtualBox
- VMware
- Заключение
- Установка и настройка KVM в Ubuntu
- Что такое KVM?
- Установка KVM в Ubuntu
- Сетевой Bridge для kvm
- Настройка KVM в Ubuntu Server
- kvm passthrough
- port forwarding
- Основные команды KVM
- Создание виртуальной машины
- Автозапуск виртуальной машины
- Удаление виртуальной машины
- Увеличение размера диска
- KVM Agent
- Установка Windows 10 в KVM
- Snapshot виртуальной машины KVM
- Бэкап виртуальной машины
- Web интерфейс (gui) для KVM
- Заключение
- 2 комментариев к записи « Установка и настройка KVM в Ubuntu »
Виртуальные машины для Linux
Вам нужно запустить другую операционную систему на вашем ПК с Linux. Но стоит ли вам дважды загружать системы или лучше использовать виртуальную машину? И если вы выберете второй вариант, то нужно узнать какое программное обеспечение для виртуальных машин вы должны использовать?
Виртуальные машины для Linux против режима Dual Boot
Ранее, мы уже говорили о том, как можно установить Linux возле Windows 10 на одном устройстве. Это делается очень просто. Но что делать в ситуации, если вы хотите запускать Windows прямо в среде Linux и при этом, чтобы все работало плавно и быстро? Давайте разберемся. В этом нам помогут так званные виртуальные машины для Linux.
Вы запускаете Linux — возможно, Linux Mint или Ubuntu — вместе с Windows? Или у вас есть два или более дистрибутивов Linux, установленных на вашем компьютере? Как это все работает для вас? Для некоторых эта динамика хорошо работает и довольно быстро. Для других перезагрузка может быть проблемой.
Время перезагрузки, выбор другой ОС на экране загрузчика GRUB, а затем загрузка, могут быть проблематичными. Это особенно справедливо в системах, где Linux установлен рядом с Windows.
В более медленных системах или системах со многими приложениями, пытающимися работать при загрузке Windows, вы можете ждать 5-15 минут, прежде чем сможете начать работать. Установите антивирусное решение, и вы будете загружаться еще медленнее. Но это касается старых устройств, ведь на новых все работает очень быстро.
Однако запуск вашей второй ОС на виртуальной машине может решить эту проблему. Виртуальные машины для Linux являются очень полезными во многих ситуациях и могут намного увеличить производительность.
Что такое виртуальная машина?
Мы смотрели на виртуальные машины — известные как VM — несколько раз в прошлом. Проще говоря, это приложения, которые создают программную среду, имитирующую компьютерное оборудование. Затем в эту среду может быть установлена операционная система. Мы называем это «гостевой ОС», а операционная система, установленная на вашем физическом компьютере, — это «хост-система».
Кроме того, виртуализация может быть улучшена с помощью специализированного системного оборудования.
Если говорить еще более понятно то, виртуальные машины для Linux являются программами на которых можно запускать дополнительные операционные системы.
Как активировать виртуализацию на вашем ПК
Хотя выбранная вами гостевая ОС может работать без аппаратной виртуализации, если опция доступна, то ее стоит использовать. Не в последнюю очередь потому, что это уменьшит утечку ресурсов системы вашего компьютера.
Чтобы включить аппаратную виртуализацию, вам необходимо перезагрузить компьютер для доступа к BIOS. Как это будет достигнуто, будет зависеть ваше устройство, но обычно это делается путем нажатия Del или F2 после перезагрузки компьютера.
Найдите экран «Дополнительно» в BIOS и найдите одно из следующего:
- Виртуализация
- VT-x (Intel — старые системы будут иметь VT-d)
- AMD-V (системы AMD)
BIOS управляется с помощью клавиш со стрелками. Когда вы включили виртуализацию, нажмите F10, чтобы сохранить и выйти.
Как только это будет сделано, у вас будет выбор из трех приложений с открытым исходным кодом VM, которые мы рассмотрим ниже (VMWare также доступен для Linux, но не является программой с открытым исходным кодом).
1. VirtualBox
Предлагая универсальную виртуализацию, VirtualBox может создавать виртуальную машину практически с любой операционной системой (за исключением тех, которые предназначены для устройств ARM). Он также предлагает программное обеспечение и жесткую виртуализацию, сохраняя виртуальные машины в виде образов дисков. Это упрощает резервное копирование или перенос на другие ПК или приложения VM.
VirtualBox особенно хорош для запуска 32-разрядных и 64-разрядных дистрибутивов Linux, а также Windows. Можно даже запустить OS X на VirtualBox, возможно, протестировать его, прежде чем настраивать ПК как Hackintosh. Найдите копию для своего дистрибутива на virtualbox .org/wiki/Downloads.
2. QEMU
Если вы хотите запустить операционную систему заточенную на базе ARM (например, Android, Raspbian или RISC OS), тогда это средство командной строки, которое вы выберете.
Если кратко для программы «Quick Emulator» вы сможете сделать производительную виртуалку, QEMU прост в настройке, и некоторые гостевые операционные системы могут быть даже загружены с встроенным QEMU.
Хотя неназванное имя для QEMU является «Quick Emulator», это на самом деле гипервизор, инструмент для управления аппаратной виртуализацией. Вы можете установить QEMU с помощью:
sudo apt-get install qemu qemu-kvm libvirt-bin
3. KVM
Сокращая виртуальную машину на основе ядра, KVM является вилкой проекта QEMU и работает в сочетании с этим инструментом для предоставления дополнительных параметров (например, близкой скорости) за пределами собственных встроенных функций VM.
Это означает, что KVM предлагает отличную скорость и стабильность, чем VirtualBox, но KVM немного сложнее настроить. Однако, если вы можете обойти пара-виртуализированные драйверы, вам будет хорошо на вашем пути понять, почему KVM является популярным вариантом для размещения виртуальных машин.
Чтобы использовать KVM, начните с подтверждения того, что ваше оборудование подходит для аппаратной виртуализации:
Если ответ «Ускорение KVM можно использовать», приступайте к установке программного обеспечения:
sudo apt-get install qemu-kvm libvirt-bin virtinst bridge-utils
Вы сможете запустить KVM через рабочий стол с помощью Virtual Machine Manager, который вы найдете в меню рабочего стола.
Какие дистрибутивы работают лучше всего в VM?
После того, как вы выбрали подходящее приложение для виртуальной машины, вам нужно будет подобрать свой вариант гостевой ОС. Например, вы можете легко запускать Windows на VirtualBox, хотя Windows 7, вероятно, является самым безопасным вариантом.
И наоборот, QEMU подходит для запуска распределенных ARM-дистрибутивов, таких как Raspberry Pi’s Raspbian или Android.
Между тем, что-то легкое, как Lubuntu, будет работать на любом из этих инструментов VM.
Какой инструмент VM нужно использовать?
В этой статье мы рассмотрели три самых популярных варианта и рассказали о том как они работают. Выбрать можно любую из этих программ, тем более что все они являются качественными и работают достаточно производительно. Но все таки, нужно выбрать самый интересный, удобный и быстрый VM.
VirtualBox — отличная программа для запуска виртуальной системы. Интерефейс является очень удобными понятным, что является огромным плюсом для новичков. Также стоит отметить, отличную оптимизацию и общую скорость работы, которая улучшается с каждым обновлением.
Если у вас остались вопросы по теме «Виртуальные машины для Linux» то, пишите нам об этом.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Популярные виртуальные машины в Linux
Порою возникает необходимость одновременно или поочередно использовать несколько операционных систем на одном персональном компьютере. Если желания применять двойную загрузку нет, то можно воспользоваться одним оставшимся вариантом – установить виртуальную машину для операционной системы Linux.
При достаточном количестве оперативной и виртуальной памяти, требуемой мощности процессора имеется возможность одновременно запустить сразу несколько систем и работать с ними в полноценном режиме. Однако для этого следует подобрать правильное программное обеспечение.
Список виртуальных машин для Linux
Если вы решили использовать виртуальную машину в операционной системе, то предварительно необходимо выяснить, какая именно вам подойдет. Сейчас будут рассмотрены пять самых популярных представителя этого вида программного обеспечения.
VirtualBox
Данное приложение представляет собой универсальный продукт, который может использоваться для процесса виртуализации в Linux. Благодаря ему может осуществляться поддержка ряда других операционных систем, к которым можно отнести Windows или даже MacOS.
VirtualBox является одной из лучших на сегодняшний день машин, оптимизированных специально для операционных систем Linux/Ubuntu. Благодаря подобной программе можно воспользоваться всеми необходимыми возможностями, к тому же использовать ее весьма легко.
VMware
Главным отличием данной программы является то, что за ее полную версию придется заплатить, но для рядового обывателя она не так уж необходима. А вот для домашнего применения вполне возможно скачать и установить вариант, который можно применять абсолютно бесплатно.
Это программное обеспечение практически ничем не отличается от VirtualBox, однако в некоторых моментах превосходит последнюю упомянутую программу. Специалисты подчеркивают, что производительность у них примерно одна и та же, но VMWare позволяет:
- создавать виртуальные или локальные сети между установленными на компьютере машинами;
- организовывать общий буфер обмена;
- осуществлять передачу файлов.
Однако не обошлось и без недостатков. Дело в том что она не поддерживает запись видеофайлов.
При желании, эту программу можно установить в полностью автоматическом режиме, выбрать требуемые параметры, что зачастую бывает весьма удобным.
Данная программа рассчитана для устройств на основе ARM типа Android, Raspbian, RISC OS. В настройке она весьма сложная, особенно для неопытного пользователя. Дело в том, что работа с виртуальной машиной выполняется исключительно в «Терминале» с помощью ввода специальных команд. Однако с ее помощью можно запустить абсолютно любые операционные системы, устанавливая их на жесткий диск или же записывая в специальный файл.
Отличительной чертой машины Qemu является то, что она позволяет применять аппаратное ускорение и устанавливать программы в онлайн-режиме. Чтобы установить подобное программное обеспечение в ОС на базе ядра Linux, в «Терминале» следует выполнить следующую команду:
sudo apt install qemu qemu-kvm libvirt-bin
Примечание: после нажатия Enter система запросит у вас пароль, который вы указывали при установке дистрибутива. Обратите внимание, что при его вводе никакие символы отображаться не будут.
Название программы расшифровывается как Kernel-based Virtual Machine (виртуальная машина, разработанная на основе ядра). Благодаря ей можно обеспечить довольно высокую скорость работы, во многом именно за счет ядра Linux.
Работает она значительно быстрее и надежнее по сравнению с VirtualBox, однако настраивать ее в разы сложнее, да и в обслуживании она не настолько проста. Но сегодня для установки виртуальных машин эта программа является наиболее популярной. Во многом такая востребованность обусловлена тем, что с ее помощью можно разместить собственный сервер в интернете.
Перед установкой программы следует определить, способно ли железо компьютера поддержать аппаратное ускорение. Для этого необходимо воспользоваться утилитой cpu-checker. Если все в этом плане будет в порядке, то можно приступать к установке KVM себе на компьютер. Для этого в «Терминале» введите следующую команду:
sudo apt-get install emu-kvn libvirt-bin virtinst bridge-utils virt-manager
Когда программа будет установлена, пользователь получит абсолютный доступ к созданию виртуальных машин. При желании можно разместить и другие эмуляторы, которые будут управляться за счет этого приложения.
Эта программа практически полностью идентична KVM, однако у нее есть и некоторые отличия. Главное заключается в том, что виртуальная машина XEN нуждается в пересобирании ядра, так как в противном случае она не будет нормально функционировать.
Еще одним отличительным качеством программы является возможность работать даже без применения аппаратного ускорения при запуске операционной системы Linux/Ubuntu.
Чтобы установить XEN себе на компьютер, вам необходимо выполнить поочередно ряд команд в «Терминале»:
apt-get install \
xen-hypervisor-4.1-amd64 \
xen-hypervisor-4.1-i386 \
xen-utils-4.1 \
xenwatch \
xen-tools \
xen-utils-common \
xenstore-utils
Стоит отметить, что после установки необходимо провести настройку, которая для рядового пользователя покажется чрезмерно сложной.
Заключение
Виртуализация в операционной системе Linux в последнее время развивается весьма стремительно. Регулярно появляются новые программы, направленные на это. Мы же их регулярно отслеживаем и рекомендуем пользователям для решения своих задач.
Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник
Установка и настройка KVM в Ubuntu
Сложно себе представить в наше время физический сервер без установленной на нем той или иной системы виртуализации. Я расскажу, как установить и настроить популярный гипервизор kvm на сервер под управлением Ubuntu. Это решение является open source, так что можно свободно использовать где угодно.
Что такое KVM?
KVM (Kernel-based Virtual Machine) — гипервизор виртуальных машин для Linux. Не стоит его путать с системами контейнеризации, такими как докер или lxc. Это принципиально разные вещи. Гипервизор дает полную изоляцию рабочего окружения, в том числе и железа. Находясь в виртуальной машине, вы имеете в своем распоряжении полноценную операционную систему, принадлежащую только вам.
Существует несколько популярных гипервизоров, как бесплатных, так и за деньги. KVM является полностью бесплатным решением, которое очень активно используют хостеры, в том числе предоставляющие услуги облачных технологий. Так же есть неплохая реализация полноценного гипервизора kvm с интерфейсом управления — proxmox. Это готовый продукт на базе дистрибутива дебиан.
Я сегодня не буду рассматривать готовые сборки гипервизоров, а вручную установлю на Ubuntu Server нативный гипервизор KVM с минимальными надстройками над ним. У нас на выходе будет сам гипервизор, локальная сеть для его корректной работы и средства управления гипервизором и виртуальными машинами. Если вам интересно, почему мой выбор пал на именно на убунту, читайте мой обзор этой системы, а так же статью про установку ubuntu.
Установка KVM в Ubuntu
Прежде чем начать установку гипервизора KVM в Ubuntu, проверим, поддерживает ли наш процессор виртуализацию. Для этого существует утилита kvm-ok. Если у вас нет ее в системе, установите пакет, который ее содержит.
Если ваш процессор не поддерживает виртуализацию, то получите сообщение:
INFO: Your CPU does not support KVM extensions
KVM acceleration can NOT be used
Если же все ОК, то информация будет следующая.
В этом случае можно приступать к установке виртуализации kvm.
Я устанавливаю следующие компоненты kvm:
- qemu и qemu-kvm — сам гипервизор
- libvirt-daemon-system и virtinst — утилиты для управления гипервизором и виртуальными машинами
- libosinfo-bin — пакет с информацией о поддержки гипервизорами различных операционных систем.
Запустим и добавим в автозагрузку сервис управления kvm:
В целом, все. Установка KVM на Ubuntu на этом и заканчивается. Можно проверить, загрузились ли у вас модули ядра kvm.
Все в порядке, гипервизор kvm готов к работе.
Сетевой Bridge для kvm
Настройка сети для виртуальных машин kvm может быть настроена различными способами. Я как минимум 3 наиболее популярных знаю:
- Виртуальные машины выходят во внешний мир через сам хост kvm, на котором настроен NAT. Этот вариант вам будет доступен сразу после установки kvm. Ничего дополнительно настраивать не надо, так как сетевой бридж для этого virbr0 уже будет добавлен в систему. А в правилах iptables будет добавлен MASQUERADE для NAT.
- Одна из виртуальных машин превращается в шлюз и через нее осуществляется доступ во внешний мир для всех виртуальных машин. Наиболее гибкий способ управления сетью для vm, но в то же время требует больше времени на настройку и набор знаний по работе с сетями.
- Для виртуальных машин kvm создается отдельный сетевой бридж во внешнюю сеть. Они напрямую получают в нее сетевой доступ.
Последний вариант наиболее простой и удобный, поэтому настроим сеть для виртуальных машин таким образом. Для этого нам нужно установить дополнительный пакет на host.
Теперь на хосте приводим сетевые настройки в /etc/netplan к следующему виду.
Здесь будьте очень внимательны. Не выполняйте изменения сетевых настроек, не имея прямого доступа к консоли сервера. Очень высок шанс того, что что-то пойдет не так и вы потеряете удаленный доступ к серверу.
В предложенном наборе правил netplan у меня один сетевой интерфейс на хосте гипервизора — ens18. Он изначально получал настройки по dhcp. Мы добавили новый сетевой бридж br0, в него добавили интерфейс ens18. Так же мы указали, что br0 будет получать сетевые настройки по dhcp. Я указал mac адрес для того, чтобы он не менялся после перезагрузки. Такое может происходить. Адрес можно указать любой, не принципиально. Я сделал похожий на адрес физического сетевого интерфейса.
Теперь надо применить новые настройки.
Сразу после этого вы потеряете доступ к серверу по старому адресу. Интерфейс ens18 перейдет в состав bridge br0 и потеряет свои настройки. А в это время бридж br0 получит новые сетевые настройки по dhcp. IP адрес будет отличаться от того, что был перед этим на интерфейсе ens18. Чтобы снова подключиться удаленно к гипервизору kvm, вам надо будет пойти на dhcp сервер и посмотреть, какой новый ip адрес ему назначен.
Если у вас нет dhcp сервера или вы просто желаете вручную указать сетевые настройки, то сделать это можно следующим образом.
В этом случае после применения новых настроек, гипервизор kvm будет доступен по адресу 192.168.25.2.
Обращайте внимание на все отступы в конфигурационном файле netplan. Они важны. В случае ошибок, настройки сети применены не будут. Иногда эта тема очень напрягает, так как не получается сразу понять, где именно в отступах ошибка. В этом плане yaml файл для настроек сети гипервизора как-то не очень удобен.
Далее еще один важный момент. Чтобы наш kvm хост мог осуществлять транзит пакетов через себя, надо это явно разрешить в sysctl. Добавляем в /etc/sysctl.d/99-sysctl.conf новый параметр. Он там уже есть, надо только снять пометку комментария.
Применяем новую настройку ядра.
С настройкой сети гипервизора мы закончили. На данном этапе я рекомендую перезагрузить сервер и убедиться, что все настройки корректно восстанавливаются после перезагрузки.
Настройка KVM в Ubuntu Server
В целом, какой-то особенной настройки для гипервизора kvm после установки делать не нужно. Я обычно выношу в отдельные директории диски виртуальных машин и iso образы. Например, в /mnt/kvm . Это позволяет подмонтировать туда любые внешние хранилища, если будет такая необходимость.
Теперь при создании виртуальных машин можно указывать эти директории.
В рамках настройки kvm сервера, рекомендую сразу же указать нужный часовой пояс и установить софт для автоматического обновления времени сервера. Это важно, так как гостевые виртуальные системы будут синхронизировать время с хостом.
kvm passthrough
Гипервизор KVM поддерживает так называемый проброс оборудования в виртуальную машину. Называется эта технология passthrough. Для того, чтобы это было возможно, ваше железо должно поддерживать технологию IOMMU. С ее помощью можно, к примеру, пробросить в виртуальную машину видеокарту.
У этой технологии очень много нюансов, так что в рамках данной статьи я не буду ее рассматривать и приводить примеры. У меня под рукой нет подходящего железа, а показывать непроверенные конфиги мне не хочется. Рассказываю об этом, просто чтобы вы знали о существовании такой возможности.
port forwarding
Если вы не создаете свой отдельный сетевой бридж для виртуальных машин, с помощью которого они будут автоматически попадать во внешнюю сеть, вам необходимо будет пробрасывать порты внутрь виртуалок. Я считаю это не очень удобным, поэтому выше и описал способ сразу вывести виртуальную машину во внешнюю сеть. Но если вам по каким-то причинам не хочется это делать и вы остаетесь на дефолтной настройке сети в kvm, то вам придется с помощью iptables делать проброс портов. Это не очень сложно, если вы умеете работать с iptables. Если же нет, то это может стать проблемой.
В рамках данной статьи я тоже не буду рассматривать этот вопрос, так как iptables отдельная большая тема. Просто знайте, что проброс портов в виртуальную машину это обычная настройка iptables. Приведу только один пример, как с помощью iptables пробросить порт ssh для одной из виртуальных машин.
В этом примере я пробросил внешний tcp порт 22122 хоста в виртуальную машину 192.168.122.11, порт 22. В данном случае virbr0 дефолтный бридж, который был автоматически создан при установке kvm на хост.
Основные команды KVM
Для дальнейшей работы с гипервизором kvm нам необходимо познакомиться с основными командами управления.
Просмотр всех виртуальных машин:
Запустить неактивную виртуальную машину:
Выключить vm штатно через возможности ОС:
Мгновенная остановка виртуальной машины. Например, если она зависла.
Информация о дисках vm:
Посмотреть информацию о vm:
Краткая информация о хосте гипервизора kvm:
Информация о файле образа диска vm:
Создание виртуальной машины
Давайте теперь создадим и запустим нашу первую виртуальную машину на гипервизоре kvm. Для этого нам достаточно только консоли системы ubuntu и команды virt-install. Но перед тем, как создать саму машину, сделаем для нее диск в формате qcow2.
Отлично, теперь создаем виртуальную машину для гипервизора kvm:
Я получил предупреждение о том, что слишком мало выделил оперативной памяти для виртуальной машины Ubuntu20.04
WARNING Requested memory 1024 MiB is less than the recommended 2048 MiB for OS ubuntu20.04
На самом деле это не страшно. Для минимальной конфигурации хватит и таких ресурсов. Рассмотрим теперь подробно параметры, которые я указал при создании vm.
noautoconsole | параметр указывает на то, что не надо подключаться к консоли vm. Мы и не сможем это сделать, так как на сервере не установлено графическое окружение |
vcpus, cpu, check-cpu | параметры cpu — количество виртуальных процессоров и их описание. В моем примере один процессор, а описание берется с хоста. |
ram | объем оперативной памяти для новой виртуальной машины |
arch | тип архитектуры |
network | параметры сети. В данном случае подключаем к виртуальной машине созданный ранее сетевой бридж в локальную сеть. |
cdrom | указываем образ диска, с которого будет выполняться установка системы |
disk | путь к диску, который мы создали ранее для виртуальной машины |
graphics | параметры подключения к консоли виртуальной машины. В данном случае подключение будет возможно по vnc с паролем parol. |
os-type, os-variant | тип операционной системы на новосозданной виртуальной машине |
boot | параметры загрузки системы. Сначала грузимся с cd, потом с диска. |
После создания и запуска виртуальной машины, можно подключиться к ее консоли. Для этого надо узнать, к какому порту VNC осуществлять подключение. Запускаем в консоли гипервизора команду:
Вывод :0 означает, что нет отступа от дефолтного порта vnc 5900. Если бы в выводе было :1, значит подключаться нужно было бы к порту 5901. В нашем случае подключаемся через любой vnc клиент к ip адресу гипервизора по порту 5900.
Вводим пароль, который указали при создании VM. Если вы его забыли, то можно подсмотреть в конфигурационном файле виртуальной машины. Он находится тут — /etc/libvirt/qemu/vmserver01.xml .
После подключения к консоли виртуальной машины, увидим традиционный установщик Ubuntu.
Можно продолжать установку непосредственно системы внутри vm. На этом установку новой виртуальной машины в kvm закончим. Рассмотрим дополнительно некоторые важные параметры, касающиеся управления.
Автозапуск виртуальной машины
Для того, что виртуальная машина kvm автоматически запускалась при старте гипервизора, можно явно это указать в самом начале. Во время создания vm надо добавить параметр autostart примерно так:
Если не сделали это сразу, не беда. За автозапуск виртуальных машин в kvm отвечает наличие символьной ссылки на конфигурацию vm в соответствующей директории — /etc/libvirt/qemu/autostart . Так что просто создайте ее.
Либо воспользуйтесь встроенной командой:
После этого виртуальная машина vmserver01 будет автоматически запускаться после перезагрузки хоста kvm.
Удаление виртуальной машины
Теперь рассмотрим ситуацию, когда вам надо удалить виртуальную машину в kvm, используя только консоль. Сделать это не сложно. Для начала посмотрим на список всех виртуальных машин хоста:
Останавливаем виртуальную машину vmserver01:
Это команда для штатного выключения через операционную систему виртуальной машины. Если в ней не установлены средства интеграции с гипервизором, то она не сработает. В этом случае нужно либо через саму виртуальную машину сделать завершение работы, либо остановить ее принудительно в гипервизоре:
Теперь уже виртуальную машину можно удалить:
Эта команда по сути просто удаляет конфигурацию vm из директории /etc/libvirt/qemu . Для полного удаления виртуальной машины вам необходимо отдельно удалить ее диск. Сделайте это вручную сами в зависимости от того, где располагался диск. Если это был обычный qcow2 или raw файл, то удалите его командой rm.
Будьте внимательны с именем файла. Не удалите случайно диск от другой виртуальной машины.
Увеличение размера диска
Для увеличения диска виртуальной машины в kvm достаточно воспользоваться консольной утилитой qemu-img. Если вы не знаете, где располагается диск виртуальной машины, посмотреть можно так:
Далее нам нужно завершить работу виртуальной машины. После этого увеличиваем размер диска:
Увеличил размер диска на 1G. Посмотрим информацию о диске:
В моем примере размер диска vm был изначально 2G, я увеличил его до 3-х.
KVM Agent
Для того, чтобы гипервизор мог получать информацию о виртуальной машине и взаимодействовать с ней, на нее необходимо установить qemu-guest-agent. Он нужен, например, для корректного завершения работы системы командой от гипервизора. Или для создания снепшота диска виртуалки без ее остановки. Для этого в свойствах виртуальной машины его нужно включить.
Сделать это можно отредактировав конфиг виртуальной машины. В него нужно добавить дополнительный channel. Сделаем это.
Добавляем в конфиг:
Прежде чем добавлять, посмотрите, нет ли у вас уже этой секции в конфигурации.
После этого в самой виртуальной машине нужно установить пакет qemu-guest-agent. Обычно он присутствует в стандартных репозиториях всех популярных систем. Для windows нужно отдельно скачать образ диска virtio-win и установить агента оттуда. Скачать образ можно тут, ссылки для windows в конце.
Установка Windows 10 в KVM
Для того, чтобы установить виртуальную машину с Windows 10 в KVM ничего особенного делать не надо. Кладем iso образы системы и virtio драйверов на kvm хост и запускаем виртуальную машину.
Дальше подключаемся по vnc и выполняем установку Windows 10. Узнать порт vnc для подключения можно командой:
В данном случае порт будет 5900. Число после двоеточия добавляется к стандартному порту 5900. Если бы там было :5, то подключаться нужно было бы по порту 5905. Если во время установки в списке дисков будет пусто, необходимо загрузить драйвер с образа virtio-win.iso. Сам драйвер находится в папке E:\viostor\w10\amd64.
После установки Windows 10 на KVM, зайдите в систему и установите драйвера для всего неопознанного оборудования. Драйвер можно поставить автопоиском с диска virtio-win. В самом конце с этого же диска установите Qemu Guest Agent. Он там в отдельной директории лежит в виде приложения.
На этом все, система с Windows 10 готова работать на гипервизоре KVM. Установка немного посложнее, чем в других гипервизорах из-за того, что в стандартном образе виндовс нет драйверов для дисков kvm.
Snapshot виртуальной машины KVM
Отдельно расскажу, как сделать snapshot виртуальной машины в kvm. Для того, чтобы функционал снимков был доступен, ваши диски должны быть в формате qcow2. Именно он поддерживает снэпшоты. Если диски raw, то сделать снимок не получится. Так же необходимо, чтобы в системе был установлен qemu-guest-agent. Если его не будет, то при создании снимка работающей vm получите ошибку:
error: Guest agent is not responding: QEMU guest agent is not connected
Прежде чем делать snapshot, посмотрим на имя диска виртуальной машины:
Отлично, имя диска vda. Теперь делаем его snapshot:
vmserver01 | имя виртуальной машины, для которой делаем снэпшот |
snapshot-name | название самого снепшота, актуально, когда их несколько |
vda | имя диска виртуальной машины |
vmserver01-disk1-snapshot.qcow2 | имя и путь для снепшота |
После этого в директории /mnt/kvm/disk появится файл vmserver01-disk1-snapshot.qcow2 , куда будут писаться все изменения диска. Сам же диск останется в неизменном виде. В этой ситуации его удобно забэкапить. Рассмотрим это позже. Если сейчас посмотреть список дисков виртуальной машины, то в качестве диска там будет указан снэпшот.
Для того, чтобы удалить снепшот и объединить изменения с основным файлом виртуальной машины, используйте команду:
Проверьте список дисков. У вас должен исчезнуть snapshot, а основной диск вернется на прежнее место.
Бэкап виртуальной машины
Бэкап виртуальной машины kvm может быть выполнен по-разному. По своей сути это просто копия диска и экспорт настроек vm. Если вы хотите делать backup без остановки виртуальной машины, то необходимо воспользоваться снепшотом. Как его сделать, я показал выше. После того, как снэпшот сделан, вам достаточно просто скопировать основной диск vm. Сделать это можно любым доступным способом. Например, можно его сразу же сжать и положить в директорию с бэкапами.
Мы сжали диск виртуальной машины с помощью tar и gz и положили его в директорию с бэкапами /mnt/backup/ . Для полноты бэкапа, положим туда же и настройки виртуальной машины.
После того, как сделаете backup виртуальной машины, не забудьте объединить снэпшот с основными диском. Не допускайте роста числа снэпшотов. Это приводит к сильному снижению производительности, а когда снимков станет слишком много, могут быть ошибки работы с диском.
Если у вас есть возможность остановить виртуальную машину для создания архива, то снимки вам не нужны. Просто останавливайте виртуалку и копируйте ее диски. А потом запускайте снова. Можно все эти действия объединить в скрипт. Примерно так:
Это просто набросок. По хорошему, сюда нужно добавлять проверки, отправку отчета на почту и т.д.
Web интерфейс (gui) для KVM
Выше я показал, как управлять виртуальными машинами через консоль. В целом, весь необходимый функционал доступен. Но если вам хочется управлять виртуальными машинами kvm через браузер, то можно поставить простую панель управления для этого. В качестве KVM Web Interface я предлагаю использовать VMDashboard. Это обычное веб приложение, написанное на php. В работе использует базу данных MySQL.
Устанавливаем необходимые компоненты сервера для работы Web Interface.
Для того, чтобы работало подключение к консолям виртуальных машин через web интерфейс, необходимо раскомментировать один параметр в /etc/libvirt/qemu.conf .
Продолжаем настройку web панели для kvm. Добавляем пользователя www-data в группу libvirt:
Переходим в директорию www и загружаем исходники панели:
Распаковываем их и готовим к запуску:
Теперь нам нужно создать mysql базу для веб панели.
Далее нужно перезагрузить kvm сервер:
После перезагрузки идем в web интерфейс по адресу http://10.20.1.40/vmdashboard/ и настраиваем подключение к панели управления виртуальными машинами. Используем данные о созданной ранее базе данных и пользователе.
На этом установка и настройка веб панели управления для kvm закончена. Можно переходить в интерфейс и управлять виртуалками.
Заключение
Постарался всесторонне рассмотреть вопрос установки и настройки гипервизора kvm на ubuntu server. Если забыл что-то важное, напомните в комментариях. Я дополню статью.
2 комментариев к записи « Установка и настройка KVM в Ubuntu »
Отличная статья. Всё получилось. Первый раз KVM разворачиваю. Чего пришлось искать:
1. Пришлось искать дополнительно команду отсоединения cdrom (vm не хотела перегружаться).
2. http://192.168.89.37/vmdashboard/index.php выдает:
Cannot open connection to hypervisor. Please check to make sure that the Qemu service is running.
При этом qemu-kvm.service запущен.
Спасибо за обратную связь. Странно, что vmdashboard не заработал. У меня обычно нет проблем с его настройкой. Ничего особенного настраивать не надо. Сходу все запускается.
Источник