-
1. libvirt
-
2. virsh
-
3. virt-manager
-
4. virt-viewer
-
5. virt-install
-
6. virt-top
-
7. libguestfs
-
Vinchin защищает ваши ВМ KVM
-
FAQs о KVM-менеджерах
-
Заключение
KVM (Kernel-based Virtual Machine) — одно из самых популярных решений с открытым исходным кодом для виртуализации, доступное на сегодняшний день. Оно позволяет создавать и управлять виртуальными машинами на системах с ядром Linux. Хотя KVM предоставляет базовую инфраструктуру виртуализации, для удобного управления виртуальными машинами пользователям зачастую требуется специализированный инструмент, упрощающий такие задачи, как распределение ресурсов, мониторинг и конфигурация.
Инструменты управления KVM, как правило, оборачивают и расширяют функциональность командной утилиты qemu, предлагая более удобный и эффективный интерфейс по сравнению с нативной командной строкой. Далее мы рассмотрим несколько популярных решений для управления KVM, каждое из которых обладает уникальными функциями, призванными улучшить опыт работы с виртуальной средой на базе KVM.
1. libvirt
Libvirt является наиболее распространенным инструментом и API для управления виртуальными машинами KVM. Несколько часто используемых инструментов для управления виртуальными машинами (например, virsh, virt-install, virt-manager и др.) и облачные вычислительные фреймворки (такие как OpenStack, ZStack, OpenNebula, Eucalyptus и др.) во многом зависят от API libvirt в своей основе. Основная роль libvirt заключается в том, чтобы служить промежуточным адаптирующим слоем между нижележащим гипервизором и приложениями верхнего уровня.
libvirt поддерживает различные решения виртуализации, включая платформенные решения виртуализации, такие как KVM, QEMU, Xen, VMware, VirtualBox и Hyper-V, а также системы виртуализации на основе контейнеров, такие как OpenVZ и LXC, и виртуализацию в режиме пользователя Linux (UML).
Поддержка Libvirt различных гипервизоров реализуется через архитектуру на основе драйверов. Libvirt предоставляет различные драйверы для разных гипервизоров. Будучи промежуточным адаптационным слоем, libvirt полностью делает нижележащие гипервизоры прозрачными для верхних уровней инструментов управления, так как он скрывает детали различных гипервизоров и предоставляет единый, стабильный интерфейс (API) для инструментов управления верхнего уровня. С помощью libvirt некоторые пользовательские инструменты управления могут управлять различными гипервизорами и виртуальными машинами, запущенными на них.
libvirt состоит из трех основных компонентов: библиотеки API, демона (libvirtd) и стандартного командной строки утилиты управления (virsh). Библиотека API обеспечивает управление виртуальными машинами для других инструментов (например, virsh, virt-manager и т.д.). Демон libvirtd отвечает за управление доменами на узлах и должен быть запущен при управлении виртуальными машинами с помощью различных инструментов.
Основное значение и главная цель libvirt — предоставить стабильный и эффективный API для управления виртуальными машинами. Сам API libvirt реализован на языке C и состоит из восьми частей: API, связанные с подключениями к гипервизору, управлением доменами, управлением узлом, управлением сетью, управлением томами хранения данных, управлением пулов хранения, управлением событиями и управлением потоками данных.
2. virsh
virsh — это командная утилита для управления виртуальными машинами и гипервизорами в среде виртуализации, использующая API libvirt для управления виртуализацией. virsh работает полностью в текстовом режиме командной строки и является одним из идеальных инструментов для системных администраторов, чтобы автоматизировать развертывание и управление виртуализацией через скрипты.
При использовании инструмента командной строки virsh для управления виртуализацией существует два режима работы: интерактивный и неконтролируемый. В интерактивном режиме он подключается к соответствующему Гипервизору, выполняет команду и ожидает ответа до тех пор, пока пользователь не выйдет из подключения с помощью команды «quit». В неконтролируемом режиме одна или несколько команд добавляются после URI-подключения в командной строке, и после их выполнения результат выводится в текущее терминальное окно, а подключение автоматически разъединяется.
3. virt-manager
virt-manager — это графический пользовательский интерфейс для управления виртуальными машинами, поддерживаемый в Linux и других UNIX-подобных системах. Проект virt-manager разработан с использованием Python для прикладной части, а для сборки проекта используется GNU AutoTools (включая autoconf, automake и т.д.). virt-manager является полностью свободным программным обеспечением и распространяется под лицензией GNU GPL, широко принятой в сообществе Linux. Он зависит от нескольких библиотек, включая Python (для логики приложения), GTK+PyGTK (для пользовательского интерфейса) и libvirt (для базовых API).
Virt-manager предоставляет широкий набор функций управления виртуализацией в своем графическом интерфейсе, включая:
Управление жизненным циклом виртуальных машин, такое как создание, изменение, запуск, приостановка, возобновление и остановка виртуальных машин, а также функции, такие как виртуальные снимки и прямая миграция.
Реальное мониторинг времени выполнения и использования ресурсов запущенных виртуальных машин, с графическим отображением статистики.
Графическая поддержка для создания гостей, распределения ресурсов, а также настройки и регулировки виртуального оборудования.
Встроенные клиенты VNC и SPICE для подключения к графическим интерфейсам гостевых систем для взаимодействия.
Поддержка локального или удаленного управления виртуальными машинами на гипервизорах KVM, Xen, QEMU, LXC и ESX.
4. virt-viewer
virt-viewer — это инструмент и утилита командной строки для отображения графического интерфейса виртуальной машины. Он использует GTK-VNC или SPICE-GTK для функций отображения и запрашивает информацию о сервере VNC или SPICE гостевой системы через API libvirt. virt-viewer часто используется для замены традиционных просмотровщиков клиентов VNC, которые обычно не поддерживают шифрование SSL/TLS на основе сертификатов x509, в то время как virt-viewer поддерживает.
Гостей, подключенных через virt-viewer, можно однозначно идентифицировать по имени, ID домена или UUID. virt-viewer также поддерживает опцию «-c URI» или «–connection URI» для указания соединения с виртуальной машиной удаленного хоста. При удаленном подключении все равно требуется необходимая аутентификация. Подробные параметры и объяснения для инструмента virt-viewer можно просмотреть с помощью команды «man virt-viewer».
5. virt-install
virt-install — это название команды и программного пакета для инструмента «Virt Install». Командная утилита virt-install предоставляет простой в использовании метод установки виртуальных машин. Она использует API libvirt для создания виртуальных машин на KVM, Xen, LXC и других гипервизорах. Также она предоставляет API для установки виртуальных машин через графический интерфейс virt-manager. virt-install поддерживает текстовый режим последовательной консоли и графические интерфейсы VNC (или SPICE), что позволяет выполнять как текстовую, так и графическую установку виртуальных машин. Медиа для установки, используемое virt-install (например, CD-ROM или ISO-файлы), может храниться локально или на удалённых серверах NFS, HTTP или FTP. virt-install поддерживает как локальные системы гостевых машин, так и может использовать опцию «–connect URI» (или «-c URI») для установки гостевых машин на удалённых хостах.
6. virt-top
virt-top — это инструмент для отображения состояния выполнения и использования ресурсов виртуальных машин. Он похож на часто используемый инструмент «top» в системах Linux, и многие его сочетания клавиш и параметры командной строки схожи с теми, что используются в «top». virt-top также использует API libvirt для получения состояния выполнения и использования ресурсов гостевыми системами, поэтому, если гипервизор поддерживается libvirt, «virt-top» может мониторить состояние гостевых систем на этом гипервизоре.
7. libguestfs
libguestfs — это набор инструментов, используемых для доступа и модификации образов дисков виртуальных машин. Он предоставляет богатый набор функций, таких как доступ и редактирование файлов в гостевых системах, скриптовая модификация информации о госте, мониторинг использования диска и статистики свободного пространства, P2V, V2V, создание гостевых машин, клонирование гостей, резервное копирование содержимого диска, форматирование дисков, изменение размера дисков и многое другое. libguestfs поддерживает большинство основных операционных систем гостей, таких как CentOS, Fedora, Ubuntu и Windows. Помимо поддержки виртуальных машин KVM, он также поддерживает проприетарные виртуальные машины, такие как VMware и Hyper-V. Более того, libguestfs предоставляет библиотеку C, которую можно связать с программами управления, разработанными на C/C++. Он также предоставляет привязки для других языков программирования (например, Python), что позволяет разработчикам легко создавать собственные программы для управления образами дисков виртуальных машин, используя возможности, предоставляемые libguestfs.
Пакет libguestfs-tools предоставляет широкий спектр инструментов, соответствующих различным функциям и сценариям использования, например:
virt-ls: Показывает файлы внутри виртуальной машины.
virt-copy-in: Копирует файлы или каталоги в виртуальную машину.
virt-copy-out: Копирует файлы или каталоги из виртуальной машины.
virt-resize: Изменяет размер образов дисков.
virt-cat: Отображает содержимое файла внутри виртуальной машины.
virt-edit: Редактирует файл внутри виртуальной машины.
virt-df: Отображает использование дискового пространства в файловой системе виртуальной машины.
Vinchin защищает ваши ВМ KVM
Защита данных является критически важной для любого бизнеса. Независимо от выбранного решения, Vinchin Backup & Recovery предоставляет простой способ защиты ваших ключевых данных, хранящихся в виртуальных машинах. Решение полностью совместимо с большинством популярных платформ виртуализации на базе KVM, включая Proxmox, oVirt, Red Hat Virtualization, Oracle Linux Virtualization Manager и Huawei FusionCompute (Native KVM в настоящее время не поддерживается).
С помощью передовых технологий дедупликации и сжатия, она оптимизирует резервное копирование, удаляя избыточные данные при сохранении целостности данных. Поддерживая как полное, так и инкрементное резервное копирование, пользователи могут выбрать наиболее подходящий вариант, чтобы сэкономить время и место на диске. Кроме того, Vinchin обеспечивает автоматическое планирование резервного копирования и гранулярное восстановление (например, восстановление на уровне файла). Благодаря интеграции с облаком и удалёнными хранилищами, Vinchin предоставляет несколько уровней защиты аварийного восстановления, гарантируя, что KVM-среды всегда будут под надежной защитой.
Для резервного копирования ВМ требуется всего 4 шага, здесь мы покажем вам, как сделать резервную копию ВМ Proxmox с помощью Vinchin Backup & Recovery:
1. Выберите объект резервного копирования.
2. Выберите место назначения для резервной копии.
3. Настройте стратегии резервного копирования.
4. Проверьте и отправьте работу.
Vinchin Backup & Recovery уже выбрали тысячи компаний по всему миру. Получите бесплатную 60-дневную пробную версию с полным набором функций и оцените эффективность Vinchin в защите ваших виртуальных машин.
Оставьте заявку с описанием вашей IT-инфраструктуры, и вы получите персонализированное решение, полностью адаптированное под ваши задачи и требования.
FAQs о KVM-менеджерах
1. Что лучше — KVM или VMware?
Всё зависит от ваших задач.
KVM — это открытое решение, гибко интегрируемое с Linux, идеально подходит для настроек с высокой степенью кастомизации и снижения затрат.
VMware, в свою очередь, предлагает более зрелую и функционально насыщенную корпоративную платформу с профессиональной поддержкой, расширенными инструментами управления и развитой экосистемой.
Если вы управляете большой корпоративной инфраструктурой, где важны высокая доступность и централизованное управление, VMware может быть более подходящим вариантом.
KVM же отлично подойдёт для небольших развертываний или ситуаций, где критична гибкость и контроль над системой.
2. Является ли Proxmox VE хорошим KVM-менеджером?
Да, Proxmox VE считается одним из лучших решений для управления виртуальными машинами на базе KVM. Он объединяет KVM и LXC, предлагает удобный веб-интерфейс, поддержку кластеров высокой доступности, резервного копирования, репликации хранилищ и другие функции корпоративного уровня.
Это мощный инструмент, подходящий как для небольших, так и для крупных виртуальных инфраструктур.
Заключение
Инструменты управления KVM, такие как libvirt, virt-manager и virsh, предлагают широкий спектр решений для эффективного управления виртуальными машинами. Независимо от использования командных инструментов для автоматизации или графических интерфейсов для удобства работы, эти инструменты упрощают задачи, такие как управление жизненным циклом ВМ, мониторинг ресурсов и управление образами дисков. Выбрав правильный инструмент под свои нужды, вы можете оптимизировать производительность и надежность вашей среды виртуализации KVM, сделав управление более эффективным.
поделиться: