Управление kvm из командной строки
Оригинал: How to use KVM from the command line on Debian or Ubuntu
Автор: Dan Nanni
Дата публикации: 27 февраля 2014 года
Перевод: А. Кривошей
Дата перевода: декабрь 2014 г. Есть несколько способов управлять виртуальными машинами, запущенными в гипервизоре KVM, например с помощью популярного графического фронтенда virt-manager. Однако, если вы хотите использовать KVM на сервере, графические решения вряд ли будут хорошим выбором. В этом случае удобным инструментом будет virsh - утилита командной строки для управления гостевыми виртуальными машинами. Она работает со службой libvirtd, которая может управлять несколькими различными гипервизорами, включая KVM, Xen, QEMU, LXC и OpenVZ. Интерфейс командной строки virsh также полезен в случае, если вы хотите автоматизировать инициализацию и управление виртуальными машинами. Кроме того, способность virsh работать с различными гипервизорами обеспечивает единый интерфейс для управления виртуальными машинами различных типов. В этом руководстве я продемонстрирую вам, как запускать KVM из командной строки с использованием virsh в Debian или Ubuntu.
Решение проблем
1. Я получил ошибку, когда попытался создать виртуальную машину:
Вы получите эту ошибку, если ваш процессор не поддерживает аппаратную виртуализацию (то есть Intel VT или AMD-V), которая требуется для работы KVM. Если же вы получили эту ошибку с процессором, поддерживающим Intel VT или AMD-V, возможные решения этой проблемы:
Во-первых, проверьте, загружены ли требуемые модули ядра.
Если модуль kvm не загружен, вам необходимо загрузить его:
Второе решение - добавление аргумента "--connect qemu:///system" к команде virsh, как показано ниже. Этот аргумент может потребоваться, если вы используете более одного гипервизора (то есть VMware, VirtualBox) на сервере.
2. Я получил ошибку, когда пытался запустить консоль своей виртуальной машины:
Эта ошибка возникает потому, что вы не определили устройство консоли в XML-файле виртуальной машины. Добавьте приведенные ниже строки в раздел "device" XML-файла.
04.03.2020
VyacheslavK
CentOS, KVM, Linux
Комментариев пока нет
В предыдущей статье мы рассмотрели установку гипервизора KVM и создание виртуальной машины. В рамках одной статьи, мы не смогли охватить все нюансы управления виртуальными машинами, а затронули лишь их часть. Сегодня, мы постараемся рассказать все об управлении виртуальными машинами из консоли сервера: как изменить параметры ВМ, добавить дополнительные устройства и рассмотрим основные команды, которые используются для администрирования виртуальных машин KVM.
Управление виртуальной машиной с помощью virsh
Ниже список наиболее часто употребляемых команд virsh. Для создания нового гостевого домена и запуска виртуальной машины:
Для остановки виртуальной машины и уничтожения гостевого домена:
Для выключения виртуальной машины (без уничтожения домена):
Для приостановки виртуальной машины:
Для возобновления работы виртуальной машины:
Для автозапуска виртуальной машины после загрузки хоста:
Для получения информации о домене виртуальной машины:
Вы можете также управлять виртуальными машинами из сессии virsh. Для создания новой сессии virsh и входа в нее, просто введите:
В командной строке вы можете использовать любые команды virsh.
Настройка сети в KVM
Теперь создадим каталоги, в которых будут храниться диски виртуальных машин и iso образы:
Чтобы созданные виртуальные машины имели доступ в интернет, нам нужно настроить сеть через bridge. Для этого потребуется пакет bridge-utils, проверьте установлен ли он в Linux командой:
Если нужно, установите его:
После установки пакетов для KVM, в системе появился сетевой интерфейс virbr0:
Чтобы создать сетевой мост(bridge), нужно настроить файл конфигурации для сетевого интерфейса сервера:
Удалите все содержимое и замените на следующее:
В вашем случае, имя интерфейса может отличаться (смотрите через команду ip a).
После чего создайте файл:
Где укажите свои данные: IP-адрес сервера и основной шлюз. После правки конфигурационных файлов сетевых интерфейсов нужно перезапустить есервис:
Если у вас после рестарта network пропал доступ к серверу, попробуйте перезагрузить его. Иногда это требуется для корректной настройки bridge.
Чтобы проверить состояние bridge, используйте команду:
Последним шагом нужно настроить перенаправление сетевого трафика:
Теперь перезапустите сервис libvirtd:
На этом базовая настройка KVM закончена, можно создать виртуальную машину.
KVM: добавление сетевой карты для виртуальной машины
Попрьуем добавить дополнительный сетевой интерфейс для ВМ. Сначала проверим, какие сетевые интерфейсы созданы на хосте:
У меня на KVM сервере создана одна виртуальная машина, с одним сетевым интерфейсом. К br0 нам нужно прикрепить еще один виртуальный сетевой интерфейс. Выполните команды:
Проверьте, что у ВМ появился дополнительный сетевой интерфейс:
После первого сетевого интерфейса добавьте следующие строки:
Сохраните файл и запустите ВМ. Остальную конфигурацию, KVM добавит сам (mac address и тд).
В данной статье мы затронули основные моменты, которые могут вам понадобиться при управлении виртуальными машинами KVM из консоли Linux сервера. В следующей статье мы рассмотрим управление виртуальными машинами через графический менеджер virt-manager.
Этап 1: проверка аппаратной поддержки виртуализации
В качестве первого этапа проверьте, поддерживает ли ваш процессор аппаратную виртуализацию (то есть Intel VT или AMD-V), которая требуется для KVM. Это можно сделать с помощью команды:
Вывод примерно такой:
Если в выводе нет флага vmx или svm, это значит, что процессор не поддерживает аппаратную виртуализацию, поэтому вы не сможете использовать KVM на этом хосте. После проверки самое время установить KVM.
Этап 3: Настройка сетевого моста
Один из способов получения доступа из виртуальной машины к внешним сетям - мост, встроенный в ваш хост Linux. Это называется сетевой мост. Ниже описано, как создать и настроить сетевой мост Linux br0 для мостового соединения с KVM.
Сначала установим необходимый для создания сетевого моста пакет.
Далее необходимо настроить сетевой мост в файле /etc/network/interfaces, чтобы он активировался при загрузке системы. Для использования файла /etc/network/interfaces необходимо отключить Network Manager (если он у вас используется). Как это сделать, описано здесь .
После отключения Network Manager настраиваем сетевой мост br0 в /etc/network/interfaces, как показано ниже.
Здесь предполагается, что главным сетевым интерфейсом, который имеет доступ к внешним сетям, является eth0. Кроме того, предполагается, что eth0 получает IP-адреса посредством DHCP. Обратите внимание, что в /etc/network/interface нет настроек для eth0, так как он подключается к сетевому мосту br0.
Перезагрузите сетевые службы и убедитесь, что сетевой мост настроен успешно. В этом случае br0 должен присвоить сетевой адрес интерфейса eth0, в свою очередь интерфейсу eth0 не должно быть присвоено сетевого адреса.
Этап 5: запуск виртуальной машины из командной строки.
Перед запуском виртуальной машины необходимо создать образ диска для нее. Для этого можно воспользоваться командой qemu-img, входящей в пакет qemu-kvm.
Преимущество опции qcow2 в том, что создаваемый при ее использовании образ диска не резервирует сразу весь свой свой объем (5 Гб), а динамически увеличивается при наполнении в процессе работы виртуальной машины.
Если необходимо сделать сразу жестко заданный размер то команда будет такой:
Теперь вы готовы к запуску виртуальной машины с использованием созданного ранее доменного XML-файла. Это делается с помощью приведенной ниже команды:
Проверьте, что домен создан успешно.
Кроме того, проверьте, что виртуальный сетевой интерфейс для виртуальной машины (то есть vnet0) успешно добавлен в созданный ранее сетевой мост br0.
Этап 1: проверка аппаратной поддержки виртуализации
В качестве первого этапа проверьте, поддерживает ли ваш процессор аппаратную виртуализацию (то есть Intel VT или AMD-V), которая требуется для KVM. Это можно сделать с помощью команды:
Если в выводе нет флага vmx или svm, это значит, что процессор не поддерживает аппаратную виртуализацию, поэтому вы не сможете использовать KVM на этом хосте. После проверки самое время установить KVM.
Типовые проблемы с Virt-Manager
Во время изучения интерфейса virt-manager, я столкнулся с несколькими ошибками и решил описать их в статье. Первая ошибка, с которой я столкнулся, вышла на стадии создания новой виртуальной машины:
Система ругается на отсутствие файла, который скорее всего должен быть создан при установке KVM на сервер, но в моем случае он отсутствовал. Решился вопрос, созданием файла:
После этого нужно перезапустить сервис libvirtd:
Следующая ошибка ожидала меня сразу же на следующем шаге установки:
Чтобы решить эту проблему и возможно последующие другие, нужно установить пакет qemu-kvm-tools:
После выполненных действий, виртуальная машина создалась без ошибок, и я смог выполнить установку гостевой операционной системы на ней.
Управлять KVM через virt-manager очень удобно. Вы значительно сократите время на выполнение рядовых операций с виртуальными машинами, а также сможете подключиться к ним из Windows.
14.02.2020
VyacheslavK
CentOS, KVM, Linux, Виртуализация
Комментариев пока нет
В данной статье мы рассмотрим установку и базовую настройку гипервизора KVM на сервере под управлением Linux CentOS. Покажем, как создать виртуальную машину в KVM, изменить ее настройки, установить гостевую операционную систему и основные команды управления ВМ.
KVM (Kernel-based Virtual Machine) средство виртуализации в среде Linux, которое использует аппаратную виртуализацию на базе Intel VT или AMD SVM. С помощью KVM вы можете создавать изолированные виртуальные машины с собственным виртуальным аппаратным обеспечением: сетевыми картами, дисками, видеокартами и другими устройствами. На виртуальные машины можно уставить любую ОС (не только Linux).
Добавление памяти и vCPU виртуальной машине KVM
В консоли KVM вы можете добавить или уменьшить ресурсы процессора и памяти, выделенные для ВМ двумя способами:
Если виртуальная машина запущена, ее нужно остановить:
Теперь с помощью virsh изменим количество виртуальных процессоров до 6 (vCPU):
— количество ядер процессора
Но при применении этой команды, у меня сразу же появилась ошибка:
Мы не можем установить количество ядер процессора, больше, чем максимальное количество. Чтобы увеличить максимальное количество ядер ВМ, выполните команду:
Повторите первую команду и запустите виртуальную машину:
Проверим количество процессоров в настройках ВМ: овленное количество процессоров:
Аналогичным образом добавим память виртуальной машине:
Все по той же причине, сразу же вышла ошибка:
Увеличим максимальное значение памяти::
Теперь можно увеличить память ВМ.
Перед всеми изменениями не забывайте останавливать ВМ, а после запускать ее.
Также вы можете изменить ресурсы ВМ KVM через ее конфигурационный XML файл. Можно изменить файл в режиме онлайн или же сделав бэкап XML файла ВМ, изменить его и применить к виртуальной машине.
Отредактируем XML файл ВМ в онлайн режиме:
В открывшемся редакторе vi внесите изменения, нажав кнопку “Insert”.
Например, зададим для ВМ 2 ядра и 1Гб памяти:
Сохраните изменения в файле и перезапустите ВМ:
Проверьте настройки ВМ:
Тоже самое можно сделать, сделав бэкап XML файла:
Измените нужные вам параметры, сохраните файл и примените к виртуальной машине:
Иногда при изменении конфигурационного файла ВМ в онлайн режиме назначенные ресурсы сбрасываются после перезагрузки. В этом случае выполните остановку виртуальной машины и после этого просто запустите ее.
Использование Virt-Manager для управления виртуальными машинами KVM
Щелкнув ПКМ по виртуальной машине, вы можете выключить, перезагрузить, включить ВМ.
Далее я хочу изменить директорию для хранения файлов виртуальных машин, так как основное место на диске при установке операционной системы на сервере с KVM, я отдал под директорию VZ. Чтобы поменять стандартную директорию, перейдите в меню “Edit -> Connection Details”.
В открывшемся окне, нужно перейти во вкладку “Storage”. Для создания нового пула, нужно остановить работу текущего и после чего удалить его:
После установки пула, кнопка удаления станет активна:
Теперь можно создать пул в нужной вам директории или разделе:
После этого, у меня стал активным мой основной раздел для файлов ВМ:
Либо просто удалить первоначальную директорию и создал симлинк на нужный раздел:
Теперь можно попробовать создать новую виртуальную машину KVM. Ниже я прикреплю ряд скриншотов, на которых по шагам будет все более-менее понятно. В конце опишу весь процесс создания машины.
- При нажатии кнопки на первом скриншоте, запускается процесс создания новой виртуальной машины KVM;
- Затем указываем, откуда запускать установку ОС на виртуальной машине. Я использовал локальный ISO образ с дистрибутивом CentOS 8;
- Далее настраиваются ресурсы виртуальной машины: количество памяти и vCPU, размер виртуального диска (при необходимости его можно будет расширить или уменьшить), имя, и указываем сеть;
- После создания ВМ к ней сразу будет примонтирован установочный образ ОС, который указали при создании.
Чтобы изменить ресурсы или какие-то параметры уже созданной машины, вам нужно выделить ее и нажать кнопку “Open”. В открывшемся меню нажмите на лампочку и у вас откроется список параметров виртуальной машины KVM.
Чтобы добавить новый сервер KVM, выполните следующее “File -> Add Connection” и заполните данные в открывшемся окне:
Red Hat Linux изменила статус virt-manager в RHEL 8 на deprecated, и возможно в следующих релизах OC этот пакет будет недоступен. Вместо него предлагается использовать веб интерфейс Cockpit. Однако на данный момент в модуле управления KVM в Cockpit пока нет хватает всех необходимых функций, доступных в virt-manager.
Этап 4: создание виртуальной машины из командной строки
В KVM настройки виртуальной машины хранятся в XML-файле домена. Поэтому сначала необходимо подготовить этот файл.
Ниже пример простого XML-файла для виртуальной машины. Вы можете использовать его, откорректировав в соответствии со своими потребностями.
Этот XML-файл определяет следующую виртуальную машину:
1 Гб оперативной памяти, один CPU и один жесткий диск.
Образ диска: /home/dev/images/alice.img.
Загрузка с CD: (/home/dev/iso/ubuntu-13.10-server-amd64.iso).
Сеть: сетевой мост br0.
Строка UUID между тегами может быть сгенерирована случайным образом. Для этого используется утилита командной строки uuid.
Доменный XML-файл можно также создать, сделав дамп информации о домене существующей виртуальной машины:
Установка Virt-Manager в Linux
Прежде всего нужно установить необходимые пакеты из базового репозитория на сервере с KVM (в нашем примере сервер KVM установлен на Linux CentOS). Выполните следующую команду yum (или dnf):
Чтобы удаленно подключаться к virt-manager с Windows-компьютера, нужно дополнительно настроить SSH. Откройте файл sshd_config:
Включите следующие параметры:
Перезапустите сервис sshd:
Содержание
Этап 5: запуск виртуальной машины из командной строки.
Перед запуском виртуальной машины необходимо создать образ диска для нее. Для этого можно воспользоваться командой qemu-img, входящей в пакет qemu-kvm.
Преимущество опции qcow2 в том, что создаваемый при ее использовании образ диска не резервирует сразу весь свой свой объем (5 Гб), а динамически увеличивается при наполнении в процессе работы виртуальной машины.
Теперь вы готовы к запуску виртуальной машины с использованием созданного ранее доменного XML-файла. Это делается с помощью приведенной ниже команды:
Проверьте, что домен создан успешно.
Кроме того, проверьте, что виртуальный сетевой интерфейс для виртуальной машины (то есть vnet0) успешно добавлен в созданный ранее сетевой мост br0.
Этап 2: Установка KVM
Установите KVM и соответствующие пользовательские утилиты с помощью apt-get:
Во время инсталляции будет создана группа libvirtd, и ваш userID будет автоматически добавлен в группу. Это позволит вам управлять виртуальными машинами от имени обычного пользователя. Вы можете проверить это с помощью команды id, которая выводит ваш group ID.
Если по каким-либо причинам в списке вашего groupID нет libvirtd, вы можете вручную добавить себя в эту группу.
Перезагрузите обновленную информацию о группе, как показано ниже. Когда появится запрос, введите свой пользовательский пароль.
Этап 2: Установка KVM
Установите KVM и соответствующие пользовательские утилиты с помощью apt-get:
Во время инсталляции будет создана группа libvirtd, и ваш userID будет автоматически добавлен в группу. Это позволит вам управлять виртуальными машинами от имени обычного пользователя. Вы можете проверить это с помощью команды id, которая выводит ваш group ID.
Если по каким-либо причинам в списке вашего groupID нет libvirtd, вы можете вручную добавить себя в эту группу.
Перезагрузите обновленную информацию о группе, как показано ниже. Когда появится запрос, введите свой пользовательский пароль.
Решение проблем
1. Я получил ошибку, когда попытался создать виртуальную машину:
Вы получите эту ошибку, если ваш процессор не поддерживает аппаратную виртуализацию (то есть Intel VT или AMD-V), которая требуется для работы KVM. Если же вы получили эту ошибку с процессором, поддерживающим Intel VT или AMD-V, возможные решения этой проблемы: Во-первых, проверьте, загружены ли требуемые модули ядра.
Если модуль kvm не загружен, вам необходимо загрузить его:
Второе решение - добавление аргумента "--connect qemu:///system" к команде virsh, как показано ниже. Этот аргумент может потребоваться, если вы используете более одного гипервизора (то есть VMware, VirtualBox) на сервере.
2. Я получил ошибку, когда пытался запустить консоль своей виртуальной машины:
Эта ошибка возникает потому, что вы не определили устройство консоли в XML-файле виртуальной машины. Добавьте приведенные ниже строки в раздел "device" XML-файла.
25.05.2020
VyacheslavK
CentOS, KVM, Linux
комментариев 7
Virt-Manager – графическая консоль для управления виртуальными машинами KVM от компании Red Hat. С помощью Virt-Manager можно, создавать, редактировать, запускать и останавливать виртуальные машины на гипервизоре KVM. Можно выполнять настройку параметров виртуальных машин, что значительно упрощает работу по сравнению с управлением KVM из интерфейса командной строки.
В статье мы рассмотрим установку Virt-Manager на сервер с KVM, типовые задачи управления виртуальными машинами в графической консоли и покажем, как использовать virt-manager из Windows-клиента.
Этап 4: создание виртуальной машины из командной строки
В KVM настройки виртуальной машины хранятся в XML-файле домена. Поэтому сначала необходимо подготовить этот файл.
Если нет необходимого вам файла конфигурации, то его можно создать командой:
Ниже пример простого XML-файла для виртуальной машины. Вы можете использовать его, откорректировав в соответствии со своими потребностями.
Этот XML-файл определяет следующую виртуальную машину: 1 Гб оперативной памяти, один CPU и один жесткий диск.
Образ диска: /home/dev/images/alice.img.
Загрузка с CD: (/home/dev/iso/ubuntu-13.10-server-amd64.iso).
Сеть: сетевой мост br0.
Строка UUID между тегами может быть сгенерирована случайным образом.
Для этого используется утилита командной строки uuid.
Пример xml файла для Windows 2008
Доменный XML-файл можно также создать, сделав дамп информации о домене существующей виртуальной машины:
Этап 6. Удаленный доступ к виртуальной машине.
Для удаленного доступа к консоли виртуальной машины вы можете использовать любой VNC-клиент.
Сначала определите номер порта VNC для виртуальной машины:
В этом примере номер порта для виртуальной машины alice 5900.
Затем запустите VNC-клиент и подключитесь к VNC-серверу, работающему по адресу KVM-host-IP:5900.
Этап 3: Настройка сетевого моста
Один из способов получения доступа из виртуальной машины к внешним сетям - мост, встроенный в ваш хост Linux. Это называется сетевой мост. Ниже описано, как создать и настроить сетевой мост Linux br0 для мостового соединения с KVM. Сначала установим необходимый для создания сетевого моста пакет.
Далее необходимо настроить сетевой мост в файле /etc/network/interfaces, чтобы он активировался при загрузке системы.
Для использования файла /etc/network/interfaces необходимо отключить Network Manager (если он у вас используется).
Как это сделать, описано здесь.
После отключения Network Manager настраиваем сетевой мост br0 в /etc/network/interfaces, как показано ниже.
Здесь предполагается, что главным сетевым интерфейсом, который имеет доступ к внешним сетям, является eth0. Кроме того, предполагается, что eth0 получает IP-адреса посредством DHCP. Обратите внимание, что в /etc/network/interface нет настроек для eth0, так как он подключается к сетевому мосту br0. Перезагрузите сетевые службы и убедитесь, что сетевой мост настроен успешно. В этом случае br0 должен присвоить сетевой адрес интерфейса eth0, в свою очередь интерфейсу eth0 не должно быть присвоено сетевого адреса.
Установка KVM в CentOS
При настройке KVM на сервере, нужно начать с проверки вашего процессора. Нужно узнать, поддерживает ли аппаратную виртуализацию CPU, установленный на вашем сервере. Из консоли сервера, выполните команду:
Если ваш процессор поддерживает технологию VT-x, у вас должен быть примерно такой вывод:
Если же команда ничего не выдала, но ваш процессор точно поддерживает виртуализацию, проверьте, вохможно данная опция отключена в BIOS сервера. Ищите параметры “Intel Virtualization Technology” или “SVM MODE”.
На моем сервере поддержка данной технологии включена, поэтому можно приступать к установке необходимых компонентов в CentOS через пакетный менеджер yum/dnf:
-
qemu-kvm – сам гипервизор KVM;
На сервер будет установлено большое количество пакетов, следите, чтобы у вас не возникло ошибок в процессе установки.
Теперь нужно добавить сервис libvirtd в автозагрузку и запустить его:
Проверьте, загрузились ли модули ядра kvm_intel и kvm:
Если у вас ничего не выводится, перезагрузите сервер и проверьте повторно.
Подключение к ВМ на KVM через VNC, установка ОС
Чтобы подключиться к виртуальной машине через VNC, нам нужно узнать порт, на котором она работает:
0 означает, что порт для подключения по VNC 5900, если у вас будет другой результат, просто прибавляйте к 5900 цифру, которую выдаст вам команда.
Для подключения по VNC к серверам, я использую утилиту TightVNC. Запустите ее и укажите IP-адрес сервера и VNC порт, который мы узнали ранее (через двойное двоеточие).
Нажмите “Connect”, в открывшемся окне укажите пароль, который задали при создании ВМ. Если все сделали верно, у вас откроется консоль сервера, на которой запущена установка CentOS (или другой ОС, образ которой вы смонтировали).
Если у вас на сервере установлен файервол, откройте сетевые порты для VNC 5900-5910 в firewalld/iptables, этого количества должно хватить. После установки гостевой ОС на виртуальную машину, запустите ВМ с консоли сервера:
Чтобы выключить виртуальную машину KVM, используйте команду:
Подробнее об управлении виртуальными машинами KVM из консоли сервера с помощью virsh, добавление памяти, CPU, дисков и сетевых интерфейсов.
Если вы предпочитаете графической управление, можете испольховат графическую консоль KVM — virt-manager.
На этом базовая настройка сервера для KVM и создание виртуальной машины окончено. На KVM можно создать неограниченное количество виртуальных машин, все зависит от ресурсов вашего сервера и ваших потребностей.
Предыдущая статья Следующая статья
Установка и настройка GLPI и FusionInventory, инвентаризация ИТ инфраструктуры
Оригинал: How to use KVM from the command line on Debian or Ubuntu
Автор: Dan Nanni
Дата публикации: 27 февраля 2014 года
Перевод: А. Кривошей
Дата перевода: декабрь 2014 г.
Есть несколько способов управлять виртуальными машинами, запущенными в гипервизоре KVM, например с помощью популярного графического фронтенда virt-manager. Однако, если вы хотите использовать KVM на сервере, графические решения вряд ли будут хорошим выбором. В этом случае удобным инструментом будет virsh - утилита командной строки для управления гостевыми виртуальными машинами. Она работает со службой libvirtd, которая может управлять несколькими различными гипервизорами, включая KVM, Xen, QEMU, LXC и OpenVZ.
Интерфейс командной строки virsh также полезен в случае, если вы хотите автоматизировать инициализацию и управление виртуальными машинами. Кроме того, способность virsh работать с различными гипервизорами обеспечивает единый интерфейс для управления виртуальными машинами различных типов.
В этом руководстве я продемонстрирую вам, как запускать KVM из командной строки с использованием virsh в Debian или Ubuntu.
Virsh: команды управления виртуальной машиной KVM
Первый вопрос, который возникает у начинающего администратора KVM: как увидеть созданные виртуальные машины, как остановить, запустить и удалить их. Для управления ВМ в KVM из консоли можно использовать утилиту virsh (использует libvirt API). С помощью утилиты virsh можно выполнить практически все операции с виртуальными машинами KVM.
Как видно из скриншота, в первом случае отключенная ВМ не была отображена.
Еще несколько команд по получению различной информации о виртуальной машине:
Управление KVM через virt-manager из Windows
Для удалённого подключения к virt-manager с Windows компьютера, вам понадобится следующее ПО:
- Putty – ssh клиент
- Xming – порт сервера для ОС Windows.
Откройте Putty, перейдите в Connection—>SSH—X11. Включите опцию “Enable X11 Forwarding“.
Теперь на вкладке Session, укажите адрес KVM сервера, имя сессии, укажите порт и сохраните подключение.
Чтобы из Windows удаленно подключаться к KVM серверу через virt-manager, используется следующий порядок:
- Сначала запускаете Xming;
- Запускаете сохраненную сессию Putty с опцией X11 Forwarding;
- Подключаетесь к virt-manager.
После включения Xming у вас в трее должен светиться значок X:
Далее запустите Putty, и после авторизации на сервере, выполните:
Через несколько секунд у вас должно открыться окно управления virt-manager и окно дополнительной авторизации, где нужно ввести данные для подключения к серверу:
После авторизации вы должны увидеть список виртуальных машин.
KVM: создание виртуальной машины
Перед созданием виртуальной машины, я скачал образ CentOS 8 с официального зеркала в директорию /vz/iso:
Чтобы создать новую виртуалную машину KVM, выполните:
virt-install -n test-centos \
--noautoconsole \
--network=bridge:br0 \
--ram 2048 --arch=x86_64 \
--vcpus=4 --cpu host --check-cpu \
--disk path=/vz/disk/test-centos.img,size=32 \
--cdrom /vz/iso/CentOS-8.1.1911-x86_64-dvd1.iso \
--graphics vnc,listen=IP,password=123456789 \
--os-type linux --os-variant=rhel7 --boot cdrom,hd,menu=on
- test-centos — имя ВМ;
- noautoconsole – после создания не нужно подключаться к консоли виртуальной машины автоматически;
- network – тип сети(в нашем случае bridge);
- ram — количество оперативной памяти в ВМ;
- vcpus – количество ядер процессора (настройка vCPU в KVM);
- disk – виртуальный диск, path – путь до диска. size – объем (в дальнейшем его можно расширить/уменьшить);
- сdrom – виртуальный cdrom, в который монтируется iso образ для установки гостевой ОС;
- graphics — параметры подключения к машине с помощью графической консоли. Мы подключаемся через VNC, поэтому в listen указывает IP сервера, где создали ВМ и пароль для подключения в консоли виртуальной машины (password).
Чтобы ВМ загружалась автоматически, выполните:
KVM: добавление диска в виртуальную машину
В одной из наших статей, мы описывали процесс расширения и уменьшения дисков виртуальных машин в KVM. Но мы не описывали вариант по добавлению дополнительного диска.
Сначала нужно создать дополнительный файл диска для виртуальной машины:
Вместо qcow2 вы можете указать нужный формат диска, так же нужно указать путь до файла. У меня хранилище для дисков /vz/disk/.
После этого, можно добавить устройство виртуального диска к самой ВМ:
Остановите и запустите ВМ, проверьте что получилось:
Как видим, диск добавлен. После данных манипуляций, на виртуальной машине нужно разметить этот диск под ваши нужды.
Управление виртуальной машиной с помощью virsh
Ниже список наиболее часто употребляемых команд virsh.
Для создания нового гостевого домена и запуска виртуальной машины:
Для остановки виртуальной машины и уничтожения гостевого домена:
Для выключения виртуальной машины (без уничтожения домена):
Для приостановки виртуальной машины:
Для возобновления работы виртуальной машины:
Для автозапуска виртуальной машины после загрузки хоста:
Для получения информации о домене виртуальной машины:
Вы можете также управлять виртуальными машинами из сессии virsh. Для создания новой сессии virsh и входа в нее, просто введите:
В командной строке вы можете использовать любые команды virsh.
Этап 6. Удаленный доступ к виртуальной машине.
Для удаленного доступа к консоли виртуальной машины вы можете использовать любой VNC-клиент.
Сначала определите номер порта VNC для виртуальной машины:
В этом примере номер порта для виртуальной машины alice 5900.
Затем запустите VNC-клиент и подключитесь к VNC-серверу, работающему по адресу KVM-host-IP:5900.
Читайте также: