
Этот учебник обсуждает введение в KVM, развертывание и то, как использовать его для создания виртуальных машин в дистрибутивах на основе RedHat, таких как RHEL/CentOS7 и Fedora 21.
Что такое KVM?
KVM или (Kernel-based Virtual Machine) – это полнофункциональное решение для виртуализации Linux на Intel 64 и AMD 64 оборудовании, которое включено в основной Linux ядро с версии 2.6.20 и является стабильным и быстрым для большинства рабочих нагрузок.
Особенности KVM
Существует множество полезных особенностей и преимуществ, которые вы получите, используя KVM для развертывания вашей виртуальной платформы. Гипервизор KVM поддерживает следующие функции:
- Перераспределение: Это означает выделение большего количества виртуализированных CPU или памяти, чем доступные ресурсы на системе.
- Тонкое предоставление: Которое позволяет выделять гибкое хранилище и оптимизировать доступное пространство для каждой гостевой виртуальной машины.
- Ограничение дисковой I/O: Предоставляет возможность установить лимит на дисковые I/O запросы, отправляемые от виртуальных машин к хост-машине.
- Автоматическое балансирование NUMA: Улучшает производительность приложений, работающих на системах с NUMA оборудованием.
- Возможность добавления виртуального CPU в горячем режиме: Предоставляет возможность увеличивать вычислительную мощность по мере необходимости на работающих виртуальных машинах без простоя.
Это наша первая серия KVM (Kernel-based Virtual Machine), здесь мы будем рассматривать следующие статьи по частям.
Требования
Убедитесь, что ваша система имеет расширения аппаратной виртуализации: для хостов на базе процессоров Intel проверьте наличие расширения виртуализации процессора [vmx] с помощью следующей команды.
[root@server ~]# grep -e 'vmx' /proc/cpuinfo

Для хостов на базе процессоров AMD убедитесь, что расширение виртуализации процессора [svm] доступно.
[root@server ~]# grep -e 'svm' /proc/cpuinfo

Если вывод отсутствует, убедитесь, что расширения виртуализации включены в BIOS. Проверьте, что модули KVM загружены в ядро “они должны быть загружены по умолчанию”.
[root@server ~]# lsmod | grep kvm
Вывод должен содержать kvm_intel для хостов на базе Intel или kvm_amd для хостов на базе AMD.

Перед началом работы вам понадобится учетная запись root или не-root пользователь с настроенными привилегиями sudo на вашей системе, а также убедитесь, что ваша система обновлена.
[root@server ~]# yum update
Убедитесь, что Selinux находится в режиме Permissive.
[root@server ~]# setenforce 0
Шаг 1: Установка и развертывание KVM
1. Сначала мы установим пакеты qemu-kvm и qemu-img. Эти пакеты предоставляют пользовательский уровень KVM и менеджер образов дисков.
[root@server ~]# yum install qemu-kvm qemu-img
2. Теперь у вас есть минимальные требования для развертывания виртуальной платформы на вашем хосте, но у нас также есть полезные инструменты для администрирования нашей платформы, такие как:
- virt-manager предоставляет графический инструмент для администрирования ваших виртуальных машин.
- libvirt-client предоставляет инструмент командной строки для администрирования вашей виртуальной среды, этот инструмент называется virsh.
- virt-install предоставляет команду “virt-install” для создания ваших виртуальных машин из командной строки.
- libvirt предоставляет серверные и хост-библиотеки для взаимодействия с гипервизорами и хост-системами.
Давайте установим эти вышеуказанные инструменты с помощью следующей команды.
[root@server ~]# yum install virt-manager libvirt libvirt-python libvirt-client
3. Для пользователей RHEL/CentOS7 также требуется установить дополнительные группы пакетов, такие как: Виртуализация клиента, Виртуализационная платформа и Виртуализационные инструменты.
[root@server ~]#yum groupinstall virtualization-client virtualization-platform virtualization-tools
4. Демон виртуализации, управляющий всей платформой, называется «libvirtd». Давайте перезапустим его.
[root@server ~]#systemctl restart libvirtd
5. После перезапуска демона проверьте его статус, запустив следующую команду.
[root@server ~]#systemctl status libvirtd
Пример вывода
libvirtd.service - Virtualization daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled) Active: active (running) since Mon 2014-12-29 15:48:46 EET; 14s ago Main PID: 25701 (libvirtd)

