В своей прошлой статье мы уже рассказали Вам о том, как установить KVM в Ubuntu. Однако уметь устанавливать эффективный инструмент — это только половина дела. Поэтому сегодня мы расскажем о том, как настроить создание и управление виртуальными машинами KVM. Эти знания помогут научиться решать полный цикл задач, связанных с использованием аппаратной виртуализации. И, соответственно, превратят Вас в по-настоящему востребованного специалиста в сфере IT.
Содержание:
- Какие инструменты помогают наладить управление виртуальными машинами KVM
- Настраиваем управление виртуальными машинами KVM с помощью Cockpit
- Что такое Cockpit
- Устанавливаем Cockpit и плагин для работы с виртуальными машинами
- Открываем панель управления Cockpit
- Получаем доступ к управлению виртуальными машинами KVM в панели управления Cockpit
- Проверяем настройки виртуальной машины с помощью Cockpit
- Управляем виртуальной машиной с помощью Cockpit
- Настраиваем управление виртуальными машинами KVM с помощью Virtual Machine Manager
- Что такое Virtual Machine Manager
- Устанавливаем Virtual Machine Manager
- Запускаем Virtual Machine Manager
- Подключаемся к виртуальной машине на базе KVM в Virtual Machine Manager
- Соглашаемся на подключение с помощью ssh-askpass
- Проверяем настройки виртуальной машины с помощью Virtual Machine Manager
- Смотрим тип и версию операционной системы в Virtual Machine Manager
- Проверяем количество виртуальных ЦП, параметры ОЗУ и объем дискового пространства у виртуальной машины
- Изучаем настройки оптического привода и удаленного доступа, добавляем новое оборудование
- Учимся делать моментальные снимки виртуальной машины (snapshots) в Virtual Machine Manager
- Создаем новую виртуальную машину в Virtual Machine Manager
- Задаем гипервизор и источник ОС для виртуальной машины в Virtual Machine Manager
- Выбираем носитель и тип устанавливаемой операционной системы
- Задаем объем ОЗУ и количество ЦП для новой виртуальной машины
- Настраиваем параметры виртуального дискового накопителя
- Завершаем настройку новой виртуальной машины в Virtual Machine Manager
- Выводы
Какие инструменты помогают наладить управление виртуальными машинами KVM
Начнем с того, что опытные пользователи могут с легкостью управлять виртуальными машинами KVM через командную строку. В частности — используя специальную программу virsh.
Virsh — это специализированная утилита командной строки GNU / Linux, использующая API libvirt. С ее помощью Вы можете контролировать и настраивать работу виртуальной машины и гипервизоров KVM / Xen.
Работа с virsh требует знания возможностей утилиты и понимания ее опций. Тем не менее всегда можно получить полный список доступных субкоманд в файле руководства MAN. Также получить справку можно, введя в командную строку команду virsh help
:
Еще одна сложность в использовании утилиты virsh — это редактирование параметров виртуальных машин через файл формата .xml. Безусловно, такой способ позволяет выполнять более тонкую настройку работы системы. Однако вместе с тем существенно повышает порог вхождения для новичков. К счастью, есть более удобные инструменты, разобраться с которыми можно даже без опыта в секторе IT:
- Cockpit;
- Virtual Machine Manager.
И сегодня мы покажем Вам, как использовать их для решения рабочих задач.
Читайте также: 15 советов по использованию команды curl в Linux.
Настраиваем управление виртуальными машинами KVM с помощью Cockpit
Для начала давайте посмотрим, как настроить управление виртуальными машинами KVM с помощью Cockpit.
Что такое Cockpit
Cockpit — это инструмент для администрирования нескольких операционных систем GNU / Linux через удобный веб-интерфейс. Утилита создана для управления серверами, однако с ее помощью очень удобно реализуется управление виртуальными машинами KVM. Cockpit. помимо основного функционала, предлагает широкий выбор различных плагинов. Благодаря чему инструмент можно гибко настраивать в соответствии с Вашими потребностями.
Устанавливаем Cockpit и плагин для работы с виртуальными машинами
Прежде всего нужно установить саму утилиту Cockpit и соответствующее расширение для работы с виртуальными машинами. Чтобы сделать это — введите в командную строку команду sudo apt install cockpit-machine
:
После введения команды менеджер пакетов затребует подтверждения установки — просто введите y
(«Да») и нажмите клавишу Enter. Вам останется лишь дождаться завершения процесса загрузки и установки всех необходимых пакетов с зависимостями.
Открываем панель управления Cockpit
Теперь давайте откроем панель управления Cockpit. Для этого вводим в адресную строку веб-браузера адрес kvm.hhbb.me:9090
:
Важно: у Вас будет другой URL для подключения к Cockpit — он будет состоять из IP-адреса сервера, на котором установлена утилита, и порта 9090.
Далее Вы увидите окно авторизации в панели управления Cockpit. Чтобы войти — вводим логин и пароль учетной записи от той системы, на которой установлена нужная Вам виртуальная машина.
Важно: выполнения ряда операций по администрированию виртуальной машины потребует прав суперпользователя — потому можно сразу авторизоваться как пользователь root.
Также с помощью вкладки «Другие параметры» Вы можете сделать доступным поле «Подключиться к». С его помощью при необходимости можно получить доступ к управлению другими серверами, а не только к тому, на котором непосредственно установлен Cockpit.
Читайте также: Как установить Cockpit Web Console в CentOS 8.
Получаем доступ к управлению виртуальными машинами KVM в панели управления Cockpit
Поскольку при установке Cockpit Вы дополнительно выбрали установку плагина cockpit-machine, в меню панели управления присутствует вкладка Virtual Machines. В прошлой нашей статье на тему аппаратной виртуализации в GNU / Linux мы не только установили KVM, но и вместе создали пробную виртуальную машину для хостинга. Потому в списке отображается система под названием vm-hosting (а также отображаются ее статус соединения и состояние).
Кликаем по названию vm-hosting, чтобы перейти на страницу управления виртуальной машиной.
Проверяем настройки виртуальной машины с помощью Cockpit
На странице управления видим командную строку операционной системы Ubuntu 22.04 LTS (кнопка «Расширить» позволяет развернуть консоль для более удобного использования). Кроме того, здесь же для настройки Вам доступны различные важные параметры.
Смотрим объем ОЗУ и количество виртуальных ЦП у виртуальной машины
Прежде всего отображается параметр «Память» — выделенный объем ОЗУ (в нашем случае это 8 GiB). Чуть ниже отображается параметр «Виртуальный ЦП» — количество виртуальных процессоров и их архитектура, количество ядер и число потоков на одно ядро (в нашем случае — 4 ЦП по 1 ядру и по 1 потоку на ядро).
Проверяем настройки виртуальных дисковых накопителей виртуальной машины
Следующий важный раздел — это «Диски», который включает объем, параметры и место расположения виртуальных дисковых накопителей (у нас — 13 GiB и 22 GiB).
Проверяем настройки сетевых интерфейсов виртуальной машины
В разделе «Сетевые интерфейсы» (Network Interfaces) находятся доступные сетевые интерфейсы и их основные параметры.
Учимся делать моментальные снимки виртуальной машины (snapshots) в Cockpit
В панели управления Cockpit предусмотрена возможность делать снимки системы — snapshots.
Snapshots — это копии виртуальной машины, в которых сохранены текущее состояние системы, запущенные процессы и службы, работающие приложения. В результате Вы всегда можете развернуть виртуальную машину именно в том состоянии, которое нужно для работы. Функция сохранения и загрузки снимков системы полезна для решения следующих задач:
- клонирование полностью настроенной операционной системы — как на новых аппаратных платформах, так и для использования параллельно оригиналу;
- возврат к работоспособному состоянию после проверки тестовых параметров или внезапного сбоя системы (по сути — разновидность бэкапа);
- создание готовой тестовой среды для обучения специалистов, проверки программного обеспечения и т. п.
Чтобы создать новый snapshot — нажимаем кнопку «Создание моментального снимка» и указываем во всплывающем окне его название (по умолчанию — название виртуальной машины с датой и временем создания снимка) с кратким описанием. После чего нажимаем кнопку «Создать».
Важно: с помощью скриптов оболочки bash можно автоматизировать процессы создания и загрузки моментальных снимков системы.
Управляем виртуальной машиной с помощью Cockpit
Помимо настроек Вам понадобятся функции управления виртуальной машиной в Cockpit. В верхней части страницы управления справа от названия виртуальной машины находим кнопку «Завершение работы». Справа от нее Вы найдете кнопку, вызывающую выпадающее меню с расширенными опциями управления системой:
- «Приостановить»;
- «Принудительное завершение работы»;
- «Отправить немаскируемое прерывание»;
- «Перезагрузка»;
- «Принудительная перезагрузка»;
- Migrate («Миграция»);
- «Удалить».
Читайте также: Cockpit — мощный инструмент для мониторинга и администрирования виртуальных серверов Linux через веб-браузер.
Настраиваем управление виртуальными машинами KVM с помощью Virtual Machine Manager
Теперь давайте перейдем ко второй части статьи и попробуем реализовать управление виртуальными машинами KVM с помощью еще одного инструмента — Virtual Machine Manager. Она имеет схожий функционал с Cockpit.
Что такое Virtual Machine Manager
Virtual Machine Manager — это утилита для управления виртуальными машинами на основе GNU / Linux, созданная компанией Red Hat. Она позволяет управлять как локальными, так и удаленными виртуальными машинами KVM. Virtual Machine Manager представляет собой программное обеспечение для Linux, тогда как веб-интерфейс Cockpit будет доступен Вам через браузер в любой операционной системе. Кроме того, Virtual Machine Manager распространяется под лицензией GNU GPL V3 и написана на языке программирования Python.
Устанавливаем Virtual Machine Manager
Сперва нужно установить Virtual Machine Manager в свою операционную систему. Для этого вводим в командную строку команду sudo apt update && apt install virt-manager ssh-askpass
:
В данном случае мы объединяем с помощью двойного амперсанда (&&
) в одной строчке две команды, которые будут выполняться последовательно:
apt update
— обновляем в Вашей операционной системе базу данных о доступных версиях пакетов программного обеспечения;apt install virt-manager ssh-askpass
— устанавливаем Virtual Machine Manager и ssh-askpass (пакет, необходимый для аутентификации при подключении утилиты к удаленному серверу).
После введения команды менеджер пакетов затребует подтверждения установки — просто введите y
(«Да») и нажмите клавишу Enter. Вам останется лишь дождаться завершения процесса загрузки и установки всех необходимых пакетов с зависимостями.
Читайте также: Полное руководство по команде apt в Linux.
Запускаем Virtual Machine Manager
Теперь Вам нужно запустить Virtual Machine Manager. Для этого вводим в командную строку команду virt-manager
:
После чего у Вас откроется окно Virtual Machine Manager:
Если Вы все сделали правильно — можно приступать к работе.
Подключаемся к виртуальной машине на базе KVM в Virtual Machine Manager
Теперь нам нужно настроить подключение к виртуальной машине. По умолчанию Virtual Machine Manager пытается подключиться к localhost — к локальному гипервизору. Однако в нашем случае виртуальная машина на базе KVM расположена на удаленном сервере. Поэтому сначала нужно к ней подключиться. Для этого нажимаем кнопку File и в выпадающем меню выбираем пункт Add Connection.
После чего во всплывающем окне вводим в поле Username имя пользователя (в нашем случае — root). А в поле Hostname — URL для подключения к виртуальной машине (в нашем случае — kvm.hhbb.me:9090). Также не забываем поставить галочку в чекбоксе напротив опции Connect to remote host over SSH («Подключиться к удаленному хосту с помощью SSH») — именно для этого мы установили пакет ssh-askpass.
Важно: если поставить галочку в чекбоксе напротив опции Autoconnect («Автоматические подключение») — Virtual Machine Manager будет подключаться к виртуальной машине автоматически при запуске приложения.
Далее нажимаем кнопку Connect («Подключиться»).
Соглашаемся на подключение с помощью ssh-askpass
В результате у Вас должно появиться на экране новое всплывающее окно — это запустился пакет ssh-askpass. В данном случае утилита предупреждает Вас, что будут осуществлены обмен RSA-ключами и подключение по SSH. Для подтверждения вводим с клавиатуры слово yes («да») и нажимаем кнопку OK.
Поскольку ранее мы ввели в качестве имени пользователя root — в следующем окне для подтверждения подключения используем пароль учетной записи суперпользователя. После чего снова нажимаем кнопку OK.
Важно: для подключения к виртуальной машине следует вводить логин и пароль учетной записи не от той операционной системы, на которую установлен Virtual Machine Manager, а от той, в которой создана виртуальная машина KVM.
Теперь Virtual Machine Manager должен установить соединение с виртуальной машиной.
Проверяем настройки виртуальной машины с помощью Virtual Machine Manager
В открывшемся окне Вы можете увидеть список доступных для управления через Virtual Machine Manager виртуальных машин. В Вашем случае там присутствует созданная ранее виртуальная машина vm-hosting. Под названием отображается ее текущий статус — Running («Запущена»).
Щелкаем правой кнопкой мыши по названию vm-hosting и в контекстном меню выбираем пункт Open («Открыть»). После чего откроется окно Вашей виртуальной машины с процессом настройки устанавливаемой операционной системы Ubuntu 22.04 LTS.
Важно: в этом окне Вы можете полноценно работать с операционной системой, установленной на Вашу виртуальную машину — использовать рабочий стол, командную строку и любые утилиты.
Теперь давайте посмотрим информацию о Вашей виртуальной машине. Для этого нажимаем на панели инструментов кнопку в форме синего круга с буквой i посредине (чтобы открыть вкладку Information — «Информация»).
Опытные пользователи, знакомые с virsh, могут выполнять настройку виртуальной машины с помощью редактирования файла формата .xml.
Однако эту опцию нужно предварительно включить в настройках при выключенном соединении с виртуальной машиной в Virtual Machine Manager.
Смотрим тип и версию операционной системы в Virtual Machine Manager
На вкладке OS information («Информация об ОС») Вы найдете информацию о версии операционной системы, установленной на Вашу виртуальную машину. Тогда как вкладка Performance («Производительность») содержит графики, отображающие объем использования ресурсов компьютера:
- CPU usage — центрального процессора;
- Memory usage — оперативной памяти;
- Disk I/O — жесткого диска (загрузку и выгрузку);
- Network I/O — сетевого подключения (загрузку и выгрузку).
Проверяем количество виртуальных ЦП, параметры ОЗУ и объем дискового пространства у виртуальной машины
Теперь открываем вкладку CPUs («ЦП»). Как и в Cockpit, в Virtual Machine Manager можно проверить настройки топологии виртуальных процессоров:
- Sockets — количество виртуальных ЦП;
- Cores — число ядер в одном виртуальном ЦП;
- Threads — количество потоков на одном ядре виртуального ЦП.
Следующая вкладка — Memory («Память»). Она отвечает за настройки выделенной для виртуальной машины памяти ОЗУ. В частности, здесь можно увидеть общий объем доступной физической оперативной памяти и задать два параметра:
- Current allocation — текущий объем выделенной оперативной памяти;
- Maximum allocation — максимальный объем выделенной оперативной памяти.
В нашем случае оба параметра имеют одинаковое значение — объем выделенной памяти ОЗУ жестко ограничен и не будет динамически меняться.
Вкладка VirtIO Disc 1 («Виртуальный жесткий диск 1») содержит настройки, касающиеся виртуального дискового накопителя виртуальной машины.
Изучаем настройки оптического привода и удаленного доступа, добавляем новое оборудование
В Virtual Machine Manager Вам доступен широкий спектр других настроек работы виртуальной машины KVM. Например, на вкладке SATA CDROM 1 («Оптический привод SATA 1») можно задать путь до образа в формате .iso с операционной системой.
А на вкладке Display VNC («Система удаленного доступа к компьютеру»), к примеру, можно задать пароль к удаленному доступу для рабочего стола виртуальной машины.
Важно: рекомендуем никогда не оставлять доступ к Display VNC без пароля в Ваших виртуальных машинах, чтобы не стать жертвой атаки со стороны злоумышленников.
С помощью кнопки Add Hardware («Добавить оборудование») можно добавить в виртуальную машину необходимое Вам устройство. Например, токен с электронной цифровой подписью для подписания документов.
Учимся делать моментальные снимки виртуальной машины (snapshots) в Virtual Machine Manager
Как и в панели управления Cockpit, в Virtual Machine Manager разработчиками предусмотрена возможность делать моментальные снимки системы. Для этого нажимаем на панели инструментов кнопку в виде двух мониторов (чтобы открыть вкладку Manage VM snapshots — «Управление моментальными снимками виртуальной машины»).
Далее нужно нажать кнопку «+», после чего в открывшемся окне заполнить следующие поля:
- Name — название моментального снимка виртуальной машины;
- Description — описание моментального снимка виртуальной машины.
Помните, что эти данные помогут отличить нужный Вам snapshot от других, когда их станет слишком много. Чтобы закончить процесс создания моментального снимка — нажимаем кнопку Finish («Завершить»).
После этого в списке появится новый snapshots — Вы сможете в любой момент запустить его как резервную копию необходимого в данный момент состояния виртуальной машины.
Создаем новую виртуальную машину в Virtual Machine Manager
Теперь давайте попробуем создать новую виртуальную машину с помощью Virtual Machine Manager. Нажимаем на панели инструментов кнопку Create a new virtual machine («Создать новую виртуальную машину»).
После этого в окне мастера создания виртуальной машины нужно будет пройти 5 шагов по определению параметров новой виртуальной машины.
Задаем гипервизор и источник ОС для виртуальной машины в Virtual Machine Manager
В качестве первого шага задаем такие настройки — подключение (оставляем гипервизор QEMU / KVM: kvm.hhbb.me:9090) и способ установки операционной системы:
- Local install media (ISO image or CDROM) — установка с локального носителя (образ ISO или оптический привод CDROM);
- Network install (HTTP, HTTPS or FTP) — установка из удаленного источника (с использованием протоколов HTTP, HTTPS либо FTP);
- Import existing disc image — импорт существующего образа диска;
- Manual install — ручная установка (после подключения к виртуальной машине).
Выбираем первый вариант — Local install media (ISO image or CDROM). После чего нажимаем кнопку Forward («Вперед»).
Выбираем носитель и тип устанавливаемой операционной системы
Следующий шаг — выбор носителя и типа устанавливаемой операционной системы. Указываем путь к Вашему образу формата .iso и выбираем в выпадающем списке Ubuntu 22.04 LTS. После чего нажимаем кнопку Forward («Вперед»).
Задаем объем ОЗУ и количество ЦП для новой виртуальной машины
Теперь мастер создания виртуальной машины предлагает Вам указать объем выделенной для нее памяти ОЗУ и количество виртуальных ЦП. Выбираем 4096 MiB и 2 CPUs и нажимаем кнопку Forward («Вперед»).
Настраиваем параметры виртуального дискового накопителя
Виртуальной машине нужно выделить место для эмуляции постоянного запоминающего устройства — виртуального дискового накопителя. Ставим галочку в чекбоксе напротив опции Enable storage for this virtual machine («Включить хранилище для этой виртуальной машины»). И указываем желаемый объем в поле под опцией Create a disc image for the virtual machine («Создать образ диска для виртуальной машины») — например, 25 GiB. После чего нажимаем кнопку Forward («Вперед»).
Завершаем настройку новой виртуальной машины в Virtual Machine Manager
Последний шаг — финальная настройка новой виртуальной машины в Virtual Machine Manager. В поле Name («Название») вводим, к примеру, название vm-wordpress. После чего ставим галочку в чекбоксе напротив опции Customize configuration before install («Настроить до установки ОС») и нажимаем кнопку Finish («Завершить»).
В результате у Вас откроется окно с настройками, возможности которого мы описали ранее.
Выбираем интересующие Вас параметры, после чего нажимаем кнопку Begin installation («Начать установку»).
Откроется окно Вашей виртуальной машины с процессом настройки устанавливаемой операционной системы Ubuntu 22.04 LTS.
Читайте также: Запуск графических приложений (X11) по SSH на удаленном сервере Linux с помощью MobaXterm в Windows.
Выводы
Работа с виртуальными машинами на основе аппаратной виртуализации KVM становится более простым занятием с Cockpit и Virtual Machine Manager. Благодаря этому пошаговому руководству Вы сможете с легкостью установить эти инструменты, а также — научиться использовать их для решения рабочих задач.
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
5 комментариев. Оставить новый
Спасибо за информацию, пригодилась и была интересной. Однако вопрос возник. А как настраивать trunk порт для гипервизора, чтобы можно было несколько сетей по VLAN’ам распределять. Нашел вроде решение — openSwitch, но потонул в море информации. Может будет возможность рассмотреть его в каком-нибудь простом варианте настройки? И в идеале для Proxmox VE 7.1 — он на Debian 11 полноценном + возможность работы в кластере. Или иной вариант для KVM, чтобы можно было в кластере виртуалки разворачивать и через какой-нибудь вэб-интерфейс базовые вещи настраивать. Заранее спасибо.
Вирт манагер лютая…это не гуй, это капкан, да и в принципе у этой связки в минте уефи не работает. В пекло.
А каким образом разместить файл образа машины на смонтированном диске? Стандартно файл создаётся в каталоге /var/lib/libvirt/qemu/file.qcov2 , а если создать каталог на другом диске /media/me/KVM/qemu/ и изменить владелец:группа как на исходном, VMmanage создаёт файл file.qcow2 но установить систему отказывается т.к. с правами что-то не так. А что не так!?
Короче если запустить VMmanage через sudo то он может исправить права доступа к файлу хотя по факту ничего не изменилось !?
Хост, на котором были установлены две ВМ после отключения при загрузке пишет что процессоров больше в 16 раз и загружается в бещрпасном режиме. Как отключить автозапуск жтиз ВМ, чтобы хост система загрузилась нормально?