Теперь перейдем к следующему разделу для создания наших виртуальных машин.
Шаг 2: Создание виртуальных машин с помощью KVM
Как мы упоминали ранее, у нас есть несколько полезных инструментов для управления нашей виртуальной платформой и создания виртуальных машин. Один из этих инструментов называется [virt-manager], который мы будем использовать в следующем разделе.
6. Хотя virt-manager является инструментом на основе графического интерфейса, мы также можем запускать его из терминала, а также из графического интерфейса.
[root@server ~]#virt-manager
Используя GNOME

Используя классический интерфейс GNOME

7. После запуска инструмента появится это окно.

8. По умолчанию вы обнаружите, что менеджер подключен непосредственно к localhost, к счастью, вы также можете использовать этот же инструмент для удаленного управления другим хостом. Во вкладке «Файл» просто выберите «Добавить подключение», и появится это окно.

Выберите опцию “Подключиться к удаленному хосту“, затем укажите Имя хоста/IP-адрес удаленного сервера. Если вам нужно устанавливать соединение с удаленным хостом каждый раз при запуске менеджера, просто отметьте опцию “Автоматическое подключение“.
9. Вернемся к нашему локальному хосту, прежде чем создавать новую виртуальную машину, вам следует решить, где будут храниться файлы?! другими словами, вам следует создать Дисковый объем (Виртуальный диск / Образ диска) для вашей виртуальной машины.
Щелкните правой кнопкой мыши на локальном хосте и выберите ” Детали“, затем выберите вкладку ” Хранилище“.


10. Затем нажмите кнопку ” Новый объем“, затем введите имя вашего нового виртуального диска (Дисковый объем) и введите размер, который вам нужен, в разделе ” Максимальная емкость“.

Размер выделения – это фактический размер вашего диска, который будет выделен немедленно с вашего физического диска после завершения шагов.
Примечание: Это важная технология в области администрирования хранилищ, которая называется ” тонкое выделение“. Она используется для выделения только используемого размера хранилища, а не всего доступного размера.
Например, вы создали виртуальный диск размером 60G, но вы фактически использовали только 20G, используя эту технологию, выделенный размер с вашего физического жесткого диска будет 20G, а не 60G.
Физический размер будет динамически выделяться в зависимости от фактического использованного размера. Более подробную информацию можно найти в VMWare vStorage Thin Provisioning.
11. Обратите внимание, что метка нового диска объема появилась в списке.

Также обратите внимание на путь нового образа диска (Диск объема), по умолчанию он будет находиться в /var/lib/libvirt/images, вы можете проверить это, используя следующую команду.
[root@server Downloads]# ls -l /var/lib/libvirt/images -rw-------. 1 root root 10737418240 Jan 3 16:47 vm1Storage.img
12. Теперь мы готовы создать нашу виртуальную машину. Нажмите кнопку “VM” в главном окне, появится окно мастера.

Выберите метод установки, который вы будете использовать для создания виртуальной машины. На данный момент мы будем использовать локальные средства установки, позже мы обсудим оставшиеся методы.
13. Теперь пришло время указать, какие локальные средства установки будут использоваться, у нас есть два варианта:
- С физического [CDROM/DVD].
- С образа ISO.
Для нашего учебного пособия давайте использовать метод с образом ISO, поэтому вам следует указать путь к вашему образу ISO.

Важно: К сожалению, есть действительно глупая ошибка для тех, кто использует RHEL/CentOS7. Эта ошибка не позволяет вам установить с использованием физического [CDROM/DVD], вы увидите, что опция серая, как здесь.

И если вы наведете курсор на нее, появится это сообщение об ошибке.

До сих пор нет официального/прямого решения для этой ошибки, вы можете найти больше информации по этому веб-адресу: https://bugzilla.redhat.com.
14. Хранилище вернулось, мы будем использовать виртуальный диск, который мы создали ранее, чтобы установить на него виртуальную машину. Это будет как показано.

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

Если вы хотите изменить некоторые настройки или выполнить настройку, просто установите флажок “Настроить конфигурацию перед установкой”. Затем нажмите “Завершить” и подождите несколько секунд, управляющая консоль появится для вашей гостевой ОС для управления ею

Заключение
Теперь вы узнали, что такое KVM, как управлять вашей виртуальной платформой с помощью графических инструментов, как развернуть виртуальную машину с его помощью и другие потрясающие вещи.
Хотя это не конец статьи, в наших предстоящих статьях мы обсудим другие важные темы, связанные с KVM. Попробуйте применить полученные знания на практике и будьте готовы к следующей части…
Source:
https://www.tecmint.com/install-and-configure-kvm-in-linux/